/* === V46: var(--font-body),forçado corretamente === */




:root {
  --font-main: var(--font-body), Arial, Helvetica, sans-serif;
}

:root{
  --font-main:var(--font-body), Arial, Helvetica, sans-serif;
}

html,
body,
button,
input,
textarea,
select{
  font-family:var(--font-main) !important;
}

h1,h2,h3,h4,h5,h6,
.logo,
.nav-links,
.btn,
.admin-body,
.admin-body *{
  font-family:var(--font-main) !important;
}


:root{
  --bg:#f7f4ff;--surface:#ffffff;--surface2:#fff8e9;--dark:#1f1b2d;--text:#2f2940;--muted:#746d84;
  --pink:#ff4fa3;--orange:#ff8a3d;--purple:#7c4dff;--blue:#28b6f6;--green:#31d17c;--yellow:#ffd84d;
  --border:rgba(31,27,45,.10);--shadow:0 18px 48px rgba(31,27,45,.12);--radius:24px;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Arial,sans-serif;background:linear-gradient(180deg,#fff8e9,#fff 42%,#f5fbff);color:var(--text)}
a{text-decoration:none;color:inherit}.container{width:min(1160px,calc(100% - 36px));margin:auto}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:12px 18px;font-weight:850;cursor:pointer;transition:.2s;font-family:inherit}
.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--orange),var(--pink));color:#fff;box-shadow:0 12px 24px rgba(255,79,163,.23)}
.btn-secondary{background:#fff;color:var(--text);border:1px solid var(--border);box-shadow:0 10px 24px rgba(31,27,45,.06)}.btn-danger{background:#ffe2e2;color:#9c1111}.btn-full{width:100%}
.topbar{background:var(--dark);color:white;padding:10px 0;font-size:14px}.topbar .container{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.site-header{position:sticky;top:0;z-index:10;background:rgba(255,248,233,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}
.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px}.logo{font-size:24px;font-weight:900}.logo-mark{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:18px;background:conic-gradient(from 140deg,var(--pink),var(--yellow),var(--green),var(--blue),var(--purple),var(--pink));color:#fff;margin-right:10px;box-shadow:var(--shadow)}
.nav-links{display:flex;gap:18px;align-items:center}.nav-links a{font-weight:850;color:#393246}
.hero{padding:80px 0}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}.eyebrow{display:inline-flex;background:white;color:var(--purple);padding:9px 14px;border-radius:999px;font-weight:900;box-shadow:0 10px 26px rgba(31,27,45,.08)}
h1,h2,h3{margin:0;line-height:1;font-weight:900}h1{font-size:clamp(42px,7vw,78px);letter-spacing:-2px}h2{font-size:clamp(32px,5vw,52px)}p{color:var(--muted);line-height:1.7}.gradient{background:linear-gradient(135deg,var(--orange),var(--pink),var(--purple));-webkit-background-clip:text;color:transparent}
.hero-art{min-height:480px;border-radius:42px;background:linear-gradient(160deg,#fff,#fff3c4);box-shadow:var(--shadow);position:relative;display:grid;place-items:center;overflow:hidden;border:8px solid white}
.hero-art:before{content:"";position:absolute;width:78%;height:68%;border-radius:36px;background:linear-gradient(135deg,var(--blue),var(--purple))}.hero-art span{z-index:1;background:linear-gradient(135deg,var(--pink),var(--orange));color:white;border-radius:36px;padding:50px;font-size:88px;font-weight:900}
section{padding:62px 0}.section-title{text-align:center;margin-bottom:34px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card,.product,.legal-card{background:white;border:1px solid var(--border);border-radius:28px;padding:24px;box-shadow:0 14px 34px rgba(31,27,45,.08)}
.product{padding:0;overflow:hidden}.product-img{height:220px;display:grid;place-items:center;background:linear-gradient(135deg,var(--pink),var(--orange));color:#fff;font-size:64px;font-weight:900}.product-img img{width:100%;height:100%;object-fit:cover}.product-body{padding:22px}.tag{display:inline-flex;background:#f4f1ff;color:var(--purple);font-size:13px;font-weight:900;border-radius:999px;padding:7px 10px;margin-bottom:10px}
.detail-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:30px}.main-img{height:460px;border-radius:28px;background:linear-gradient(135deg,var(--pink),var(--orange));display:grid;place-items:center;color:white;font-size:84px;font-weight:900;overflow:hidden}.main-img img{width:100%;height:100%;object-fit:cover}.thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}.thumb{height:110px;border-radius:18px;background:#fff3c4;display:grid;place-items:center;overflow:hidden;font-weight:900}.thumb img{width:100%;height:100%;object-fit:cover}
.info-row{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid #eee}.contact-box{background:var(--dark);color:white}.contact-box p{color:rgba(255,255,255,.78)}input,textarea,select{width:100%;padding:13px 14px;border:1px solid var(--border);border-radius:14px;margin:7px 0 13px;font:inherit;background:#fbfbfd}textarea{min-height:110px}
footer{background:var(--dark);color:#fff;padding:38px 0;margin-top:60px}.footer-grid{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:rgba(255,255,255,.8)}.footer-links a{margin-right:12px}.wa{position:fixed;right:22px;bottom:22px;background:#25d366;color:white;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;font-weight:900;box-shadow:0 14px 35px rgba(37,211,102,.35);z-index:20}

/* Admin */
.admin-body{background:var(--bg);min-height:100vh}.admin-layout{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{background:var(--dark);color:#fff;padding:24px;position:sticky;top:0;height:100vh}.brand{font-size:22px;font-weight:950;margin-bottom:26px;display:flex;align-items:center;gap:12px}.brand span{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--orange),var(--pink))}
.side-nav{display:grid;gap:9px}.side-nav a{padding:13px 14px;border-radius:16px;color:rgba(255,255,255,.82);font-weight:800}.side-nav a.active,.side-nav a:hover{background:rgba(255,255,255,.12);color:white}.sidebar-footer{position:absolute;bottom:24px;left:24px;right:24px}
.admin-main{padding:28px}.admin-top{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px}.admin-title h1{font-size:36px;margin-bottom:5px}.admin-title p{margin:0}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.metric{background:white;border:1px solid var(--border);border-radius:24px;padding:20px;box-shadow:0 10px 28px rgba(31,27,45,.06)}.metric strong{display:block;font-size:30px;color:var(--pink);margin-bottom:5px}
.panel{background:white;border:1px solid var(--border);border-radius:28px;padding:24px;box-shadow:var(--shadow);margin-bottom:22px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.admin-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.field label{display:block;font-weight:900;font-size:13px;margin-bottom:6px;color:#3d3650}
.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{padding:14px;border-bottom:1px solid #eee;text-align:left;vertical-align:middle}.table th{font-size:13px;text-transform:uppercase;color:var(--muted)}.thumb-admin{width:70px;height:54px;border-radius:14px;background:#fff3c4;object-fit:cover;display:grid;place-items:center;font-weight:900}.actions{display:flex;gap:8px;flex-wrap:wrap}
.upload-box{border:2px dashed rgba(124,77,255,.28);background:#fbf9ff;border-radius:22px;padding:18px;text-align:center;position:relative}.upload-box input[type=file]{display:none}.upload-label{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 18px;border-radius:999px;background:linear-gradient(135deg,var(--purple),var(--pink));color:white;font-weight:900;cursor:pointer}.preview-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:14px}.preview-item{height:92px;border-radius:16px;background:#fff3c4;display:grid;place-items:center;overflow:hidden;border:1px solid var(--border)}.preview-item img{width:100%;height:100%;object-fit:cover}.hint{font-size:13px;color:var(--muted);margin-top:8px}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:22px}.login-card{width:min(460px,100%);background:white;border:1px solid var(--border);border-radius:32px;padding:34px;box-shadow:var(--shadow)}.alert{background:#ffe6e6;color:#9c1111;padding:12px 14px;border-radius:14px;font-weight:800}.success{background:#e8fff3;color:#126b3b}
.mobile-bar{display:none;background:var(--dark);color:#fff;padding:14px 18px;justify-content:space-between;align-items:center}.mobile-bar button{background:white;border:0;border-radius:12px;padding:9px 12px;font-weight:900}
@media(max-width:1000px){.admin-layout{grid-template-columns:1fr}.sidebar{display:none;position:fixed;z-index:50;left:0;top:0;width:280px}.sidebar.open{display:block}.mobile-bar{display:flex}.metric-grid{grid-template-columns:repeat(2,1fr)}.admin-grid,.admin-grid-3{grid-template-columns:1fr}.admin-main{padding:18px}.hero-grid,.detail-grid{grid-template-columns:1fr}.grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.grid,.metric-grid{grid-template-columns:1fr}.nav-links{display:none}.hero-art{min-height:320px}.thumbs,.preview-grid{grid-template-columns:repeat(2,1fr)}h1{letter-spacing:-1px}}


.service-img{height:180px;border-radius:22px;margin-bottom:18px;background:linear-gradient(135deg,var(--blue),var(--purple));display:grid;place-items:center;color:white;font-size:42px;font-weight:900;overflow:hidden}
.service-img img{width:100%;height:100%;object-fit:cover}
.hero-banner-img{min-height:480px;border-radius:42px;background:linear-gradient(160deg,#fff,#fff3c4);box-shadow:var(--shadow);position:relative;display:grid;place-items:center;overflow:hidden;border:8px solid white}
.hero-banner-img img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.hero-banner-placeholder{z-index:1;background:linear-gradient(135deg,var(--pink),var(--orange));color:white;border-radius:36px;padding:50px;font-size:88px;font-weight:900}
.existing-images{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:14px}
.existing-image{position:relative;height:98px;border-radius:16px;overflow:hidden;background:#fff3c4;border:1px solid var(--border)}
.existing-image img{width:100%;height:100%;object-fit:cover}
.remove-image-check{position:absolute;top:6px;right:6px;background:rgba(255,255,255,.95);border-radius:999px;padding:5px 8px;font-size:12px;font-weight:900;color:#9c1111}
.remove-image-check input{width:auto;margin:0 4px 0 0}
@media(max-width:620px){.existing-images{grid-template-columns:repeat(2,1fr)}.hero-banner-img{min-height:320px}}


/* Footer estilo imagem de referência */
footer.site-footer{
  background:#172131;
  color:#d9e1ee;
  padding:44px 0 24px;
  margin-top:70px;
}
.footer-main{
  display:grid;
  grid-template-columns:1.15fr .9fr 1.15fr;
  gap:70px;
  align-items:start;
}
.footer-logo{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:18px;
}
.footer-logo-mark{
  width:126px;
  height:58px;
  display:grid;
  place-items:center;
  color:#ffd000;
  font-size:34px;
  font-weight:950;
  font-style:normal;
  letter-spacing:-2px;
}
.footer-logo-mark small{
  display:block;
  color:#ffd000;
  font-size:11px;
  letter-spacing:0;
  margin-top:-7px;
}
.footer-logo-owl{
  width:42px;
  height:42px;
  border-radius:50%;
  background:#f5f7fb;
  display:grid;
  place-items:center;
  font-size:24px;
  margin-left:-12px;
}
.footer-about{
  max-width:440px;
  color:#d9e1ee;
  line-height:1.65;
  margin:0 0 18px;
}
.footer-socials{
  display:flex;
  gap:12px;
}
.footer-social{
  width:36px;
  height:36px;
  border-radius:50%;
  background:rgba(255,255,255,.13);
  display:grid;
  place-items:center;
  color:white;
  font-weight:900;
  transition:.2s ease;
}
.footer-social:hover{
  background:#ffc400;
  color:#172131;
  transform:translateY(-2px);
}
.footer-title{
  color:#ffc400;
  font-size:17px;
  font-weight:950;
  margin:0 0 22px;
}
.footer-nav-list,
.footer-contact-list{
  display:grid;
  gap:14px;
}
.footer-nav-list a{
  color:#d9e1ee;
  transition:.2s ease;
}
.footer-nav-list a:hover{
  color:#ffc400;
  padding-left:4px;
}
.footer-contact-item{
  display:grid;
  grid-template-columns:22px 1fr;
  gap:10px;
  align-items:start;
  color:#d9e1ee;
}
.footer-contact-icon{
  color:#d9e1ee;
  opacity:.9;
  font-weight:900;
}
.footer-divider{
  height:1px;
  background:rgba(255,255,255,.18);
  margin:34px 0 24px;
}
.footer-copy{
  text-align:center;
  color:rgba(217,225,238,.68);
  font-size:14px;
}
.footer-legal-row{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:14px;
  margin-top:14px;
}
.footer-legal-row a{
  color:rgba(217,225,238,.72);
  font-size:13px;
}
.footer-legal-row a:hover{
  color:#ffc400;
}

@media(max-width:850px){
  .footer-main{
    grid-template-columns:1fr;
    gap:34px;
  }
}


/* Admin Premium Moderno */
.admin-body{
  background:#f8f3e8;
  min-height:100vh;
  color:#12182b;
}

.admin-layout{
  display:grid;
  grid-template-columns:270px 1fr;
  min-height:100vh;
}

.sidebar{
  background:#ffffff;
  color:#12182b;
  padding:18px 14px;
  position:sticky;
  top:0;
  height:100vh;
  border-right:1px solid rgba(18,24,43,.08);
  box-shadow:8px 0 30px rgba(18,24,43,.04);
}

.brand{
  height:58px;
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 28px;
  padding:0 6px;
  font-size:16px;
  font-weight:950;
  color:#12182b;
}

.brand span{
  width:96px;
  height:42px;
  border-radius:0;
  background:transparent;
  color:#12182b;
  position:relative;
  font-size:0;
}

.brand span::before{
  content:"Pinto";
  position:absolute;
  left:0;
  top:2px;
  color:#ffd000;
  font-size:31px;
  font-style:normal;
  font-weight:950;
  letter-spacing:-2px;
  text-shadow:0 1px 0 #12182b;
}

.brand span::after{
  content:"🦉";
  position:absolute;
  right:2px;
  top:-2px;
  font-size:25px;
  text-shadow:none;
}

.brand::after{
  content:"Backoffice";
  font-size:15px;
  font-weight:950;
  margin-left:-8px;
}

.side-nav{
  display:grid;
  gap:8px;
}

.side-nav a{
  display:flex;
  align-items:center;
  gap:12px;
  padding:13px 14px;
  border-radius:18px;
  color:#46506a;
  font-weight:850;
  transition:.2s ease;
  letter-spacing:.01em;
}

.side-nav a::before{
  width:22px;
  text-align:center;
  opacity:.78;
  font-size:17px;
}

.side-nav a[href="index.php"]::before{content:"⌘";}
.side-nav a[href="home.php"]::before{content:"▧";}
.side-nav a[href="about.php"]::before{content:"ⓘ";}
.side-nav a[href="services.php"]::before{content:"✧";}
.side-nav a[href="inflatables.php"]::before{content:"☷";}
.side-nav a[href="mascots.php"]::before{content:"♙";}
.side-nav a[href="contacts.php"]::before{content:"☏";}
.side-nav a[href="../index.php"]::before{content:"↗";}

.side-nav a.active,
.side-nav a:hover{
  background:#ec2972;
  color:white;
  box-shadow:0 14px 28px rgba(236,41,114,.22);
}

.sidebar-footer{
  position:absolute;
  bottom:18px;
  left:14px;
  right:14px;
  display:grid;
  gap:12px;
}

.sidebar-footer .btn{
  border-radius:16px;
  background:#fffaf0;
  color:#12182b;
  border:1px solid rgba(18,24,43,.09);
  box-shadow:none;
  justify-content:center;
}

.sidebar-footer .btn:hover{
  background:#ec2972;
  color:white;
}

.admin-main{
  padding:34px 48px;
  max-width:1280px;
  width:100%;
  margin:0 auto;
}

.admin-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  margin-bottom:28px;
}

.admin-title h1{
  font-size:34px;
  letter-spacing:-.8px;
  color:#11172a;
  margin:0 0 8px;
}

.admin-title p{
  color:#62708d;
  margin:0;
}

.metric-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin-bottom:30px;
}

.metric{
  background:white;
  border:1px solid rgba(18,24,43,.06);
  border-radius:18px;
  padding:26px;
  box-shadow:0 14px 32px rgba(18,24,43,.06);
  min-height:150px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
  overflow:hidden;
}

.metric::before{
  content:"";
  position:absolute;
  width:58px;
  height:58px;
  right:18px;
  top:18px;
  border-radius:20px;
  background:rgba(236,41,114,.08);
}

.metric::after{
  content:"✧";
  position:absolute;
  right:35px;
  top:29px;
  color:#ec2972;
  font-size:23px;
  font-weight:900;
}

.metric:nth-child(2)::after{content:"☷";}
.metric:nth-child(3)::after{content:"✉";}
.metric:nth-child(4)::after{content:"♙";}

.metric strong{
  display:block;
  font-size:32px;
  color:#10162a;
  margin:28px 0 6px;
  font-weight:950;
}

.metric span{
  color:#53607c;
  font-weight:750;
}

.panel{
  background:white;
  border:1px solid rgba(18,24,43,.06);
  border-radius:18px;
  padding:28px;
  box-shadow:0 16px 38px rgba(18,24,43,.06);
  margin-bottom:24px;
}

.panel-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin-bottom:22px;
}

.panel-head h2{
  font-size:22px;
  color:#11172a;
  letter-spacing:-.3px;
}

.panel-head p{
  color:#62708d;
  margin:7px 0 0;
}

.admin-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}

.admin-grid-3{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.field label{
  display:block;
  color:#202842;
  font-size:13px;
  font-weight:900;
  margin-bottom:8px;
}

.admin-body input,
.admin-body textarea,
.admin-body select{
  background:#fbfbfe;
  border:1px solid rgba(18,24,43,.1);
  border-radius:14px;
  padding:14px 15px;
  color:#12182b;
  transition:.2s ease;
}

.admin-body input:focus,
.admin-body textarea:focus,
.admin-body select:focus{
  outline:none;
  border-color:#ec2972;
  box-shadow:0 0 0 4px rgba(236,41,114,.1);
}

.admin-body textarea{
  min-height:120px;
}

.admin-body .btn-primary{
  background:#ec2972;
  box-shadow:0 14px 28px rgba(236,41,114,.22);
}

.admin-body .btn-secondary{
  background:#fffaf0;
  color:#12182b;
  border:1px solid rgba(18,24,43,.08);
  box-shadow:none;
}

.admin-body .btn-danger{
  background:#ffe9ee;
  color:#b11344;
}

.table-wrap{
  overflow:auto;
}

.table{
  width:100%;
  min-width:780px;
  border-collapse:separate;
  border-spacing:0 10px;
}

.table th{
  color:#7a849b;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.04em;
  padding:0 14px 8px;
  text-align:left;
}

.table td{
  background:#fbfbfe;
  border-top:1px solid rgba(18,24,43,.06);
  border-bottom:1px solid rgba(18,24,43,.06);
  padding:14px;
  vertical-align:middle;
}

.table tr td:first-child{
  border-left:1px solid rgba(18,24,43,.06);
  border-radius:16px 0 0 16px;
}

.table tr td:last-child{
  border-right:1px solid rgba(18,24,43,.06);
  border-radius:0 16px 16px 0;
}

.thumb-admin{
  width:76px;
  height:58px;
  border-radius:14px;
  background:#fff3c4;
  object-fit:cover;
  display:grid;
  place-items:center;
  font-weight:950;
  color:#ec2972;
}

.actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.upload-box{
  border:2px dashed rgba(236,41,114,.22);
  background:#fffafd;
  border-radius:18px;
  padding:20px;
  text-align:center;
}

.upload-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:13px 19px;
  border-radius:999px;
  background:#ec2972;
  color:white;
  font-weight:950;
  cursor:pointer;
  box-shadow:0 14px 28px rgba(236,41,114,.2);
}

.preview-grid,
.existing-images{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
  margin-top:16px;
}

.preview-item,
.existing-image{
  height:100px;
  border-radius:16px;
  overflow:hidden;
  background:#fff3c4;
  border:1px solid rgba(18,24,43,.08);
}

.preview-item img,
.existing-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.remove-image-check{
  position:absolute;
  top:7px;
  right:7px;
  background:white;
  border-radius:999px;
  padding:6px 9px;
  font-size:12px;
  font-weight:950;
  color:#b11344;
}

.login-wrap{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:24px;
  background:#f8f3e8;
}

.login-card{
  width:min(480px,100%);
  background:white;
  border:1px solid rgba(18,24,43,.06);
  border-radius:24px;
  padding:36px;
  box-shadow:0 18px 48px rgba(18,24,43,.08);
}

.login-card h1{
  font-size:32px;
  margin:16px 0 8px;
}

.alert{
  border-radius:14px;
  padding:13px 15px;
  font-weight:850;
  margin:14px 0;
}

.success{
  background:#e8fff3;
  color:#126b3b;
}

.mobile-bar{
  display:none;
  background:white;
  border-bottom:1px solid rgba(18,24,43,.08);
  padding:14px 18px;
  justify-content:space-between;
  align-items:center;
  color:#12182b;
}

.mobile-bar button{
  background:#ec2972;
  color:white;
  border:0;
  border-radius:12px;
  padding:9px 13px;
  font-weight:900;
}

@media(max-width:1000px){
  .admin-layout{
    grid-template-columns:1fr;
  }

  .sidebar{
    display:none;
    position:fixed;
    z-index:50;
    left:0;
    top:0;
    width:285px;
  }

  .sidebar.open{
    display:block;
  }

  .mobile-bar{
    display:flex;
  }

  .admin-main{
    padding:22px;
  }

  .metric-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .admin-grid,
  .admin-grid-3{
    grid-template-columns:1fr;
  }
}

@media(max-width:620px){
  .metric-grid{
    grid-template-columns:1fr;
  }

  .preview-grid,
  .existing-images{
    grid-template-columns:repeat(2,1fr);
  }
}

.footer-admin-link{
  color:#ffc400;
  font-weight:800;
}
.footer-admin-link:hover{
  text-decoration:underline;
}

.admin-top .btn-primary{
  white-space:nowrap;
}
@media(max-width:620px){
  .admin-top{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* Homepage estilo hero banner enviado */
.home-page{
  background:#fffaf0;
}

.home-style-header{
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(18,24,43,.06);
  box-shadow:0 2px 18px rgba(18,24,43,.05);
  position:sticky;
  top:0;
  z-index:40;
}

.home-style-header .nav{
  min-height:70px;
}

.home-style-header .logo{
  display:flex;
  align-items:center;
  min-width:150px;
}

.home-style-header .logo-mark{
  width:118px;
  height:48px;
  background:transparent;
  box-shadow:none;
  color:#ffd000;
  font-size:0;
  position:relative;
  margin:0;
}

.home-style-header .logo-mark::before{
  content:"Pinto";
  position:absolute;
  left:0;
  top:5px;
  color:#ffd000;
  font-size:34px;
  font-style:normal;
  font-weight:950;
  letter-spacing:-2px;
  text-shadow:0 1px 0 #12182b;
}

.home-style-header .logo-mark::after{
  content:"🦉";
  position:absolute;
  right:6px;
  top:3px;
  font-size:28px;
  text-shadow:none;
}

.home-style-header .nav-links{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:34px;
  flex:1;
}

.home-style-header .nav-links a{
  text-transform:uppercase;
  font-size:14px;
  letter-spacing:.04em;
  font-weight:850;
  color:#424b5f;
  transition:.2s ease;
}

.home-style-header .nav-links a:hover,
.home-style-header .nav-links a:first-child{
  color:#ec2972;
}

.home-style-header .nav-budget-btn{
  background:linear-gradient(135deg,#ef3f65,#ff9f16);
  border-radius:999px;
  padding:13px 24px;
  font-size:14px;
  color:white;
  box-shadow:0 10px 24px rgba(239,63,101,.22);
  white-space:nowrap;
}

.home-hero-banner{
  min-height:calc(100vh - 70px);
  max-height:840px;
  height:760px;
  display:grid;
  place-items:center;
  position:relative;
  background:
    linear-gradient(rgba(6,17,34,.52), rgba(6,17,34,.52)),
    radial-gradient(circle at 20% 20%, rgba(255,79,163,.32), transparent 280px),
    linear-gradient(135deg,#33b8f6,#ffd84d);
  background-size:cover;
  background-position:center;
  overflow:hidden;
}

.home-hero-banner::before,
.home-hero-banner::after{
  content:"";
  position:absolute;
  width:280px;
  height:280px;
  border-radius:50%;
  background:rgba(255,255,255,.12);
  filter:blur(1px);
}

.home-hero-banner::before{
  left:-90px;
  bottom:-100px;
}

.home-hero-banner::after{
  right:-90px;
  top:80px;
}

.home-hero-content{
  width:min(900px,calc(100% - 32px));
  text-align:center;
  color:white;
  position:relative;
  z-index:2;
  padding-top:30px;
}

.home-hero-content h1{
  font-size:clamp(46px,6.8vw,78px);
  line-height:1.04;
  letter-spacing:-2px;
  color:#fffaf0;
  text-shadow:0 8px 24px rgba(0,0,0,.22);
  margin-bottom:24px;
}

.home-hero-content h1 span{
  color:#ffc928;
}

.home-hero-content p{
  color:white;
  font-size:clamp(18px,2vw,22px);
  line-height:1.55;
  max-width:780px;
  margin:0 auto 34px;
  text-shadow:0 4px 16px rgba(0,0,0,.25);
}

.home-hero-actions{
  display:flex;
  justify-content:center;
  gap:18px;
  flex-wrap:wrap;
}

.hero-btn-main{
  background:linear-gradient(135deg,#ef3f65,#ff9f16);
  color:white;
  border-radius:999px;
  padding:18px 34px;
  font-size:18px;
  box-shadow:0 14px 34px rgba(239,63,101,.32);
}

.hero-btn-light{
  background:white;
  color:#11172a;
  border-radius:999px;
  padding:18px 34px;
  font-size:18px;
  box-shadow:0 14px 34px rgba(0,0,0,.16);
}

.hero-btn-main span{
  font-size:23px;
  line-height:0;
}

@media(max-width:900px){
  .home-style-header .nav-links{
    display:none;
  }

  .home-style-header .nav{
    justify-content:space-between;
  }

  .home-hero-banner{
    height:680px;
    min-height:620px;
  }
}

@media(max-width:620px){
  .home-style-header .nav-budget-btn{
    display:none;
  }

  .home-hero-banner{
    height:620px;
    min-height:580px;
  }

  .home-hero-content h1{
    letter-spacing:-1px;
  }

  .hero-btn-main,
  .hero-btn-light{
    width:100%;
  }
}


/* Página Sobre estilo referência */
.about-page{
  background:#fffaf0;
}

.about-hero{
  padding:54px 0 34px;
}

.about-hero-card{
  min-height:190px;
  border-radius:18px;
  display:grid;
  place-items:center;
  text-align:center;
  padding:34px 24px;
  color:white;
  background:
    linear-gradient(110deg, rgba(236,41,114,.88), rgba(255,149,30,.86), rgba(255,216,77,.82)),
    radial-gradient(circle at 10% 20%, rgba(255,255,255,.22), transparent 210px),
    linear-gradient(135deg,#ec2972,#ff9f16);
  overflow:hidden;
  position:relative;
}

.about-hero-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 12% 18%, rgba(255,255,255,.16), transparent 190px),
    radial-gradient(circle at 84% 35%, rgba(255,255,255,.14), transparent 180px);
  pointer-events:none;
}

.about-hero-card h1{
  position:relative;
  z-index:1;
  color:white;
  font-size:clamp(34px,5vw,50px);
  letter-spacing:-1px;
  margin-bottom:12px;
}

.about-hero-card p{
  position:relative;
  z-index:1;
  color:white;
  margin:0;
  max-width:520px;
  font-weight:800;
  line-height:1.55;
}

.about-story-section{
  padding:28px 0 66px;
}

.about-story-grid{
  display:grid;
  grid-template-columns:1fr .95fr;
  gap:64px;
  align-items:center;
}

.about-kicker,
.about-section-title span{
  display:block;
  text-transform:uppercase;
  color:#ec2972;
  font-size:12px;
  font-weight:950;
  letter-spacing:.08em;
  margin-bottom:10px;
}

.about-story-text h2{
  font-size:clamp(28px,4vw,38px);
  color:#11172a;
  letter-spacing:-.7px;
  margin-bottom:22px;
}

.about-story-text h2 span{
  color:#ec2972;
}

.about-story-text p{
  color:#53607c;
  font-size:15px;
  line-height:1.85;
  margin-bottom:18px;
}

.about-pink-btn{
  background:#ec2972;
  color:white;
  border-radius:10px;
  padding:13px 22px;
  box-shadow:0 14px 28px rgba(236,41,114,.22);
}

.about-stats-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}

.about-stat-card{
  min-height:118px;
  background:white;
  border-radius:14px;
  display:grid;
  place-items:center;
  text-align:center;
  padding:24px;
  box-shadow:0 14px 30px rgba(18,24,43,.08);
  border:1px solid rgba(18,24,43,.05);
}

.about-stat-card strong{
  display:block;
  color:#ec2972;
  font-size:29px;
  font-weight:950;
  line-height:1;
  margin-bottom:7px;
}

.about-stat-card span{
  color:#53607c;
  font-size:12px;
  font-weight:750;
}

.about-values-section{
  padding:16px 0 62px;
}

.about-section-title{
  text-align:center;
  margin-bottom:36px;
}

.about-section-title h2{
  font-size:clamp(28px,4vw,36px);
  color:#11172a;
  letter-spacing:-.5px;
}

.about-values-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}

.about-value-card{
  background:white;
  border-radius:14px;
  text-align:center;
  padding:28px 20px;
  box-shadow:0 14px 30px rgba(18,24,43,.08);
  border:1px solid rgba(18,24,43,.05);
}

.about-value-icon{
  width:50px;
  height:50px;
  margin:0 auto 18px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:white;
  font-size:23px;
  font-weight:950;
  background:linear-gradient(135deg,#ef3f65,#ff9f16);
}

.about-value-card h3{
  font-size:16px;
  color:#11172a;
  margin-bottom:10px;
}

.about-value-card p{
  font-size:13px;
  color:#53607c;
  line-height:1.65;
  margin:0;
}

.about-team-section{
  padding:6px 0 78px;
}

.about-team-card{
  background:white;
  border-radius:18px;
  text-align:center;
  padding:44px 24px;
  box-shadow:0 14px 30px rgba(236,41,114,.09);
  border:1px solid rgba(236,41,114,.12);
}

.about-team-icon{
  color:#ec2972;
  font-size:28px;
  margin-bottom:14px;
}

.about-team-card h2{
  color:#11172a;
  font-size:clamp(24px,4vw,32px);
  margin-bottom:18px;
}

.about-team-card p{
  color:#53607c;
  max-width:620px;
  margin:0 auto 24px;
  font-size:15px;
  line-height:1.7;
}

@media(max-width:900px){
  .about-story-grid{
    grid-template-columns:1fr;
    gap:34px;
  }

  .about-values-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:620px){
  .about-hero{
    padding-top:28px;
  }

  .about-stats-grid,
  .about-values-grid{
    grid-template-columns:1fr;
  }

  .about-hero-card{
    min-height:230px;
  }
}


/* Backoffice Minimalista V12 */
.admin-body{
  background:#faf7ef !important;
  color:#172033 !important;
}

.admin-layout{
  grid-template-columns:230px 1fr !important;
}

.sidebar{
  background:#ffffff !important;
  border-right:1px solid #ece7dc !important;
  box-shadow:none !important;
  padding:22px 12px !important;
}

.brand{
  height:auto !important;
  margin-bottom:30px !important;
  padding:0 10px !important;
  font-size:15px !important;
}

.brand span{
  width:70px !important;
  height:34px !important;
}

.brand span::before{
  font-size:25px !important;
  top:1px !important;
}

.brand span::after{
  font-size:20px !important;
  right:0 !important;
}

.brand::after{
  content:"Admin" !important;
  font-size:14px !important;
  margin-left:-4px !important;
}

.side-nav{
  gap:2px !important;
}

.side-nav a{
  border-radius:10px !important;
  padding:11px 12px !important;
  color:#5c6474 !important;
  font-size:14px !important;
  font-weight:700 !important;
  box-shadow:none !important;
}

.side-nav a::before{
  display:none !important;
}

.side-nav a.active,
.side-nav a:hover{
  background:#f4edf2 !important;
  color:#e72b73 !important;
  box-shadow:none !important;
}

.sidebar-footer{
  left:12px !important;
  right:12px !important;
  bottom:16px !important;
  gap:8px !important;
}

.sidebar-footer .btn{
  background:#faf7ef !important;
  border:1px solid #ece7dc !important;
  border-radius:10px !important;
  color:#333b4d !important;
  padding:10px 12px !important;
  font-size:13px !important;
  box-shadow:none !important;
}

.admin-main{
  max-width:1120px !important;
  padding:32px 42px !important;
}

.admin-top{
  margin-bottom:22px !important;
}

.admin-title h1{
  font-size:30px !important;
  letter-spacing:-.4px !important;
}

.admin-title p{
  font-size:14px !important;
  color:#707989 !important;
}

.metric-grid{
  grid-template-columns:repeat(4,1fr) !important;
  gap:12px !important;
  margin-bottom:22px !important;
}

.metric{
  min-height:auto !important;
  padding:18px !important;
  border-radius:14px !important;
  box-shadow:none !important;
  border:1px solid #eee8dc !important;
}

.metric::before,
.metric::after{
  display:none !important;
}

.metric strong{
  margin:0 0 4px !important;
  font-size:27px !important;
  color:#e72b73 !important;
}

.metric span{
  font-size:13px !important;
  color:#657083 !important;
}

.panel{
  border-radius:16px !important;
  box-shadow:none !important;
  border:1px solid #eee8dc !important;
  padding:22px !important;
  background:#fff !important;
}

.panel-head{
  margin-bottom:18px !important;
}

.panel-head h2{
  font-size:20px !important;
}

.panel-head p{
  font-size:14px !important;
}

.admin-grid,
.admin-grid-3{
  gap:14px !important;
}

.field label{
  font-size:13px !important;
  margin-bottom:6px !important;
}

.admin-body input,
.admin-body textarea,
.admin-body select{
  border-radius:10px !important;
  padding:12px 13px !important;
  background:#fff !important;
  border:1px solid #e7e0d4 !important;
  box-shadow:none !important;
}

.admin-body input:focus,
.admin-body textarea:focus,
.admin-body select:focus{
  border-color:#e72b73 !important;
  box-shadow:0 0 0 3px rgba(231,43,115,.08) !important;
}

.admin-body .btn{
  border-radius:10px !important;
  padding:10px 15px !important;
  font-size:14px !important;
  box-shadow:none !important;
}

.admin-body .btn-primary{
  background:#e72b73 !important;
  color:white !important;
  box-shadow:none !important;
}

.admin-body .btn-secondary{
  background:#faf7ef !important;
  border:1px solid #e7e0d4 !important;
  color:#333b4d !important;
}

.admin-body .btn-danger{
  background:#fff0f3 !important;
  color:#b21f4d !important;
}

.table{
  border-spacing:0 !important;
  min-width:720px !important;
}

.table th{
  padding:0 12px 10px !important;
  font-size:11px !important;
}

.table td{
  background:white !important;
  border-bottom:1px solid #f0eadf !important;
  border-top:0 !important;
  padding:13px 12px !important;
}

.table tr td:first-child,
.table tr td:last-child{
  border-left:0 !important;
  border-right:0 !important;
  border-radius:0 !important;
}

.thumb-admin{
  width:62px !important;
  height:48px !important;
  border-radius:10px !important;
}

.upload-box{
  background:#fff !important;
  border:1px dashed #d8cfbf !important;
  border-radius:14px !important;
  padding:16px !important;
}

.upload-label{
  background:#e72b73 !important;
  box-shadow:none !important;
  border-radius:10px !important;
  padding:11px 16px !important;
  font-size:14px !important;
}

.preview-grid,
.existing-images{
  grid-template-columns:repeat(5,80px) !important;
  gap:10px !important;
}

.preview-item,
.existing-image{
  height:76px !important;
  border-radius:10px !important;
}

.login-card{
  border-radius:18px !important;
  box-shadow:none !important;
  border:1px solid #eee8dc !important;
}

.login-card h1{
  font-size:28px !important;
}

.mobile-bar{
  background:white !important;
  border-bottom:1px solid #ece7dc !important;
  color:#172033 !important;
}

.mobile-bar button{
  background:#e72b73 !important;
  border-radius:10px !important;
}

@media(max-width:1000px){
  .admin-layout{
    grid-template-columns:1fr !important;
  }

  .admin-main{
    padding:22px !important;
  }

  .metric-grid{
    grid-template-columns:repeat(2,1fr) !important;
  }
}

@media(max-width:620px){
  .metric-grid{
    grid-template-columns:1fr !important;
  }

  .preview-grid,
  .existing-images{
    grid-template-columns:repeat(2,1fr) !important;
  }
}


/* Admin V13 - Listas em cards horizontais */
.admin-card-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.admin-list-card{
  background:white;
  border:1px solid #eee8dc;
  border-radius:18px;
  padding:18px;
  display:grid;
  grid-template-columns:118px 1fr;
  gap:18px;
  align-items:center;
  box-shadow:none;
  transition:.18s ease;
}

.admin-list-card:hover{
  transform:translateY(-1px);
  border-color:#ead8df;
  box-shadow:0 12px 26px rgba(18,24,43,.045);
}

.admin-list-image{
  width:118px;
  height:108px;
  border-radius:14px;
  background:#fff3c4;
  display:grid;
  place-items:center;
  overflow:hidden;
  color:#e72b73;
  font-weight:950;
  font-size:26px;
  flex-shrink:0;
}

.admin-list-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.admin-list-content h3{
  font-size:17px;
  margin:0 0 8px;
  color:#11172a;
}

.admin-list-content p{
  margin:0 0 14px;
  color:#657083;
  line-height:1.55;
  font-size:14px;
}

.admin-list-meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:12px;
}

.admin-chip{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:5px 9px;
  background:#faf7ef;
  border:1px solid #eee8dc;
  color:#657083;
  font-size:12px;
  font-weight:800;
}

.admin-chip.active{
  color:#126b3b;
  background:#e8fff3;
  border-color:#caf2dc;
}

.admin-chip.inactive{
  color:#9c1111;
  background:#fff0f3;
  border-color:#ffd5df;
}

.admin-list-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.admin-list-actions .btn{
  padding:9px 13px !important;
}

.admin-empty{
  background:white;
  border:1px dashed #d8cfbf;
  border-radius:18px;
  padding:36px;
  text-align:center;
  color:#657083;
}

.admin-top .btn-primary::before{
  content:"+";
  font-weight:950;
  font-size:18px;
  margin-right:4px;
}

@media(max-width:1050px){
  .admin-card-list{
    grid-template-columns:1fr;
  }
}

@media(max-width:620px){
  .admin-list-card{
    grid-template-columns:1fr;
  }

  .admin-list-image{
    width:100%;
    height:190px;
  }
}


/* Página Serviços estilo referência */
.services-page{
  background:#fffaf0;
}

.services-intro{
  padding:54px 0 28px;
  text-align:center;
}

.services-kicker{
  display:block;
  color:#ec2972;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.08em;
  font-weight:950;
  margin-bottom:9px;
}

.services-intro h1{
  color:#11172a;
  font-size:clamp(34px,5vw,52px);
  letter-spacing:-1px;
  margin-bottom:14px;
}

.services-intro h1 span{
  color:#ec2972;
}

.services-intro p{
  max-width:650px;
  margin:0 auto;
  color:#53607c;
  font-size:15px;
  line-height:1.75;
}

.services-showcase-section{
  padding:28px 0 78px;
}

.services-showcase-list{
  display:grid;
  gap:28px;
}

.service-showcase-card{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:420px;
  background:white;
  border:1px solid rgba(18,24,43,.06);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 14px 34px rgba(18,24,43,.07);
}

.service-showcase-card.reverse .service-showcase-image{
  order:2;
}

.service-showcase-card.reverse .service-showcase-content{
  order:1;
}

.service-showcase-image{
  min-height:420px;
  background:linear-gradient(135deg,#ffcf38,#ec2972);
  overflow:hidden;
  display:grid;
  place-items:center;
}

.service-showcase-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.service-image-placeholder{
  color:white;
  font-size:88px;
  font-weight:950;
}

.service-showcase-content{
  padding:58px 54px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.service-showcase-content h2{
  color:#11172a;
  font-size:clamp(24px,3.2vw,34px);
  letter-spacing:-.5px;
  margin-bottom:18px;
}

.service-showcase-content p{
  color:#53607c;
  font-size:15px;
  line-height:1.75;
  margin:0 0 22px;
}

.service-check-list{
  list-style:none;
  padding:0;
  margin:0 0 24px;
  display:grid;
  gap:10px;
}

.service-check-list li{
  color:#53607c;
  font-size:14px;
  line-height:1.45;
  position:relative;
  padding-left:24px;
}

.service-check-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:#ec2972;
  font-weight:950;
}

.service-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.service-main-btn{
  background:#ec2972;
  color:white;
  border-radius:10px;
  padding:12px 18px;
  box-shadow:0 12px 24px rgba(236,41,114,.18);
}

.service-light-btn{
  background:white;
  color:#11172a;
  border:1px solid #eadfce;
  border-radius:10px;
  padding:12px 18px;
  box-shadow:none;
}

@media(max-width:900px){
  .service-showcase-card,
  .service-showcase-card.reverse{
    grid-template-columns:1fr;
  }

  .service-showcase-card.reverse .service-showcase-image,
  .service-showcase-card.reverse .service-showcase-content{
    order:initial;
  }

  .service-showcase-image{
    min-height:320px;
  }

  .service-showcase-content{
    padding:36px 28px;
  }
}

@media(max-width:620px){
  .services-intro{
    padding-top:36px;
  }

  .service-showcase-image{
    min-height:250px;
  }

  .service-actions .btn{
    width:100%;
  }
}


/* Galeria Insufláveis / Mascotes estilo referência */
.gallery-page{
  background:#fffaf0;
}

.gallery-intro{
  padding:54px 0 30px;
  text-align:center;
}

.gallery-intro h1{
  color:#11172a;
  font-size:clamp(36px,5vw,56px);
  letter-spacing:-1.2px;
  margin-bottom:16px;
}

.gallery-intro h1 span{
  color:#ec2972;
}

.gallery-intro p{
  max-width:560px;
  margin:0 auto;
  color:#53607c;
  font-size:17px;
  line-height:1.75;
}

.gallery-filters{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:12px;
  margin-top:38px;
}

.gallery-filters a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:84px;
  padding:11px 20px;
  border-radius:999px;
  background:#f1eee6;
  color:#53607c;
  font-size:14px;
  font-weight:850;
  transition:.2s ease;
}

.gallery-filters a.active,
.gallery-filters a:hover{
  background:linear-gradient(135deg,#ef3f65,#ff9f16);
  color:white;
  box-shadow:0 10px 24px rgba(239,63,101,.18);
}

.gallery-grid-section{
  padding:26px 0 82px;
}

.gallery-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:28px;
}

.gallery-card{
  background:white;
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(18,24,43,.06);
  box-shadow:0 14px 30px rgba(18,24,43,.07);
  transition:.22s ease;
}

.gallery-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 38px rgba(18,24,43,.11);
}

.gallery-card-image{
  display:grid;
  place-items:center;
  height:245px;
  background:linear-gradient(135deg,#ffcf38,#ec2972);
  overflow:hidden;
  color:white;
  font-size:56px;
  font-weight:950;
}

.gallery-card-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:.28s ease;
}

.gallery-card:hover .gallery-card-image img{
  transform:scale(1.045);
}

.gallery-card-body{
  padding:24px 24px 26px;
}

.gallery-category{
  display:block;
  color:#ec2972;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.07em;
  font-weight:950;
  margin-bottom:12px;
}

.gallery-card-body h2{
  color:#11172a;
  font-size:21px;
  letter-spacing:-.25px;
  margin-bottom:12px;
}

.gallery-card-body p{
  color:#53607c;
  font-size:14px;
  line-height:1.65;
  min-height:48px;
  margin:0 0 18px;
}

.gallery-link{
  color:#ec2972;
  font-weight:850;
  font-size:14px;
}

.gallery-empty{
  background:white;
  border:1px dashed #e5dacb;
  border-radius:18px;
  padding:42px;
  text-align:center;
  color:#53607c;
  font-weight:800;
}

@media(max-width:1150px){
  .gallery-grid{
    grid-template-columns:repeat(3,1fr);
  }
}

@media(max-width:850px){
  .gallery-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .gallery-card-image{
    height:220px;
  }
}

@media(max-width:560px){
  .gallery-grid{
    grid-template-columns:1fr;
  }

  .gallery-card-image{
    height:240px;
  }

  .gallery-filters a{
    min-width:auto;
  }
}


:root{
  --font-main:var(--font-body), Arial, Helvetica, sans-serif;
}

html,
body,
button,
input,
textarea,
select{
  font-family:var(--font-main) !important;
}

h1,h2,h3,h4,h5,h6,
.logo,
.nav-links,
.btn,
.admin-body,
.admin-body *{
  font-family:var(--font-main) !important;
}


/* Remover itálico da identidade visual */
.logo-mark::before,
.brand span::before{
  font-style:normal !important;
  transform:none !important;
}

.side-nav a[href="admins.php"]::before{content:"⚙";}



/* V23 - Forçar tudo sem itálico */
*,
*::before,
*::after,
html,
body,
button,
input,
textarea,
select,
a,
p,
span,
div,
strong,
small,
label,
h1,h2,h3,h4,h5,h6,
.logo,
.logo *,
.logo-mark,
.logo-mark::before,
.logo-mark::after,
.brand,
.brand *,
.brand span,
.brand span::before,
.brand span::after,
.footer-logo-mark,
.footer-logo-mark *,
.footer-logo-mark::before,
.footer-logo-mark::after{
  font-style: normal !important;
  font-family: var(--font-main) !important;
  transform: none !important;
}

.logo-mark::before,
.brand span::before,
.footer-logo-mark{
  font-style: normal !important;
  letter-spacing: -1px !important;
}


/* V26 Uniformização visual */
:root{
  --primary:#ec2972;
  --secondary:#ffb627;
  --text:#1a2238;
  --muted:#667085;
  --bg:#fffaf2;
  --card:#ffffff;
  --border:#efe5d6;
  --radius:18px;
}

.card,
.gallery-card,
.service-showcase-card,
.about-stat-card,
.about-value-card,
.panel,
.admin-list-card{
  border-radius:var(--radius)!important;
  border:1px solid var(--border)!important;
  box-shadow:0 10px 30px rgba(15,23,42,.05)!important;
}

.btn{
  border-radius:14px!important;
  font-weight:700!important;
}


/* V27 - Logótipo real */
.logo-image-link{
  display:flex !important;
  align-items:center !important;
  min-width:auto !important;
}

.site-logo-img{
  height:58px;
  width:auto;
  display:block;
  object-fit:contain;
}

.footer-logo-img{
  width:170px;
  max-width:100%;
  height:auto;
  display:block;
  object-fit:contain;
}

.brand-logo{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  padding:0 8px !important;
}

.brand-logo img{
  width:118px !important;
  height:auto !important;
  object-fit:contain !important;
  display:block !important;
}

.brand-logo span,
.brand-logo::after,
.brand-logo span::before,
.brand-logo span::after{
  display:none !important;
  content:none !important;
}

.brand-logo strong{
  font-size:14px;
  font-weight:800;
  color:#172033;
}

@media(max-width:620px){
  .site-logo-img{
    height:48px;
  }

  .footer-logo-img{
    width:145px;
  }
}


/* V28 - Correção preview Hero Banner no backoffice */
.hero-upload-box{
  text-align:center;
}

.current-hero-preview{
  margin-top:22px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--border, #efe5d6);
  background:#fffaf0;
  position:relative;
  min-height:220px;
}

.current-hero-preview img{
  width:100%;
  height:320px;
  display:block;
  object-fit:cover;
}

.current-hero-remove{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:#fff;
  padding:13px 16px;
  font-weight:800;
  color:#b21f4d;
  border-top:1px solid var(--border, #efe5d6);
}

.current-hero-remove input{
  width:auto !important;
  margin:0 !important;
}

.missing-image-warning{
  min-height:220px;
  display:grid;
  place-items:center;
  padding:22px;
  color:#b21f4d;
  font-weight:800;
  text-align:center;
}

.hero-preview-grid{
  justify-content:center;
}

.hero-preview-grid .preview-item{
  width:100%;
  max-width:680px;
  height:240px !important;
  margin:14px auto 0;
}


/* V29 - Separadores principais na Galeria */
.gallery-main-tabs{
  display:inline-flex;
  justify-content:center;
  gap:8px;
  padding:7px;
  margin-top:30px;
  border-radius:999px;
  background:#f1eee6;
  border:1px solid #e7ddcf;
}

.gallery-main-tabs a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:135px;
  padding:12px 22px;
  border-radius:999px;
  font-weight:800;
  color:#53607c;
  transition:.2s ease;
}

.gallery-main-tabs a.active,
.gallery-main-tabs a:hover{
  background:linear-gradient(135deg,#ef3f65,#ff9f16);
  color:white;
  box-shadow:0 10px 24px rgba(239,63,101,.16);
}

.gallery-main-tabs + .gallery-filters{
  margin-top:26px;
}

@media(max-width:520px){
  .gallery-main-tabs{
    width:100%;
    display:grid;
    grid-template-columns:1fr;
    border-radius:18px;
  }

  .gallery-main-tabs a{
    width:100%;
  }
}


/* V31 - Backend premium typography/layout */
.admin-body{
  background:#f7f4ed !important;
  color:#172033 !important;
}

.sidebar{
  background:#ffffff !important;
  border-right:1px solid #ece3d7 !important;
}

.side-nav{
  padding:12px !important;
}

.side-nav a{
  border-radius:16px !important;
  padding:15px 18px !important;
  margin-bottom:10px !important;
  font-size:15px !important;
  font-weight:800 !important;
  letter-spacing:.01em !important;
}

.side-nav a.active{
  background:linear-gradient(135deg,#ec2972,#ff9f16) !important;
  color:white !important;
  box-shadow:0 14px 28px rgba(236,41,114,.18) !important;
}

.admin-main{
  padding:42px !important;
}

.admin-top{
  margin-bottom:34px !important;
  align-items:flex-start !important;
}

.admin-title h1{
  font-size:46px !important;
  font-weight:900 !important;
  letter-spacing:-1.4px !important;
  line-height:1.05 !important;
  margin-bottom:12px !important;
}

.admin-title p{
  font-size:16px !important;
  line-height:1.9 !important;
  max-width:760px !important;
  color:#667085 !important;
}

.panel{
  padding:34px !important;
  border-radius:26px !important;
  margin-bottom:28px !important;
}

.panel-head{
  margin-bottom:28px !important;
  gap:20px !important;
}

.panel-head h2{
  font-size:30px !important;
  font-weight:900 !important;
  letter-spacing:-1px !important;
  margin-bottom:8px !important;
}

.panel-head p{
  color:#667085 !important;
  line-height:1.8 !important;
  font-size:15px !important;
}

.admin-grid{
  gap:24px !important;
}

.field{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
}

.field label{
  font-size:14px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.06em !important;
  color:#172033 !important;
}

.field input,
.field textarea,
.field select{
  min-height:58px !important;
  border-radius:16px !important;
  border:1px solid #e9dfd0 !important;
  background:#fff !important;
  padding:16px 18px !important;
  font-size:15px !important;
  line-height:1.7 !important;
  color:#172033 !important;
  box-shadow:none !important;
}

.field textarea{
  min-height:160px !important;
  resize:vertical !important;
}

.field input:focus,
.field textarea:focus,
.field select:focus{
  outline:none !important;
  border-color:#ec2972 !important;
  box-shadow:0 0 0 5px rgba(236,41,114,.12) !important;
}

.btn{
  min-height:54px !important;
  padding:0 24px !important;
  font-size:15px !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
}

.btn-primary{
  background:linear-gradient(135deg,#ec2972,#ff9f16)!important;
  border:none !important;
  color:white !important;
}

.btn-secondary{
  background:#fff !important;
  border:1px solid #e9dfd0 !important;
}

.admin-card-list{
  display:grid !important;
  gap:24px !important;
}

.admin-list-card{
  padding:22px !important;
  align-items:center !important;
  gap:24px !important;
}

.admin-list-content h3{
  font-size:24px !important;
  font-weight:900 !important;
  margin-bottom:10px !important;
  letter-spacing:-.6px !important;
}

.admin-list-content p{
  font-size:15px !important;
  line-height:1.85 !important;
  color:#667085 !important;
}

.admin-list-actions{
  margin-top:18px !important;
  display:flex !important;
  gap:12px !important;
  flex-wrap:wrap !important;
}

.alert{
  padding:18px 22px !important;
  border-radius:18px !important;
  font-weight:700 !important;
  line-height:1.7 !important;
  margin-bottom:24px !important;
}

.table-wrap table{
  border-collapse:separate !important;
  border-spacing:0 12px !important;
}

.table-wrap td,
.table-wrap th{
  padding:20px 18px !important;
  line-height:1.7 !important;
}

.table-wrap th{
  font-size:13px !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
  font-weight:900 !important;
}

@media(max-width:900px){
  .admin-main{
    padding:24px !important;
  }

  .admin-title h1{
    font-size:36px !important;
  }

  .panel{
    padding:24px !important;
  }
}


/* V32 - FORÇAR SEM ITÁLICO */
html,
body,
*,
*::before,
*::after,
h1,h2,h3,h4,h5,h6,
p,
span,
a,
button,
input,
textarea,
select,
label,
small,
strong,
em,
i,
.logo,
.brand,
.sidebar,
.side-nav,
.admin-body,
.admin-main,
.admin-title,
.panel,
.card{
    font-style: normal !important;
    font-synthesis: none !important;
    text-rendering: geometricPrecision;
}

/* Neutralizar tags i/em */
i,
em{
    font-style: normal !important;
}

/* Logo frontend/backend */
.site-logo-img,
.footer-logo-img,
.brand-logo img{
    transform:none !important;
    font-style:normal !important;
}

/* Navegação */
.nav-links a,
.side-nav a{
    font-style:normal !important;
    letter-spacing:0 !important;
}

/* Títulos */
.admin-title h1,
.panel-head h2,
.gallery-intro h1,
.services-intro h1{
    font-style:normal !important;
}


/* V33 - Página Contactos estilo referência */
.contact-page{
  background:#fffaf0;
}

.contact-hero{
  padding:58px 0 36px;
  text-align:center;
}

.contact-hero h1{
  font-size:clamp(40px,5vw,64px);
  color:#172033 !important;
  margin-bottom:16px;
  letter-spacing:-1.2px;
}

.contact-hero h1 span{
  color:#ec2972;
}

.contact-hero p{
  font-size:20px;
  color:#667085;
  margin:0;
}

.contact-layout-section{
  padding:26px 0 84px;
}

.contact-layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  align-items:start;
  max-width:1180px;
}

.contact-form-card,
.contact-info-card{
  background:white;
  border-radius:22px;
  padding:42px;
  border:1px solid #efe5d6;
  box-shadow:0 12px 34px rgba(15,23,42,.06);
}

.contact-form-card h2,
.contact-info-card h2{
  font-size:28px;
  color:#172033 !important;
  margin-bottom:32px;
}

.contact-field{
  margin-bottom:24px;
}

.contact-field label{
  display:block;
  font-weight:800;
  color:#172033;
  margin-bottom:9px;
}

.contact-field input,
.contact-field textarea{
  width:100%;
  border:1px solid #e4d8c7;
  border-radius:14px;
  background:#fffaf0;
  padding:18px 20px;
  font-size:17px;
  color:#172033;
  outline:none;
}

.contact-field input:focus,
.contact-field textarea:focus{
  border-color:#ec2972;
  box-shadow:0 0 0 4px rgba(236,41,114,.1);
}

.contact-field textarea{
  min-height:150px;
  resize:vertical;
}

.contact-send-btn{
  width:100%;
  min-height:64px !important;
  border-radius:999px !important;
  color:white !important;
  background:linear-gradient(135deg,#ec2972,#ffb627) !important;
  font-size:19px !important;
  border:none;
}

.contact-side{
  display:grid;
  gap:28px;
}

.contact-info-item{
  display:grid;
  grid-template-columns:54px 1fr;
  gap:18px;
  align-items:center;
  margin-bottom:28px;
}

.contact-info-item:last-child{
  margin-bottom:0;
}

.contact-icon{
  width:48px;
  height:48px;
  border-radius:14px;
  color:white;
  display:grid;
  place-items:center;
  font-size:23px;
  font-weight:900;
}

.contact-icon.orange{
  background:linear-gradient(135deg,#ef3f65,#ff9f16);
}

.contact-icon.teal{
  background:#18b6b2;
}

.contact-icon.yellow{
  background:#f4b900;
}

.contact-info-item strong{
  display:block;
  color:#172033;
  font-size:18px;
  margin-bottom:5px;
}

.contact-info-item span{
  color:#53607c;
  line-height:1.55;
}

.contact-whatsapp-card{
  min-height:140px;
  border-radius:22px;
  padding:34px;
  background:#29c569;
  color:white;
  display:flex;
  align-items:center;
  gap:24px;
  box-shadow:0 14px 34px rgba(41,197,105,.18);
}

.contact-whatsapp-icon{
  width:64px;
  height:64px;
  border-radius:18px;
  background:rgba(255,255,255,.18);
  display:grid;
  place-items:center;
  flex:0 0 64px;
}

.contact-whatsapp-card strong{
  display:block;
  font-size:23px;
  color:white;
  margin-bottom:6px;
}

.contact-whatsapp-card span{
  color:white;
  font-size:16px;
}

@media(max-width:900px){
  .contact-layout{
    grid-template-columns:1fr;
    gap:28px;
  }

  .contact-form-card,
  .contact-info-card{
    padding:28px;
  }
}

@media(max-width:560px){
  .contact-hero{
    padding-top:36px;
  }

  .contact-info-item{
    grid-template-columns:1fr;
  }

  .contact-whatsapp-card{
    flex-direction:column;
    text-align:center;
  }
}


/* V34 - Campos adicionais insufláveis */
.info-row span{
  text-align:right;
  font-weight:700;
}


/* V35 - Correção alinhamento ícone WhatsApp */
.whatsapp-float,
.whatsapp-button,
.contact-whatsapp-card,
.footer-whatsapp,
.whatsapp-link{
  display:flex !important;
  align-items:center !important;
  justify-content:center;
  gap:14px;
}

.whatsapp-float svg,
.whatsapp-button svg,
.contact-whatsapp-icon svg,
.footer-whatsapp svg,
.whatsapp-link svg{
  display:block !important;
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  min-height:28px !important;
  margin:0 !important;
  padding:0 !important;
  position:relative !important;
  top:0 !important;
  left:0 !important;
  transform:none !important;
  vertical-align:middle !important;
}

.contact-whatsapp-icon{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:0 !important;
}

.contact-whatsapp-card strong,
.contact-whatsapp-card span{
  display:block;
  line-height:1.35 !important;
}

.contact-whatsapp-card > div:last-child{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.footer-whatsapp,
.whatsapp-link{
  line-height:1 !important;
}

.footer-whatsapp svg,
.whatsapp-link svg{
  margin-right:8px !important;
}


/* V36 - WhatsApp icon definitivo e centrado */
.wa{
  position:fixed !important;
  right:22px !important;
  bottom:22px !important;
  width:62px !important;
  height:62px !important;
  min-width:62px !important;
  min-height:62px !important;
  padding:0 !important;
  border-radius:50% !important;
  background:#25d366 !important;
  color:white !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  text-align:center !important;
  box-shadow:0 14px 35px rgba(37,211,102,.35) !important;
  z-index:999 !important;
  overflow:hidden !important;
}

.wa svg,
.wa img,
.wa > svg,
.wa > img{
  display:none !important;
}

.wa-logo{
  width:34px !important;
  height:34px !important;
  display:block !important;
  flex:0 0 34px !important;
  position:relative !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  line-height:0 !important;
}

.wa-logo::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:currentColor !important;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16.02 3C8.83 3 3 8.82 3 16c0 2.54.74 5 2.13 7.11L3 29l6.08-1.99A12.94 12.94 0 0 0 16.02 29C23.2 29 29 23.18 29 16S23.2 3 16.02 3zm0 23.73c-2.12 0-4.19-.57-6-1.65l-.43-.25-3.61 1.18 1.18-3.52-.28-.46a10.7 10.7 0 0 1-1.64-5.72c0-5.93 4.83-10.76 10.77-10.76 2.87 0 5.57 1.12 7.6 3.15a10.68 10.68 0 0 1 3.15 7.61c0 5.93-4.83 10.76-10.74 10.76z'/%3E%3Cpath d='M19.11 17.2c-.27-.13-1.58-.78-1.82-.87-.24-.09-.42-.13-.6.13-.18.27-.69.87-.85 1.05-.16.18-.31.2-.58.07-.27-.13-1.12-.41-2.14-1.3-.79-.71-1.33-1.58-1.48-1.84-.16-.27-.02-.41.12-.54.12-.12.27-.31.4-.47.13-.16.18-.27.27-.45.09-.18.04-.34-.02-.47-.07-.13-.6-1.45-.82-1.98-.22-.53-.44-.45-.6-.46h-.51c-.18 0-.47.07-.71.34-.24.27-.93.91-.93 2.22 0 1.3.95 2.56 1.08 2.73.13.18 1.87 2.85 4.53 3.99.63.27 1.13.43 1.51.55.63.2 1.2.17 1.65.1.5-.07 1.58-.64 1.8-1.26.22-.62.22-1.15.16-1.26-.07-.11-.24-.18-.51-.31z'/%3E%3C/svg%3E") center / contain no-repeat !important;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16.02 3C8.83 3 3 8.82 3 16c0 2.54.74 5 2.13 7.11L3 29l6.08-1.99A12.94 12.94 0 0 0 16.02 29C23.2 29 29 23.18 29 16S23.2 3 16.02 3zm0 23.73c-2.12 0-4.19-.57-6-1.65l-.43-.25-3.61 1.18 1.18-3.52-.28-.46a10.7 10.7 0 0 1-1.64-5.72c0-5.93 4.83-10.76 10.77-10.76 2.87 0 5.57 1.12 7.6 3.15a10.68 10.68 0 0 1 3.15 7.61c0 5.93-4.83 10.76-10.74 10.76z'/%3E%3Cpath d='M19.11 17.2c-.27-.13-1.58-.78-1.82-.87-.24-.09-.42-.13-.6.13-.18.27-.69.87-.85 1.05-.16.18-.31.2-.58.07-.27-.13-1.12-.41-2.14-1.3-.79-.71-1.33-1.58-1.48-1.84-.16-.27-.02-.41.12-.54.12-.12.27-.31.4-.47.13-.16.18-.27.27-.45.09-.18.04-.34-.02-.47-.07-.13-.6-1.45-.82-1.98-.22-.53-.44-.45-.6-.46h-.51c-.18 0-.47.07-.71.34-.24.27-.93.91-.93 2.22 0 1.3.95 2.56 1.08 2.73.13.18 1.87 2.85 4.53 3.99.63.27 1.13.43 1.51.55.63.2 1.2.17 1.65.1.5-.07 1.58-.64 1.8-1.26.22-.62.22-1.15.16-1.26-.07-.11-.24-.18-.51-.31z'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

.contact-whatsapp-icon{
  width:64px !important;
  height:64px !important;
  min-width:64px !important;
  min-height:64px !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.18) !important;
  color:white !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  line-height:0 !important;
  overflow:hidden !important;
}

.contact-whatsapp-icon svg,
.contact-whatsapp-icon img{
  display:none !important;
}

.contact-whatsapp-icon .wa-logo.large{
  width:38px !important;
  height:38px !important;
  flex-basis:38px !important;
}

.contact-whatsapp-card{
  display:flex !important;
  align-items:center !important;
}

.contact-whatsapp-card > div:last-child{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  line-height:1.35 !important;
}


/* V37 - WhatsApp SVG visível e alinhado */
.wa{
  position:fixed !important;
  right:22px !important;
  bottom:22px !important;
  width:62px !important;
  height:62px !important;
  min-width:62px !important;
  min-height:62px !important;
  padding:0 !important;
  border-radius:50% !important;
  background:#25d366 !important;
  color:#ffffff !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:0 !important;
  text-align:center !important;
  z-index:9999 !important;
  overflow:visible !important;
}

.wa-logo,
.wa-logo::before{
  display:none !important;
  content:none !important;
}

.whatsapp-svg{
  display:block !important;
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  min-height:34px !important;
  color:#ffffff !important;
  fill:currentColor !important;
  margin:0 !important;
  padding:0 !important;
  position:static !important;
  transform:none !important;
  opacity:1 !important;
  visibility:visible !important;
}

.whatsapp-svg path{
  fill:currentColor !important;
}

.contact-whatsapp-icon{
  width:64px !important;
  height:64px !important;
  min-width:64px !important;
  min-height:64px !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.18) !important;
  color:#ffffff !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  line-height:0 !important;
  overflow:visible !important;
}

.contact-whatsapp-icon .whatsapp-svg{
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  min-height:38px !important;
}


/* V39 - Correção geral */
:root{
  --font-main:"Segoe UI", Arial, Helvetica, sans-serif !important;
}

html,body,body *,body *::before,body *::after,
button,input,textarea,select,a,p,span,strong,small,label,
h1,h2,h3,h4,h5,h6,em,i,
.admin-body,.admin-body *{
  font-family:var(--font-main) !important;
  font-style:normal !important;
  font-synthesis:none !important;
}

em,i{font-style:normal !important;}

.wa{
  position:fixed !important;
  right:22px !important;
  bottom:22px !important;
  width:62px !important;
  height:62px !important;
  padding:0 !important;
  border-radius:50% !important;
  background:#25d366 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  z-index:99999 !important;
  box-shadow:0 14px 35px rgba(37,211,102,.35) !important;
  overflow:visible !important;
}

.wa svg,.wa-logo,.wa-logo::before,.whatsapp-svg{display:none !important;}

.whatsapp-icon-img{
  display:block !important;
  width:42px !important;
  height:42px !important;
  object-fit:contain !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  opacity:1 !important;
  visibility:visible !important;
}

.contact-whatsapp-icon{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  line-height:0 !important;
}

.contact-whatsapp-icon .whatsapp-icon-img,
.whatsapp-icon-img.large{
  width:42px !important;
  height:42px !important;
}

.footer-social{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-decoration:none !important;
}

img{max-width:100%;height:auto;}

.container{
  width:min(1180px, calc(100% - 32px)) !important;
}

@media(max-width:980px){
  .nav{
    min-height:auto !important;
    padding:14px 0 !important;
    flex-wrap:wrap !important;
    gap:14px !important;
  }

  .home-style-header .nav-links,
  .nav-links{
    order:3 !important;
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
    flex-wrap:wrap !important;
    gap:14px !important;
    padding-top:8px !important;
  }

  .hero-grid,
  .about-story-grid,
  .contact-layout,
  .detail-grid,
  .service-showcase-card{
    grid-template-columns:1fr !important;
  }

  .service-showcase-card.reverse .service-showcase-image,
  .service-showcase-card.reverse .service-showcase-content{
    order:initial !important;
  }

  .gallery-grid{
    grid-template-columns:repeat(2,1fr) !important;
  }

  .footer-main{
    grid-template-columns:1fr 1fr !important;
    gap:34px !important;
  }

  .admin-layout{
    grid-template-columns:1fr !important;
  }

  .sidebar{
    position:relative !important;
    height:auto !important;
    display:block !important;
    width:100% !important;
    border-right:0 !important;
    border-bottom:1px solid #ece3d7 !important;
  }

  .side-nav{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
  }

  .side-nav a{
    margin:0 !important;
  }

  .sidebar-footer{
    position:static !important;
    margin-top:12px !important;
    display:flex !important;
    gap:8px !important;
    flex-wrap:wrap !important;
  }

  .admin-main{
    padding:24px !important;
  }

  .admin-card-list{
    grid-template-columns:1fr !important;
  }

  .metric-grid{
    grid-template-columns:repeat(2,1fr) !important;
  }
}

@media(max-width:620px){
  .container{
    width:min(100% - 22px, 1180px) !important;
  }

  h1,.home-hero-content h1,.gallery-intro h1,.services-intro h1,.contact-hero h1{
    font-size:36px !important;
    line-height:1.08 !important;
    letter-spacing:-.6px !important;
  }

  h2{font-size:26px !important;}

  .home-hero-banner{
    min-height:520px !important;
    height:auto !important;
    padding:70px 0 !important;
  }

  .home-hero-actions,.service-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
  }

  .hero-btn-main,.hero-btn-light,.service-main-btn,.service-light-btn{
    width:100% !important;
  }

  .gallery-grid,.about-values-grid,.about-stats-grid,.metric-grid{
    grid-template-columns:1fr !important;
  }

  .gallery-card-image{height:230px !important;}

  .service-showcase-content,.contact-form-card,.contact-info-card,.panel{
    padding:22px !important;
  }

  .footer-main{
    grid-template-columns:1fr !important;
    text-align:left !important;
  }

  .admin-title h1{font-size:32px !important;}

  .admin-list-card{
    grid-template-columns:1fr !important;
  }

  .admin-list-image{
    width:100% !important;
    height:190px !important;
  }

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

  .wa{
    width:56px !important;
    height:56px !important;
    right:16px !important;
    bottom:16px !important;
  }

  .whatsapp-icon-img{
    width:38px !important;
    height:38px !important;
  }
}

/* V40 Responsive + FontAwesome */
*,*::before,*::after{box-sizing:border-box}
html,body{width:100%;overflow-x:hidden}
img,svg,video,canvas,iframe{max-width:100%}
.container{width:min(1180px,calc(100% - 32px))!important;margin-inline:auto}
.nav-shell{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:16px;position:relative}
.site-logo-img{height:56px!important;width:auto!important;display:block}
.nav-toggle{width:48px;height:48px;border:1px solid #eadfce;border-radius:14px;background:#fff;display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;padding:0}
.nav-toggle span{width:22px;height:2px;border-radius:999px;background:#172033;transition:.2s ease;display:block}
.nav-toggle.is-active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.is-active span:nth-child(2){opacity:0}
.nav-toggle.is-active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-budget-link{display:none!important}
.fa-brands,.fa-solid{line-height:1;display:inline-flex;align-items:center;justify-content:center}
.footer-social i{font-size:17px}
.wa{width:62px!important;height:62px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:50%!important;background:#25D366!important;color:#fff!important;padding:0!important;line-height:1!important;z-index:99999!important}
.wa i{font-size:34px!important;width:34px;height:34px}
.contact-whatsapp-icon{display:flex!important;align-items:center!important;justify-content:center!important}
.contact-whatsapp-icon i{font-size:34px!important;color:#fff!important}
.admin-close{display:none}
@media(max-width:1024px){
.container{width:min(100% - 28px,1180px)!important}
.hero-grid,.about-story-grid,.contact-layout,.detail-grid,.service-showcase-card{grid-template-columns:1fr!important}
.service-showcase-card.reverse .service-showcase-image,.service-showcase-card.reverse .service-showcase-content{order:initial!important}
.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.footer-main{grid-template-columns:1fr 1fr!important;gap:34px!important}
.admin-layout{grid-template-columns:1fr!important}
.mobile-bar{display:flex!important}
.sidebar{position:fixed!important;inset:0 auto 0 0!important;width:min(86vw,320px)!important;height:100dvh!important;z-index:9999!important;transform:translateX(-105%);transition:transform .25s ease;overflow-y:auto}
.sidebar.open{transform:translateX(0)}
.admin-close{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:0;background:#f5efe6;border-radius:12px}
.side-nav{display:grid!important;gap:8px!important}
.admin-main{padding:24px!important}
.admin-card-list{grid-template-columns:1fr!important}
.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:820px){
.nav-toggle{display:flex;order:3}
.nav-budget-btn{display:none!important}
.mobile-budget-link{display:flex!important}
.nav-links{position:absolute;top:calc(100% + 10px);left:0;right:0;width:100%!important;display:none!important;flex-direction:column;align-items:stretch;gap:0!important;padding:12px;background:#fff;border:1px solid #eadfce;border-radius:18px;box-shadow:0 18px 42px rgba(15,23,42,.12);z-index:1001}
.nav-links.is-open{display:flex!important}
.nav-links a{min-height:48px;padding:14px 16px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:15px!important}
.nav-links a:hover{background:#fff4e5}
}
@media(max-width:640px){
.container{width:min(100% - 22px,1180px)!important}
.site-logo-img{height:46px!important}
h1,.home-hero-content h1,.gallery-intro h1,.services-intro h1,.contact-hero h1,.admin-title h1{font-size:clamp(30px,10vw,38px)!important;line-height:1.08!important;letter-spacing:-.5px!important}
h2,.panel-head h2{font-size:clamp(23px,7vw,28px)!important}
.home-hero-banner{min-height:520px!important;height:auto!important;padding:72px 0!important}
.home-hero-actions,.service-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important}
.btn,.hero-btn-main,.hero-btn-light,.service-main-btn,.service-light-btn,.contact-send-btn{width:100%;min-height:50px;padding:14px 18px!important}
.gallery-grid,.grid,.about-values-grid,.about-stats-grid,.metric-grid{grid-template-columns:1fr!important}
.gallery-card-image,.service-showcase-image,.admin-list-image{height:220px!important}
.service-showcase-content,.contact-form-card,.contact-info-card,.panel,.legal-card{padding:22px!important}
.contact-info-item{grid-template-columns:48px 1fr!important}
.contact-whatsapp-card{flex-direction:column;text-align:center}
.footer-main{grid-template-columns:1fr!important;gap:28px!important}
.footer-logo-img{width:140px!important}
.admin-main{padding:18px!important}
.admin-list-card{grid-template-columns:1fr!important}
.admin-grid{grid-template-columns:1fr!important}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.wa{width:56px!important;height:56px!important;right:16px!important;bottom:16px!important}
.wa i{font-size:30px!important}
}


/* V43 - Correção definitiva de menus mobile */
@media (max-width: 1024px){
  .site-header .nav-shell{position:relative!important;}
  .site-header .nav-toggle{display:flex!important;}
  .site-header .nav-budget-btn{display:none!important;}
  .site-header .mobile-budget-link{display:flex!important;}
  .site-header .nav-links,
  .home-style-header .nav-links{
    position:absolute!important;
    top:calc(100% + 10px)!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    display:none!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    padding:12px!important;
    background:#fff!important;
    border:1px solid #eadfce!important;
    border-radius:18px!important;
    box-shadow:0 18px 42px rgba(15,23,42,.14)!important;
    z-index:1001!important;
  }
  .site-header .nav-links.is-open,
  .home-style-header .nav-links.is-open{
    display:flex!important;
  }
  .site-header .nav-links a,
  .home-style-header .nav-links a{
    min-height:48px!important;
    padding:14px 16px!important;
    border-radius:12px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    font-size:15px!important;
  }

  body.admin-body .admin-layout{grid-template-columns:1fr!important;}
  body.admin-body .mobile-bar{display:flex!important;}
  body.admin-body .sidebar{
    display:block!important;
    position:fixed!important;
    inset:0 auto 0 0!important;
    width:min(86vw,320px)!important;
    height:100dvh!important;
    z-index:9999!important;
    transform:translateX(-105%)!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:transform .25s ease, visibility .25s ease!important;
    overflow-y:auto!important;
  }
  body.admin-body .sidebar.open{
    transform:translateX(0)!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  body.admin-body .admin-close{display:inline-flex!important;}
}

@media (min-width: 1025px){
  .site-header .nav-links{display:flex!important;}
  .site-header .nav-toggle{display:none!important;}
  body.admin-body .mobile-bar{display:none!important;}
  body.admin-body .sidebar{display:block!important;visibility:visible!important;transform:none!important;pointer-events:auto!important;}
}
/* === V46: força var(--font-body),+ letra ligeiramente menor === */
html { font-size: 15px !important; }
body { font-size: 0.95rem !important; }
body,
body *:not(.fa):not(.fas):not(.far):not(.fab):not(.fa-solid):not(.fa-regular):not(.fa-brands):not([class^="fa-"]):not([class*=" fa-"]),
button,
input,
textarea,
select,
option {
  font-family: var(--font-body), Arial, Helvetica, sans-serif !important;
}
input,
textarea,
select,
button,
p,
li,
a,
label,
td,
th,
small,
span,
div {
  font-size: 0.95rem;
}
h1 { font-size: clamp(1.85rem, 4vw, 2.75rem); }
h2 { font-size: clamp(1.45rem, 3vw, 2.15rem); }
h3 { font-size: clamp(1.15rem, 2.2vw, 1.55rem); }
.admin-body,
.admin-body *:not(.fa):not(.fas):not(.far):not(.fab):not(.fa-solid):not(.fa-regular):not(.fa-brands):not([class^="fa-"]):not([class*=" fa-"]) {
  font-family: var(--font-body), Arial, Helvetica, sans-serif !important;
}
.admin-body { font-size: 0.94rem !important; }
@media (max-width: 768px) {
  html { font-size: 14px !important; }
}


/* V47 typography fix */
html, body,
h1,h2,h3,h4,h5,h6,
p,a,span,li,label,
input,textarea,button,select,
table,tr,td,th {
    font-family: var(--font-body), var(--font-body), Arial, sans-serif !important;
    font-style: normal !important;
}





/* V66 Homepage CTA Section */
.cta-gradient-section{
    padding:90px 20px;
    background:linear-gradient(90deg,#ec2d74 0%, #ff7a1a 50%, #ffbf1f 100%);
    position:relative;
    overflow:hidden;
}

.cta-gradient-container{
    max-width:900px;
    margin:0 auto;
    text-align:center;
    color:#fff;
}

.cta-gradient-section h2{
    color:#fff;
    font-size:clamp(2.2rem,5vw,4rem);
    margin-bottom:18px;
    line-height:1.05;
    font-weight:600 !important;
}

.cta-gradient-section p{
    color:#fff;
    font-size:1.25rem;
    max-width:700px;
    margin:0 auto 38px;
}

.cta-gradient-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:240px;
    padding:18px 34px;
    background:#fff;
    color:#13233d !important;
    border-radius:999px;
    text-decoration:none;
    font-size:1.15rem;
    font-weight:600 !important;
    transition:all .25s ease;
    box-shadow:0 12px 30px rgba(0,0,0,.12);
}

.cta-gradient-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 18px 40px rgba(0,0,0,.18);
}

@media(max-width:768px){
    .cta-gradient-section{
        padding:70px 18px;
    }

    .cta-gradient-section p{
        font-size:1.05rem;
    }

    .cta-gradient-btn{
        width:100%;
        max-width:320px;
    }
}



/* V67 spacing + titles fix */

/* Remove espaço branco antes do footer */
.cta-gradient-section{
    margin-bottom:0 !important;
}

footer,
.site-footer{
    margin-top:0 !important;
}

/* Apenas títulos a bold */
h1,
h2,
h3,
h4,
h5,
h6,
.title,
.section-title,
.hero-title,
.card-title,
.page-title,
.admin-title,
.dashboard-title{
    font-weight:700 !important;
}

/* Menus e botões sem bold exagerado */
nav,
nav a,
.navbar *,
.menu *,
.btn,
button,
.cta-button{
    font-weight:500 !important;
}



/* V68 FINAL TITLES BOLD FIX */

h1,
h2,
h3,
h4,
h5,
h6,
.title,
.section-title,
.hero-title,
.card-title,
.page-title,
.admin-title,
.dashboard-title,
.cta-gradient-section h2{
    font-weight: 700 !important;
    font-family: 'Baloo 2', cursive !important;
}

/* garantir que menus/botões não ficam bold */
nav,
nav a,
.navbar *,
.menu *,
.btn,
button,
.cta-button{
    font-weight: 500 !important;
}


/* V69 REAL TITLE BOLD LIKE REFERENCE */
h1,
h2,
h3,
h4,
h5,
h6,
.title,
.section-title,
.hero-title,
.card-title,
.page-title,
.admin-title,
.dashboard-title,
.cta-gradient-section h2 {
    font-family: 'Baloo 2', 'Trebuchet MS', Arial, sans-serif !important;
    font-weight: 800 !important;
    font-style: normal !important;
    letter-spacing: 0 !important;
    line-height: 1.05 !important;
}

/* Destaques dentro dos títulos, como "Serviços", mantêm o mesmo bold */
h1 span,
h2 span,
h3 span,
.section-title span,
.hero-title span,
.title span {
    font-family: inherit !important;
    font-weight: 800 !important;
}

/* Menus e botões não usam bold */
nav,
nav a,
.navbar *,
.nav-menu *,
.nav-links *,
.menu *,
.main-menu *,
button,
.btn,
.button,
.cta,
.cta-button,
input[type="submit"],
input[type="button"] {
    font-weight: 500 !important;
}


/* V70 line break display */
.text-content,
.description,
.service-description,
.item-description,
.about-text,
.legal-content,
.hero-description {
    white-space: normal;
}


/* V75 backend textarea line breaks */
.admin-content textarea,
.admin-form textarea,
form textarea {
    min-height: 120px;
    resize: vertical;
    line-height: 1.55;
    white-space: pre-wrap;
}


/* V77 — UI imagem banner home */
.hero-image-field {
    margin-top: 16px;
}

.hero-image-field > label {
    display: block;
    margin-bottom: 14px;
    font-weight: 600;
    color: #0f172a;
}

.hero-image-upload-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 28px;
    width: 100%;
    min-height: 210px;
}

.hero-image-preview-area {
    flex: 0 1 360px;
}

.hero-image-preview-wrap {
    position: relative;
    width: 340px;
    max-width: 100%;
}

.hero-image-preview {
    display: block;
    width: 340px;
    max-width: 100%;
    height: 190px;
    object-fit: cover;
    border-radius: 12px;
    background: #f8fafc;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .08);
}

.hero-image-remove-x {
    position: absolute;
    top: -10px;
    right: -10px;
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 999px;
    background: #fff;
    color: #1f2937;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 6px 16px rgba(15, 23, 42, .15);
}

.hero-image-remove-x:hover {
    background: #fee2e2;
    color: #dc2626;
}

.hero-image-actions {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    flex: 1;
}

.hero-image-file {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.hero-image-replace-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 0;
    border-radius: 999px;
    padding: 13px 22px;
    background: #e82f72;
    color: #fff !important;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(232, 47, 114, .22);
    transition: transform .2s ease, box-shadow .2s ease;
}

.hero-image-replace-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(232, 47, 114, .28);
}

.hero-image-empty,
.missing-image-warning {
    width: 340px;
    max-width: 100%;
    min-height: 120px;
    border: 1px dashed #cbd5e1;
    border-radius: 12px;
    background: #f8fafc;
    color: #64748b;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
    text-align: center;
}

.hero-image-remove-text {
    margin-top: 10px;
    font-size: .9rem;
    color: #dc2626;
    display: none;
}

.hero-image-field.is-removing .hero-image-remove-text {
    display: block;
}

.hero-image-field.is-removing .hero-image-preview {
    opacity: .35;
    filter: grayscale(1);
}

.hero-image-field .hint {
    margin-top: 12px;
    color: #64748b;
}

@media (max-width: 768px) {
    .hero-image-upload-row {
        flex-direction: column;
        min-height: 0;
    }

    .hero-image-actions {
        width: 100%;
        justify-content: flex-start;
    }
}


/* === Font Awesome global fallback v20260525fa3 ===
   O teste isolado funcionava; este bloco garante os ícones também quando o style.css do site está carregado. */
@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url("../vendor/fontawesome/webfonts/fa-solid-900.woff2") format("woff2"),url("../vendor/fontawesome/webfonts/fa-solid-900.ttf") format("truetype");}
@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:block;src:url("../vendor/fontawesome/webfonts/fa-brands-400.woff2") format("woff2"),url("../vendor/fontawesome/webfonts/fa-brands-400.ttf") format("truetype");}
i.fa,i.fas,i.fa-solid,i.far,i.fa-regular,i.fab,i.fa-brands,.fa,.fas,.fa-solid,.far,.fa-regular,.fab,.fa-brands{display:inline-block!important;font-style:normal!important;font-variant:normal!important;line-height:1!important;text-rendering:auto!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;}
i.fa,i.fas,i.fa-solid,.fa,.fas,.fa-solid{font-family:"Font Awesome 6 Free"!important;font-weight:900!important;}
i.far,i.fa-regular,.far,.fa-regular{font-family:"Font Awesome 6 Free"!important;font-weight:400!important;}
i.fab,i.fa-brands,.fab,.fa-brands{font-family:"Font Awesome 6 Brands"!important;font-weight:400!important;}
.fa-bars:before{content:"\f0c9"!important}.fa-xmark:before{content:"\f00d"!important}.fa-arrow-up-from-bracket:before{content:"\f093"!important}.fa-whatsapp:before{content:"\f232"!important}.fa-instagram:before{content:"\f16d"!important}.fa-facebook-f:before{content:"\f39e"!important}


/* === Social icons final fix: inline SVG, independent of Font Awesome brands === */
.footer-social .social-icon{
  display:block !important;
  width:18px !important;
  height:18px !important;
  color:currentColor !important;
  fill:currentColor !important;
  visibility:visible !important;
  opacity:1 !important;
}
.wa .social-icon{
  display:block !important;
  width:34px !important;
  height:34px !important;
  color:#fff !important;
  fill:#fff !important;
  visibility:visible !important;
  opacity:1 !important;
}
.wa svg.social-icon{display:block !important;}
.footer-social svg.social-icon{display:block !important;}


/* FINAL - WhatsApp do cartão de contacto: usar SVG local, não Font Awesome */
.contact-whatsapp-icon i,
.contact-whatsapp-icon .fa-whatsapp{
  display:none !important;
}

.contact-whatsapp-icon .whatsapp-icon-img,
.contact-whatsapp-icon img.whatsapp-icon-img.large{
  display:block !important;
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  object-fit:contain !important;
  opacity:1 !important;
  visibility:visible !important;
  filter:none !important;
}

.contact-whatsapp-icon{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}


/* Correção serviços: garantir que a descrição gravada no backoffice fica visível no frontend */
.card .service-description,
.service-showcase-content .service-description {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    white-space: pre-line !important;
    color: #53607c !important;
    font-size: 15px !important;
    line-height: 1.75 !important;
}

.card .service-description {
    margin: 8px 0 0 !important;
}

/* Página individual de serviço */
.service-detail-page .service-detail-hero .container > .btn-secondary {
  margin-bottom: 10px;
}

.service-detail-grid {
  align-items: start;
}

.service-detail-main-img {
  min-height: 360px;
}

.service-detail-card h2 {
  margin-top: 0;
}

@media (max-width: 768px) {
  .service-detail-main-img {
    min-height: 240px;
  }
}


/* V serviços/insufláveis - especificações nas cards e detalhe */
.inflatable-card-specs{
  display:grid;
  gap:10px;
  margin:0 0 18px;
}
.inflatable-card-specs div{
  display:grid;
  gap:3px;
  padding:10px 12px;
  border-radius:12px;
  background:#fff7dc;
  border:1px solid rgba(236,41,114,.10);
}
.inflatable-card-specs strong{
  color:#11172a;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.inflatable-card-specs span{
  color:#53607c;
  font-size:14px;
  font-weight:800;
}
.inflatable-detail-hero .gallery-link{
  display:inline-block;
  margin-bottom:18px;
}
.inflatable-detail-card .specs-title{
  margin-top:22px;
}
.inflatable-detail-card .info-row:last-of-type{
  border-bottom:0;
}


/* Cards de insufláveis simplificados: apenas nome e categoria */
.gallery-card{
  position:relative;
}
.gallery-card-cover-link{
  position:absolute;
  inset:0;
  z-index:2;
  font-size:0;
}
.gallery-card-image,
.gallery-card-body{
  position:relative;
  z-index:1;
}
.gallery-card-body{
  padding-bottom:22px;
}
.gallery-card-body .gallery-category{
  margin-bottom:8px;
}
.gallery-card-body h2{
  margin-bottom:0;
}

/* Galeria da página de detalhe do insuflável */
.inflatable-thumbs{
  align-items:stretch;
}
.inflatable-thumb{
  border:0;
  padding:0;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, outline-color .18s ease;
  outline:3px solid transparent;
}
.inflatable-thumb:hover{
  transform:translateY(-2px);
}
.inflatable-thumb.active,
.inflatable-thumb:focus-visible{
  outline-color:var(--pink);
  box-shadow:0 12px 28px rgba(236,41,114,.18);
}


/* Admin - listagens em tabela com pesquisa */
.admin-list-toolbar{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:end;
  margin:0 0 16px;
}

.admin-search-field{
  width:min(100%, 520px);
  display:grid;
  gap:8px;
  color:#11172a;
  font-size:13px;
  font-weight:850;
}

.admin-search-field input{
  width:100%;
  border:1px solid #e4dccf;
  border-radius:14px;
  padding:13px 15px;
  font:inherit;
  color:#11172a;
  background:#fff;
  outline:none;
}

.admin-search-field input:focus{
  border-color:#e72b73;
  box-shadow:0 0 0 4px rgba(231,43,115,.12);
}

.admin-table-wrap{
  background:#fff;
  border:1px solid #eee8dc;
  border-radius:18px;
  overflow:auto;
  box-shadow:0 12px 28px rgba(18,24,43,.04);
}

.admin-table{
  width:100%;
  border-collapse:collapse;
  min-width:760px;
}

.admin-table th,
.admin-table td{
  padding:14px 16px;
  border-bottom:1px solid #f0eadf;
  text-align:left;
  vertical-align:middle;
  color:#344055;
  font-size:14px;
}

.admin-table th{
  background:#faf7ef;
  color:#11172a;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-weight:950;
}

.admin-table tbody tr:hover{
  background:#fffaf1;
}

.admin-table tbody tr:last-child td{
  border-bottom:0;
}

.admin-table-thumb{
  width:68px;
  height:56px;
  border-radius:12px;
  background:#fff3c4;
  display:grid;
  place-items:center;
  overflow:hidden;
  color:#e72b73;
  font-weight:950;
  font-size:18px;
}

.admin-table-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.admin-table-actions-col{
  width:210px;
}

.admin-table-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.admin-table-actions .btn{
  padding:8px 11px !important;
  white-space:nowrap;
}

@media (max-width: 760px){
  .admin-list-toolbar{display:block}
  .admin-search-field{width:100%}
  .admin-table{min-width:680px}
}

/* Admin V15 - tabelas/listas mais limpas e alinhadas */
.admin-list-toolbar{
  background:#fff !important;
  border:1px solid #eee8dc !important;
  border-radius:16px !important;
  padding:14px !important;
  margin:0 0 14px !important;
  box-shadow:none !important;
}

.admin-search-field{
  width:100% !important;
  max-width:560px !important;
}

.admin-search-field span{
  color:#333b4d !important;
  font-size:13px !important;
  font-weight:900 !important;
}

.admin-table-wrap{
  width:100% !important;
  background:#fff !important;
  border:1px solid #eee8dc !important;
  border-radius:16px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  box-shadow:none !important;
}

.admin-table{
  width:100% !important;
  min-width:860px !important;
  border-collapse:collapse !important;
  table-layout:fixed !important;
}

.admin-table th,
.admin-table td{
  padding:12px 14px !important;
  border-bottom:1px solid #f0eadf !important;
  text-align:left !important;
  vertical-align:middle !important;
  line-height:1.35 !important;
  background:#fff !important;
}

.admin-table th{
  position:sticky !important;
  top:0 !important;
  z-index:1 !important;
  background:#faf7ef !important;
  color:#5c6474 !important;
  font-size:11px !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.06em !important;
  white-space:nowrap !important;
}

.admin-table tbody tr:hover td{
  background:#fffaf1 !important;
}

.admin-table th:first-child,
.admin-table td:first-child{
  width:88px !important;
}

.admin-table th:nth-child(2),
.admin-table td:nth-child(2){
  width:28% !important;
}

.admin-table th:nth-child(3),
.admin-table td:nth-child(3){
  width:18% !important;
}

.admin-table th:nth-child(4),
.admin-table td:nth-child(4){
  width:115px !important;
}

.admin-table-actions-col,
.admin-table th:last-child,
.admin-table td:last-child{
  width:190px !important;
}

.admin-table td strong{
  display:block !important;
  color:#11172a !important;
  font-size:15px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

.admin-table-thumb{
  width:58px !important;
  height:46px !important;
  border-radius:10px !important;
  background:#fff3c4 !important;
  border:1px solid #f0eadf !important;
  display:grid !important;
  place-items:center !important;
  overflow:hidden !important;
  color:#e72b73 !important;
  font-weight:950 !important;
  font-size:14px !important;
}

.admin-table-thumb img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}

.admin-chip{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:72px !important;
  border-radius:999px !important;
  padding:5px 10px !important;
  font-size:12px !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}

.admin-table-actions{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:8px !important;
  flex-wrap:nowrap !important;
}

.admin-table-actions .btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:34px !important;
  padding:8px 10px !important;
  border-radius:9px !important;
  font-size:13px !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

.admin-table td:not(:nth-child(2)){
  color:#5c6474 !important;
  font-size:13px !important;
}

@media (max-width:1000px){
  .admin-table{min-width:820px !important;}
  .admin-table-actions-col,
  .admin-table th:last-child,
  .admin-table td:last-child{width:175px !important;}
}

@media (max-width:620px){
  .admin-list-toolbar{padding:12px !important;}
  .admin-table{min-width:760px !important;}
  .admin-table th,
  .admin-table td{padding:10px 12px !important;}
  .admin-table-actions .btn{font-size:12px !important; padding:8px 9px !important;}
}


/* Admin V16 - listas realmente responsivas em mobile vertical */
@media (max-width: 700px){
  .admin-table-wrap{
    overflow:visible !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  .admin-table,
  .admin-table thead,
  .admin-table tbody,
  .admin-table tr,
  .admin-table th,
  .admin-table td{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  .admin-table{
    border-collapse:separate !important;
    border-spacing:0 !important;
    table-layout:auto !important;
  }

  .admin-table thead{
    display:none !important;
  }

  .admin-table tbody{
    display:grid !important;
    gap:14px !important;
  }

  .admin-table tbody tr{
    display:grid !important;
    gap:0 !important;
    background:#fff !important;
    border:1px solid #eee8dc !important;
    border-radius:18px !important;
    overflow:hidden !important;
    box-shadow:0 10px 24px rgba(18,24,43,.05) !important;
  }

  .admin-table th,
  .admin-table td,
  .admin-table td:first-child,
  .admin-table td:last-child{
    width:100% !important;
    padding:11px 14px !important;
    border-bottom:1px solid #f0eadf !important;
    background:#fff !important;
  }

  .admin-table tbody tr td:last-child{
    border-bottom:0 !important;
  }

  .admin-table td{
    display:grid !important;
    grid-template-columns:112px minmax(0, 1fr) !important;
    align-items:center !important;
    gap:12px !important;
    text-align:left !important;
    color:#344055 !important;
    font-size:14px !important;
    white-space:normal !important;
  }

  .admin-table td::before{
    content:attr(data-label) !important;
    color:#5c6474 !important;
    font-size:11px !important;
    font-weight:950 !important;
    text-transform:uppercase !important;
    letter-spacing:.06em !important;
  }

  .admin-table td[data-label="Imagem"]{
    grid-template-columns:1fr !important;
    padding:14px !important;
  }

  .admin-table td[data-label="Imagem"]::before{
    display:none !important;
  }

  .admin-table td[data-label="Imagem"] .admin-table-thumb{
    width:100% !important;
    height:150px !important;
    border-radius:14px !important;
    font-size:22px !important;
  }

  .admin-table td[data-label="Nome"] strong,
  .admin-table td[data-label="Título"] strong{
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    font-size:16px !important;
  }

  .admin-table td[data-label="Ações"]{
    grid-template-columns:1fr !important;
    padding:14px !important;
  }

  .admin-table td[data-label="Ações"]::before{
    display:none !important;
  }

  .admin-table-actions{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
    justify-content:stretch !important;
  }

  .admin-table-actions .btn{
    width:100% !important;
    min-height:42px !important;
    padding:10px 12px !important;
    font-size:13px !important;
  }
}

@media (max-width: 420px){
  .admin-table td{
    grid-template-columns:94px minmax(0, 1fr) !important;
    gap:10px !important;
    padding:10px 12px !important;
  }

  .admin-table td[data-label="Imagem"] .admin-table-thumb{
    height:130px !important;
  }

  .admin-table-actions{
    grid-template-columns:1fr !important;
  }
}

/* Admin V18 - Correção da coluna de ações/ordem em Insufláveis e Mascotes */
@media (min-width:701px){
  .admin-table{
    min-width:1040px !important;
    table-layout:fixed !important;
  }

  .admin-table-actions-col,
  .admin-table th:last-child,
  .admin-table td:last-child{
    width:280px !important;
    min-width:280px !important;
  }

  .admin-table td:last-child{
    overflow:visible !important;
  }

  .admin-table-actions{
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    flex-wrap:wrap !important;
    gap:7px !important;
  }

  .admin-table-actions .btn{
    flex:0 0 auto !important;
    margin:0 !important;
    white-space:nowrap !important;
  }

  .admin-table-actions .btn[title="Subir"],
  .admin-table-actions .btn[title="Descer"]{
    width:36px !important;
    min-width:36px !important;
    height:36px !important;
    padding:0 !important;
    font-size:16px !important;
    line-height:1 !important;
  }
}

@media (min-width:701px) and (max-width:1100px){
  .admin-table{
    min-width:980px !important;
  }

  .admin-table-actions-col,
  .admin-table th:last-child,
  .admin-table td:last-child{
    width:250px !important;
    min-width:250px !important;
  }

  .admin-table-actions .btn{
    font-size:12px !important;
    padding:8px 9px !important;
  }
}

/* Admin V19 - ações separadas e sem sobreposição em Insufláveis/Mascotes */
.admin-row-actions{
  width:100% !important;
  display:grid !important;
  grid-template-columns:76px minmax(0,1fr) !important;
  align-items:center !important;
  gap:10px !important;
}

.admin-order-actions{
  display:grid !important;
  grid-template-columns:36px 36px !important;
  gap:4px !important;
  width:76px !important;
  min-width:76px !important;
}

.admin-order-actions .btn-order{
  width:36px !important;
  min-width:36px !important;
  height:36px !important;
  min-height:36px !important;
  padding:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:10px !important;
  font-size:17px !important;
  font-weight:950 !important;
  line-height:1 !important;
  background:#f4f6fb !important;
  color:#1f2937 !important;
  border:1px solid #e4e8f0 !important;
  white-space:nowrap !important;
}

.admin-crud-actions{
  min-width:0 !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:6px !important;
}

.admin-crud-actions .btn{
  width:100% !important;
  min-width:0 !important;
  justify-content:center !important;
  padding:8px 9px !important;
  font-size:12px !important;
  white-space:nowrap !important;
}

@media (min-width:701px){
  .admin-table{
    min-width:1120px !important;
  }
  .admin-table-actions-col,
  .admin-table th:last-child,
  .admin-table td:last-child{
    width:230px !important;
    min-width:230px !important;
    max-width:230px !important;
    overflow:hidden !important;
  }
  .admin-table td[data-label="Ações"]{
    padding-left:12px !important;
    padding-right:12px !important;
  }
  .admin-table-actions{
    display:block !important;
  }
}

@media (max-width:700px){
  .admin-row-actions{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .admin-order-actions{
    width:100% !important;
    min-width:0 !important;
    grid-template-columns:1fr 1fr !important;
  }
  .admin-order-actions .btn-order,
  .admin-crud-actions .btn{
    width:100% !important;
  }
  .admin-crud-actions{
    grid-template-columns:1fr 1fr !important;
  }
}

@media (max-width:420px){
  .admin-crud-actions{
    grid-template-columns:1fr !important;
  }
}

/* Admin V20 - correção definitiva das ações em tabelas
   Evita sobreposição em Insufláveis e Mascotes usando larguras reais por coluna
   e ações empilhadas dentro da própria célula. */
@media (min-width:701px){
  .admin-table-wrap{
    overflow-x:auto !important;
    overflow-y:visible !important;
  }

  .admin-table{
    width:100% !important;
    min-width:1120px !important;
    table-layout:auto !important;
  }

  .admin-table th,
  .admin-table td{
    width:auto !important;
    max-width:none !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }

  .admin-table th:nth-child(1),
  .admin-table td:nth-child(1){
    width:90px !important;
    min-width:90px !important;
  }

  .admin-table th:nth-child(2),
  .admin-table td:nth-child(2){
    width:230px !important;
    min-width:190px !important;
  }

  .admin-table th:nth-child(3),
  .admin-table td:nth-child(3){
    width:160px !important;
    min-width:135px !important;
  }

  .admin-table th:nth-child(4),
  .admin-table td:nth-child(4){
    width:115px !important;
    min-width:105px !important;
  }

  .admin-table th:nth-child(5),
  .admin-table td:nth-child(5){
    width:95px !important;
    min-width:85px !important;
  }

  .admin-table th:nth-child(6),
  .admin-table td:nth-child(6){
    width:190px !important;
    min-width:160px !important;
  }

  .admin-table-actions-col,
  .admin-table th:last-child,
  .admin-table td:last-child{
    width:170px !important;
    min-width:170px !important;
    max-width:170px !important;
  }

  .admin-table td[data-label="Ações"]{
    padding:10px !important;
  }

  .admin-table td strong{
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }

  .admin-row-actions{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:7px !important;
    align-items:stretch !important;
  }

  .admin-order-actions{
    width:100% !important;
    min-width:0 !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:7px !important;
  }

  .admin-crud-actions{
    width:100% !important;
    min-width:0 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:7px !important;
  }

  .admin-order-actions .btn-order,
  .admin-crud-actions .btn{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:34px !important;
    min-height:34px !important;
    padding:0 8px !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-sizing:border-box !important;
    line-height:1 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .admin-order-actions .btn-order{
    font-size:16px !important;
  }

  .admin-crud-actions .btn{
    font-size:12px !important;
  }
}

@media (min-width:701px) and (max-width:1180px){
  .admin-table{
    min-width:1080px !important;
  }
}

/* Admin V21 - tabelas compactas sem sobreposição */
@media (min-width:701px){
  .admin-table-wrap{
    overflow-x:auto !important;
    overflow-y:visible !important;
  }

  .admin-table{
    min-width:720px !important;
    table-layout:fixed !important;
  }

  .admin-table th,
  .admin-table td{
    padding:8px 9px !important;
    line-height:1.25 !important;
    overflow:hidden !important;
  }

  .admin-table th:nth-child(1),
  .admin-table td:nth-child(1){
    width:68px !important;
    min-width:68px !important;
  }

  .admin-table th:nth-child(2),
  .admin-table td:nth-child(2){
    width:auto !important;
    min-width:0 !important;
  }

  .admin-table th:nth-child(3),
  .admin-table td:nth-child(3){
    width:150px !important;
    min-width:120px !important;
  }

  .admin-table th:nth-child(4),
  .admin-table td:nth-child(4){
    width:90px !important;
    min-width:90px !important;
  }

  .admin-table-actions-col,
  .admin-table th:last-child,
  .admin-table td:last-child{
    width:150px !important;
    min-width:150px !important;
    max-width:150px !important;
    overflow:hidden !important;
  }

  .admin-table-thumb{
    width:48px !important;
    height:38px !important;
    border-radius:8px !important;
  }

  .admin-chip{
    min-width:0 !important;
    padding:4px 7px !important;
    font-size:11px !important;
  }

  .admin-row-actions{
    display:grid !important;
    grid-template-columns:46px 1fr !important;
    gap:6px !important;
    width:100% !important;
    align-items:stretch !important;
  }

  .admin-order-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:4px !important;
    width:46px !important;
    min-width:46px !important;
  }

  .admin-order-actions .btn-order{
    width:46px !important;
    height:28px !important;
    min-height:28px !important;
    padding:0 !important;
    font-size:14px !important;
  }

  .admin-crud-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:4px !important;
    width:100% !important;
    min-width:0 !important;
  }

  .admin-crud-actions .btn{
    width:100% !important;
    height:28px !important;
    min-height:28px !important;
    padding:0 6px !important;
    font-size:11px !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  .admin-table td strong{
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
}


/* Admin V22 - tabelas realmente compactas e sem corte lateral
   - remove min-width herdado das versões anteriores
   - reduz padding
   - força ações em grelha compacta dentro da célula
*/
@media (min-width:701px){
  .admin-table-wrap{
    width:100% !important;
    overflow-x:visible !important;
  }

  .admin-table{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    table-layout:fixed !important;
    border-collapse:separate !important;
  }

  .admin-table th,
  .admin-table td{
    padding:6px 7px !important;
    font-size:13px !important;
    line-height:1.2 !important;
    overflow:hidden !important;
    vertical-align:middle !important;
  }

  .admin-table-thumb{
    width:42px !important;
    height:34px !important;
    border-radius:8px !important;
  }

  .admin-chip{
    padding:4px 9px !important;
    font-size:11px !important;
    min-width:62px !important;
  }

  .admin-table th:first-child,
  .admin-table td:first-child{
    width:58px !important;
  }

  .admin-table th:nth-child(3),
  .admin-table td:nth-child(3){
    width:118px !important;
  }

  .admin-table th:nth-child(4),
  .admin-table td:nth-child(4){
    width:78px !important;
  }

  .admin-table-actions-col,
  .admin-table th:last-child,
  .admin-table td:last-child{
    width:118px !important;
    min-width:118px !important;
    max-width:118px !important;
    padding-left:4px !important;
    padding-right:4px !important;
  }

  .admin-row-actions{
    display:grid !important;
    grid-template-columns:34px minmax(0,1fr) !important;
    gap:4px !important;
    width:100% !important;
    align-items:stretch !important;
  }

  .admin-order-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:3px !important;
    width:34px !important;
    min-width:34px !important;
  }

  .admin-crud-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:3px !important;
    width:100% !important;
    min-width:0 !important;
  }

  .admin-table-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:3px !important;
    width:100% !important;
    min-width:0 !important;
  }

  .admin-table-actions .btn:nth-child(n+3){
    grid-column:1 / -1 !important;
  }

  .admin-order-actions .btn-order,
  .admin-crud-actions .btn,
  .admin-table-actions .btn{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:26px !important;
    min-height:26px !important;
    padding:0 4px !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-sizing:border-box !important;
    border-radius:8px !important;
    font-size:10.5px !important;
    line-height:1 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .admin-order-actions .btn-order,
  .admin-table-actions .btn[title="Subir"],
  .admin-table-actions .btn[title="Descer"]{
    font-size:14px !important;
    font-weight:900 !important;
    padding:0 !important;
  }

  .admin-table td strong,
  .admin-table td{
    white-space:nowrap !important;
    text-overflow:ellipsis !important;
  }
}

@media (min-width:701px) and (max-width:980px){
  .admin-table th,
  .admin-table td{
    padding:5px 5px !important;
    font-size:12px !important;
  }

  .admin-table-actions-col,
  .admin-table th:last-child,
  .admin-table td:last-child{
    width:104px !important;
    min-width:104px !important;
    max-width:104px !important;
  }

  .admin-row-actions{
    grid-template-columns:30px minmax(0,1fr) !important;
  }

  .admin-order-actions{
    width:30px !important;
    min-width:30px !important;
  }

  .admin-order-actions .btn-order,
  .admin-crud-actions .btn,
  .admin-table-actions .btn{
    height:24px !important;
    min-height:24px !important;
    font-size:10px !important;
  }
}

/* Admin V23 - correção específica da listagem de Categorias de Insufláveis
   Mantém as restantes tabelas como estão e dá largura real às ações das categorias. */
@media (min-width:701px){
  #inflatableCategoriesTable{
    width:100% !important;
    table-layout:fixed !important;
    min-width:0 !important;
  }

  #inflatableCategoriesTable th,
  #inflatableCategoriesTable td{
    padding:8px 10px !important;
    overflow:hidden !important;
    vertical-align:middle !important;
  }

  #inflatableCategoriesTable th:nth-child(1),
  #inflatableCategoriesTable td:nth-child(1){
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
  }

  #inflatableCategoriesTable th:nth-child(2),
  #inflatableCategoriesTable td:nth-child(2){
    width:100px !important;
    min-width:100px !important;
    max-width:100px !important;
    text-align:center !important;
  }

  #inflatableCategoriesTable th:nth-child(3),
  #inflatableCategoriesTable td:nth-child(3){
    width:110px !important;
    min-width:110px !important;
    max-width:110px !important;
    text-align:center !important;
  }

  #inflatableCategoriesTable th:nth-child(4),
  #inflatableCategoriesTable td:nth-child(4),
  #inflatableCategoriesTable th:last-child,
  #inflatableCategoriesTable td:last-child{
    width:245px !important;
    min-width:245px !important;
    max-width:245px !important;
    overflow:visible !important;
    padding-left:6px !important;
    padding-right:10px !important;
  }

  #inflatableCategoriesTable .admin-table-actions{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-end !important;
    flex-wrap:nowrap !important;
    gap:5px !important;
    width:100% !important;
    min-width:0 !important;
  }

  #inflatableCategoriesTable .admin-table-actions .btn{
    width:auto !important;
    max-width:none !important;
    min-width:32px !important;
    height:30px !important;
    min-height:30px !important;
    padding:0 8px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    white-space:nowrap !important;
    overflow:visible !important;
    text-overflow:clip !important;
    font-size:12px !important;
    line-height:1 !important;
  }

  #inflatableCategoriesTable .admin-table-actions .btn[title="Subir"],
  #inflatableCategoriesTable .admin-table-actions .btn[title="Descer"]{
    width:32px !important;
    min-width:32px !important;
    padding:0 !important;
    font-size:15px !important;
  }
}

@media (min-width:701px) and (max-width:980px){
  #inflatableCategoriesTable th,
  #inflatableCategoriesTable td{
    padding:6px 6px !important;
    font-size:12px !important;
  }

  #inflatableCategoriesTable th:nth-child(2),
  #inflatableCategoriesTable td:nth-child(2){
    width:74px !important;
    min-width:74px !important;
    max-width:74px !important;
  }

  #inflatableCategoriesTable th:nth-child(3),
  #inflatableCategoriesTable td:nth-child(3){
    width:86px !important;
    min-width:86px !important;
    max-width:86px !important;
  }

  #inflatableCategoriesTable th:nth-child(4),
  #inflatableCategoriesTable td:nth-child(4),
  #inflatableCategoriesTable th:last-child,
  #inflatableCategoriesTable td:last-child{
    width:196px !important;
    min-width:196px !important;
    max-width:196px !important;
  }

  #inflatableCategoriesTable .admin-table-actions{
    gap:3px !important;
  }

  #inflatableCategoriesTable .admin-table-actions .btn{
    height:28px !important;
    min-height:28px !important;
    padding:0 6px !important;
    font-size:11px !important;
  }

  #inflatableCategoriesTable .admin-table-actions .btn[title="Subir"],
  #inflatableCategoriesTable .admin-table-actions .btn[title="Descer"]{
    width:28px !important;
    min-width:28px !important;
  }
}


/* Compact admin lists - same pattern as categorias */
.admin-compact-list-wrap{overflow-x:visible !important;}
.admin-table.admin-compact-table{width:100% !important;min-width:0 !important;table-layout:fixed !important;}
.admin-table.admin-compact-table th,.admin-table.admin-compact-table td{padding:8px 10px !important;vertical-align:middle !important;white-space:normal !important;}
.admin-table.admin-compact-table th:first-child,.admin-table.admin-compact-table td:first-child{width:auto !important;}
.admin-table.admin-compact-table th:nth-child(2),.admin-table.admin-compact-table td:nth-child(2){width:160px !important;}
.admin-table.admin-compact-table th:nth-child(3),.admin-table.admin-compact-table td:nth-child(3){width:120px !important;text-align:center !important;}
.admin-table.admin-compact-table th:last-child,.admin-table.admin-compact-table td:last-child{width:245px !important;min-width:245px !important;max-width:245px !important;overflow:visible !important;}
.admin-compact-actions,.admin-table.admin-compact-table .admin-table-actions{display:flex !important;flex-direction:row !important;align-items:center !important;justify-content:flex-end !important;flex-wrap:nowrap !important;gap:5px !important;}
.admin-compact-actions .btn,.admin-table.admin-compact-table .admin-table-actions .btn{width:auto !important;min-width:32px !important;height:30px !important;min-height:30px !important;padding:0 8px !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;white-space:nowrap !important;font-size:12px !important;line-height:1 !important;}
.admin-compact-actions .btn[title="Subir"],.admin-compact-actions .btn[title="Descer"],.admin-table.admin-compact-table .admin-table-actions .btn[title="Subir"],.admin-table.admin-compact-table .admin-table-actions .btn[title="Descer"]{width:32px !important;min-width:32px !important;padding:0 !important;font-size:15px !important;}
#servicesTable.admin-compact-table th:nth-child(2),#servicesTable.admin-compact-table td:nth-child(2){width:120px !important;text-align:center !important;}
#servicesTable.admin-compact-table th:nth-child(3),#servicesTable.admin-compact-table td:nth-child(3){width:245px !important;min-width:245px !important;max-width:245px !important;}
@media (max-width:760px){.admin-table.admin-compact-table thead{display:none !important;}.admin-table.admin-compact-table,.admin-table.admin-compact-table tbody,.admin-table.admin-compact-table tr,.admin-table.admin-compact-table td{display:block !important;width:100% !important;min-width:0 !important;max-width:none !important;}.admin-table.admin-compact-table tr{padding:12px !important;border-bottom:1px solid rgba(14,23,48,.10) !important;}.admin-table.admin-compact-table td{padding:4px 0 !important;text-align:left !important;}.admin-table.admin-compact-table td::before{content:attr(data-label) ': ';font-weight:700;margin-right:6px;color:#64748b;}.admin-table.admin-compact-table td[data-label="Ações"]::before{display:block;margin-bottom:6px;}.admin-table.admin-compact-table .admin-table-actions{justify-content:flex-start !important;flex-wrap:wrap !important;}}

/* Botão de remover imagem igual ao banner, para formulários do backoffice */
.admin-removable-image {
  overflow: visible !important;
}
.admin-removable-image img {
  border-radius: 14px;
}
.admin-removable-image .banner-remove-btn,
.admin-image-remove-btn {
  position: absolute;
  top: -10px;
  right: -10px;
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 999px;
  background: #fff;
  color: #1f2937;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 6px 16px rgba(15, 23, 42, .18);
  z-index: 3;
}
.admin-removable-image .banner-remove-btn:hover,
.admin-image-remove-btn:hover {
  background: #fee2e2;
  color: #dc2626;
}
.admin-removable-image.is-removing img {
  opacity: .35;
  filter: grayscale(1);
}
.admin-image-remove-message {
  display: none;
  position: absolute;
  left: 8px;
  right: 8px;
  bottom: 8px;
  padding: 6px 8px;
  border-radius: 999px;
  background: rgba(254, 226, 226, .96);
  color: #991b1b;
  font-size: 11px;
  font-weight: 800;
  text-align: center;
  z-index: 2;
}
.admin-removable-image.is-removing .admin-image-remove-message {
  display: block;
}


/* Correção final: botão remover imagem igual ao X do banner em Mascotes e Serviços */
.admin-removable-images {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: 16px !important;
  overflow: visible !important;
  margin-top: 18px !important;
}
.admin-removable-images .admin-removable-image {
  position: relative !important;
  width: 96px !important;
  height: 82px !important;
  flex: 0 0 96px !important;
  overflow: visible !important;
  border: 1px solid rgba(18,24,43,.08) !important;
  border-radius: 14px !important;
  background: #fff3c4 !important;
}
.admin-removable-images .admin-removable-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 14px !important;
}
.admin-removable-images .admin-removable-image .admin-image-remove-btn,
.admin-removable-images .admin-removable-image .banner-remove-btn {
  position: absolute !important;
  top: -10px !important;
  right: -10px !important;
  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #1f2937 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-shadow: 0 6px 16px rgba(15, 23, 42, .18) !important;
  z-index: 5 !important;
  appearance: none !important;
}
.admin-removable-images .admin-removable-image .admin-image-remove-btn:hover,
.admin-removable-images .admin-removable-image .banner-remove-btn:hover {
  background: #fee2e2 !important;
  color: #dc2626 !important;
}
.admin-removable-images .admin-removable-image.is-removing img {
  opacity: .35 !important;
  filter: grayscale(1) !important;
}
.admin-removable-images .admin-removable-image .admin-image-remove-message {
  display: none !important;
  position: absolute !important;
  left: 6px !important;
  right: 6px !important;
  bottom: 6px !important;
  padding: 5px 6px !important;
  border-radius: 999px !important;
  background: rgba(254, 226, 226, .96) !important;
  color: #991b1b !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  text-align: center !important;
  z-index: 4 !important;
}
.admin-removable-images .admin-removable-image.is-removing .admin-image-remove-message {
  display: block !important;
}

/* Admin V24 - listagens uniformes e responsivas
   Aplica o mesmo comportamento a Categorias, Insufláveis, Mascotes e Serviços. */
.admin-compact-list-wrap{
  overflow:visible !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.admin-compact-table{
  width:100% !important;
  min-width:0 !important;
  table-layout:auto !important;
  border-collapse:separate !important;
  border-spacing:0 10px !important;
}

.admin-compact-table thead th{
  background:transparent !important;
  border:0 !important;
  padding:0 12px 6px !important;
  position:static !important;
}

.admin-compact-table tbody tr{
  background:#fff !important;
  border:1px solid #eee8dc !important;
  border-radius:16px !important;
  box-shadow:0 8px 20px rgba(18,24,43,.04) !important;
}

.admin-compact-table tbody td{
  background:#fff !important;
  border-top:1px solid #eee8dc !important;
  border-bottom:1px solid #eee8dc !important;
  padding:10px 12px !important;
  height:auto !important;
}

.admin-compact-table tbody td:first-child{
  border-left:1px solid #eee8dc !important;
  border-radius:16px 0 0 16px !important;
  width:auto !important;
}

.admin-compact-table tbody td:last-child{
  border-right:1px solid #eee8dc !important;
  border-radius:0 16px 16px 0 !important;
  width:260px !important;
  min-width:260px !important;
  max-width:260px !important;
}

.admin-compact-table th,
.admin-compact-table td{
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
}

.admin-compact-table td strong{
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
}

.admin-compact-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:6px !important;
  flex-wrap:nowrap !important;
  width:100% !important;
}

.admin-compact-actions .btn{
  width:auto !important;
  min-width:34px !important;
  min-height:34px !important;
  padding:8px 10px !important;
  font-size:12px !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

.admin-compact-actions .btn[title="Subir"],
.admin-compact-actions .btn[title="Descer"]{
  width:34px !important;
  padding:8px 0 !important;
  flex:0 0 34px !important;
}

@media (max-width: 760px){
  .admin-compact-table,
  .admin-compact-table thead,
  .admin-compact-table tbody,
  .admin-compact-table tr,
  .admin-compact-table th,
  .admin-compact-table td{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    box-sizing:border-box !important;
  }

  .admin-compact-table{
    border-spacing:0 !important;
  }

  .admin-compact-table thead{
    display:none !important;
  }

  .admin-compact-table tbody{
    display:grid !important;
    gap:12px !important;
  }

  .admin-compact-table tbody tr{
    display:grid !important;
    gap:0 !important;
    border:1px solid #eee8dc !important;
    border-radius:16px !important;
    overflow:hidden !important;
    box-shadow:0 8px 20px rgba(18,24,43,.05) !important;
  }

  .admin-compact-table tbody td,
  .admin-compact-table tbody td:first-child,
  .admin-compact-table tbody td:last-child{
    display:grid !important;
    grid-template-columns:94px minmax(0, 1fr) !important;
    align-items:center !important;
    gap:10px !important;
    border:0 !important;
    border-bottom:1px solid #f0eadf !important;
    border-radius:0 !important;
    padding:10px 12px !important;
    background:#fff !important;
  }

  .admin-compact-table tbody td:last-child{
    border-bottom:0 !important;
  }

  .admin-compact-table td::before{
    content:attr(data-label) !important;
    color:#5c6474 !important;
    font-size:11px !important;
    font-weight:950 !important;
    text-transform:uppercase !important;
    letter-spacing:.05em !important;
  }

  .admin-compact-table td[data-label="Ações"]{
    display:block !important;
    padding:12px !important;
  }

  .admin-compact-table td[data-label="Ações"]::before{
    display:none !important;
  }

  .admin-compact-actions{
    display:grid !important;
    grid-template-columns:34px 34px minmax(58px, 1fr) minmax(76px, 1.15fr) !important;
    gap:6px !important;
    justify-content:stretch !important;
    align-items:center !important;
    width:100% !important;
  }

  .admin-compact-actions .btn,
  .admin-compact-actions .btn[title="Subir"],
  .admin-compact-actions .btn[title="Descer"]{
    width:100% !important;
    min-width:0 !important;
    flex:auto !important;
    min-height:34px !important;
    padding:7px 6px !important;
    font-size:11px !important;
    white-space:nowrap !important;
  }
}

@media (max-width: 420px){
  .admin-compact-table tbody td,
  .admin-compact-table tbody td:first-child,
  .admin-compact-table tbody td:last-child{
    grid-template-columns:82px minmax(0, 1fr) !important;
    padding:9px 10px !important;
  }

  .admin-compact-actions{
    grid-template-columns:30px 30px minmax(54px, 1fr) minmax(70px, 1.1fr) !important;
    gap:5px !important;
  }
}


/* Admin V25 - ações sempre na mesma linha no responsivo */
@media (max-width:760px){
  .admin-compact-table td[data-label="Ações"]{
    padding:10px !important;
  }
  .admin-compact-table td[data-label="Ações"] .admin-compact-actions,
  .admin-compact-table td[data-label="Ações"] .admin-table-actions{
    display:grid !important;
    grid-template-columns:32px 32px minmax(56px,1fr) minmax(72px,1.12fr) !important;
    gap:6px !important;
    width:100% !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
  }
  .admin-compact-table td[data-label="Ações"] .btn{
    min-width:0 !important;
    width:100% !important;
    min-height:34px !important;
    height:34px !important;
    padding:6px 5px !important;
    font-size:11px !important;
    line-height:1 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  .admin-compact-table td[data-label="Ações"] .btn[title="Subir"],
  .admin-compact-table td[data-label="Ações"] .btn[title="Descer"]{
    padding:0 !important;
    font-size:15px !important;
  }
}
@media (max-width:360px){
  .admin-compact-table td[data-label="Ações"] .admin-compact-actions,
  .admin-compact-table td[data-label="Ações"] .admin-table-actions{
    grid-template-columns:28px 28px minmax(50px,1fr) minmax(66px,1.1fr) !important;
    gap:4px !important;
  }
  .admin-compact-table td[data-label="Ações"] .btn{
    font-size:10px !important;
    padding:5px 3px !important;
  }
}

.admin-list-thumb{width:42px;height:42px;object-fit:cover;border-radius:8px;display:block;max-width:42px;flex:0 0 42px;}
@media (max-width: 640px){.admin-list-thumb{width:38px;height:38px;max-width:38px;}}

/* Admin V27 - mobile limpo com imagem + conteúdo + ações organizadas */
@media (max-width: 760px){
  #inflatablesTable.admin-compact-table tbody,
  #mascotsTable.admin-compact-table tbody,
  #servicesTable.admin-compact-table tbody{
    display:grid !important;
    gap:12px !important;
  }

  #inflatablesTable.admin-compact-table tbody tr,
  #mascotsTable.admin-compact-table tbody tr{
    display:grid !important;
    grid-template-columns:46px minmax(0,1fr) auto !important;
    grid-template-areas:
      "img main status"
      "img category status"
      "actions actions actions" !important;
    column-gap:10px !important;
    row-gap:3px !important;
    padding:12px !important;
    border:1px solid #eee8dc !important;
    border-radius:18px !important;
    background:#fff !important;
    overflow:hidden !important;
  }

  #servicesTable.admin-compact-table tbody tr{
    display:grid !important;
    grid-template-columns:46px minmax(0,1fr) auto !important;
    grid-template-areas:
      "img main status"
      "actions actions actions" !important;
    column-gap:10px !important;
    row-gap:8px !important;
    padding:12px !important;
    border:1px solid #eee8dc !important;
    border-radius:18px !important;
    background:#fff !important;
    overflow:hidden !important;
  }

  #inflatablesTable.admin-compact-table tbody td,
  #inflatablesTable.admin-compact-table tbody td:first-child,
  #inflatablesTable.admin-compact-table tbody td:last-child,
  #mascotsTable.admin-compact-table tbody td,
  #mascotsTable.admin-compact-table tbody td:first-child,
  #mascotsTable.admin-compact-table tbody td:last-child,
  #servicesTable.admin-compact-table tbody td,
  #servicesTable.admin-compact-table tbody td:first-child,
  #servicesTable.admin-compact-table tbody td:last-child{
    display:block !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    border-radius:0 !important;
  }

  #inflatablesTable.admin-compact-table tbody td::before,
  #mascotsTable.admin-compact-table tbody td::before,
  #servicesTable.admin-compact-table tbody td::before{
    display:none !important;
    content:none !important;
  }

  #inflatablesTable td[data-label="Imagem"],
  #mascotsTable td[data-label="Imagem"],
  #servicesTable td[data-label="Imagem"]{
    grid-area:img !important;
    align-self:center !important;
  }

  #inflatablesTable td[data-label="Nome"],
  #mascotsTable td[data-label="Nome"],
  #servicesTable td[data-label="Serviço"]{
    grid-area:main !important;
    align-self:end !important;
    font-size:14px !important;
    line-height:1.15 !important;
  }

  #inflatablesTable td[data-label="Categoria"],
  #mascotsTable td[data-label="Categoria"]{
    grid-area:category !important;
    align-self:start !important;
    color:#6b7280 !important;
    font-size:12px !important;
    line-height:1.2 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  #inflatablesTable td[data-label="Estado"],
  #mascotsTable td[data-label="Estado"],
  #servicesTable td[data-label="Estado"]{
    grid-area:status !important;
    align-self:center !important;
    justify-self:end !important;
  }

  #inflatablesTable td[data-label="Ações"],
  #mascotsTable td[data-label="Ações"],
  #servicesTable td[data-label="Ações"]{
    grid-area:actions !important;
    margin-top:8px !important;
  }

  #inflatablesTable .admin-list-thumb,
  #mascotsTable .admin-list-thumb,
  #servicesTable .admin-list-thumb{
    width:46px !important;
    height:46px !important;
    max-width:46px !important;
    border-radius:12px !important;
    object-fit:cover !important;
    background:#fff7e6 !important;
  }

  #inflatablesTable .admin-chip,
  #mascotsTable .admin-chip,
  #servicesTable .admin-chip{
    min-width:auto !important;
    padding:6px 12px !important;
    font-size:11px !important;
  }

  #inflatablesTable .admin-compact-actions,
  #mascotsTable .admin-compact-actions,
  #servicesTable .admin-compact-actions{
    display:grid !important;
    grid-template-columns:34px 34px minmax(64px,1fr) minmax(82px,1.1fr) !important;
    gap:6px !important;
    width:100% !important;
    align-items:center !important;
  }
}

@media (max-width: 360px){
  #inflatablesTable.admin-compact-table tbody tr,
  #mascotsTable.admin-compact-table tbody tr,
  #servicesTable.admin-compact-table tbody tr{
    grid-template-columns:42px minmax(0,1fr) auto !important;
    padding:10px !important;
    column-gap:8px !important;
  }

  #inflatablesTable .admin-list-thumb,
  #mascotsTable .admin-list-thumb,
  #servicesTable .admin-list-thumb{
    width:42px !important;
    height:42px !important;
    max-width:42px !important;
  }

  #inflatablesTable .admin-compact-actions,
  #mascotsTable .admin-compact-actions,
  #servicesTable .admin-compact-actions{
    grid-template-columns:30px 30px minmax(58px,1fr) minmax(72px,1.1fr) !important;
    gap:5px !important;
  }
}

/* Admin V28 - cards mobile organizados: topo compacto + ações na mesma linha */
@media (max-width: 760px){
  #inflatablesTable.admin-compact-table,
  #mascotsTable.admin-compact-table,
  #servicesTable.admin-compact-table,
  #inflatableCategoriesTable.admin-compact-table{
    width:100% !important;
    border-collapse:separate !important;
    border-spacing:0 10px !important;
  }

  #inflatablesTable.admin-compact-table thead,
  #mascotsTable.admin-compact-table thead,
  #servicesTable.admin-compact-table thead,
  #inflatableCategoriesTable.admin-compact-table thead{
    display:none !important;
  }

  #inflatablesTable.admin-compact-table tbody,
  #mascotsTable.admin-compact-table tbody,
  #servicesTable.admin-compact-table tbody,
  #inflatableCategoriesTable.admin-compact-table tbody{
    display:grid !important;
    gap:10px !important;
  }

  #inflatablesTable.admin-compact-table tbody tr,
  #mascotsTable.admin-compact-table tbody tr,
  #servicesTable.admin-compact-table tbody tr{
    display:grid !important;
    grid-template-columns:48px minmax(0,1fr) auto !important;
    grid-template-areas:
      "img title status"
      "img category status"
      "actions actions actions" !important;
    align-items:center !important;
    column-gap:10px !important;
    row-gap:4px !important;
    padding:10px !important;
    border:1px solid #efe7d8 !important;
    border-radius:16px !important;
    background:#fff !important;
    box-shadow:0 6px 18px rgba(15,23,42,.04) !important;
    overflow:visible !important;
  }

  #servicesTable.admin-compact-table tbody tr{
    grid-template-areas:
      "img title status"
      "actions actions actions" !important;
    row-gap:9px !important;
  }

  #inflatableCategoriesTable.admin-compact-table tbody tr{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-areas:
      "title status"
      "count status"
      "actions actions" !important;
    align-items:center !important;
    column-gap:10px !important;
    row-gap:4px !important;
    padding:10px !important;
    border:1px solid #efe7d8 !important;
    border-radius:16px !important;
    background:#fff !important;
    box-shadow:0 6px 18px rgba(15,23,42,.04) !important;
    overflow:visible !important;
  }

  #inflatablesTable.admin-compact-table tbody td,
  #mascotsTable.admin-compact-table tbody td,
  #servicesTable.admin-compact-table tbody td,
  #inflatableCategoriesTable.admin-compact-table tbody td{
    display:block !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    text-align:left !important;
  }

  #inflatablesTable.admin-compact-table tbody td::before,
  #mascotsTable.admin-compact-table tbody td::before,
  #servicesTable.admin-compact-table tbody td::before,
  #inflatableCategoriesTable.admin-compact-table tbody td::before{
    display:none !important;
    content:none !important;
  }

  #inflatablesTable td[data-label="Imagem"],
  #mascotsTable td[data-label="Imagem"],
  #servicesTable td[data-label="Imagem"]{grid-area:img !important;align-self:center !important;}

  #inflatablesTable td[data-label="Nome"],
  #mascotsTable td[data-label="Nome"],
  #servicesTable td[data-label="Serviço"],
  #inflatableCategoriesTable td[data-label="Categoria"]{
    grid-area:title !important;
    align-self:center !important;
    font-size:14px !important;
    line-height:1.2 !important;
    color:#111827 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  #inflatablesTable td[data-label="Categoria"],
  #mascotsTable td[data-label="Categoria"]{
    grid-area:category !important;
    color:#6b7280 !important;
    font-size:12px !important;
    line-height:1.2 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  #inflatableCategoriesTable td[data-label="Insufláveis"]{
    grid-area:count !important;
    color:#6b7280 !important;
    font-size:12px !important;
  }

  #inflatablesTable td[data-label="Estado"],
  #mascotsTable td[data-label="Estado"],
  #servicesTable td[data-label="Estado"],
  #inflatableCategoriesTable td[data-label="Estado"]{
    grid-area:status !important;
    justify-self:end !important;
    align-self:center !important;
  }

  #inflatablesTable td[data-label="Ações"],
  #mascotsTable td[data-label="Ações"],
  #servicesTable td[data-label="Ações"],
  #inflatableCategoriesTable td[data-label="Ações"]{
    grid-area:actions !important;
    margin-top:7px !important;
    overflow:visible !important;
  }

  #inflatablesTable .admin-list-thumb,
  #mascotsTable .admin-list-thumb,
  #servicesTable .admin-list-thumb{
    width:48px !important;
    height:48px !important;
    max-width:48px !important;
    border-radius:12px !important;
    object-fit:cover !important;
    display:block !important;
  }

  #inflatablesTable .admin-chip,
  #mascotsTable .admin-chip,
  #servicesTable .admin-chip,
  #inflatableCategoriesTable .admin-chip{
    padding:5px 10px !important;
    font-size:11px !important;
    line-height:1 !important;
    min-width:auto !important;
    white-space:nowrap !important;
  }

  #inflatablesTable .admin-compact-actions,
  #mascotsTable .admin-compact-actions,
  #servicesTable .admin-compact-actions,
  #inflatableCategoriesTable .admin-compact-actions{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:5px !important;
    width:100% !important;
    align-items:center !important;
    justify-content:flex-start !important;
    overflow:visible !important;
  }

  #inflatablesTable .admin-compact-actions .btn,
  #mascotsTable .admin-compact-actions .btn,
  #servicesTable .admin-compact-actions .btn,
  #inflatableCategoriesTable .admin-compact-actions .btn{
    height:32px !important;
    min-height:32px !important;
    padding:0 8px !important;
    border-radius:9px !important;
    font-size:12px !important;
    line-height:32px !important;
    white-space:nowrap !important;
    flex:0 0 auto !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  #inflatablesTable .admin-compact-actions .btn[title="Subir"],
  #inflatablesTable .admin-compact-actions .btn[title="Descer"],
  #mascotsTable .admin-compact-actions .btn[title="Subir"],
  #mascotsTable .admin-compact-actions .btn[title="Descer"],
  #servicesTable .admin-compact-actions .btn[title="Subir"],
  #servicesTable .admin-compact-actions .btn[title="Descer"],
  #inflatableCategoriesTable .admin-compact-actions .btn[title="Subir"],
  #inflatableCategoriesTable .admin-compact-actions .btn[title="Descer"]{
    width:32px !important;
    padding:0 !important;
  }
}

@media (max-width: 380px){
  #inflatablesTable.admin-compact-table tbody tr,
  #mascotsTable.admin-compact-table tbody tr,
  #servicesTable.admin-compact-table tbody tr{
    grid-template-columns:42px minmax(0,1fr) auto !important;
    padding:9px !important;
    column-gap:8px !important;
  }

  #inflatablesTable .admin-list-thumb,
  #mascotsTable .admin-list-thumb,
  #servicesTable .admin-list-thumb{
    width:42px !important;
    height:42px !important;
    max-width:42px !important;
  }

  #inflatablesTable .admin-compact-actions .btn,
  #mascotsTable .admin-compact-actions .btn,
  #servicesTable .admin-compact-actions .btn,
  #inflatableCategoriesTable .admin-compact-actions .btn{
    font-size:11px !important;
    padding:0 6px !important;
  }
}


/* Admin V29 - ajuste final: serviços/mascotes mobile limpos e imagens corretas */
@media (max-width: 760px){
  #servicesTable.admin-compact-table tbody tr,
  #mascotsTable.admin-compact-table tbody tr,
  #inflatablesTable.admin-compact-table tbody tr{
    grid-template-columns:46px minmax(0,1fr) auto !important;
    grid-template-areas:
      "img title status"
      "img category status"
      "actions actions actions" !important;
    padding:10px !important;
    column-gap:9px !important;
    row-gap:6px !important;
    border-radius:16px !important;
  }

  #servicesTable.admin-compact-table tbody tr{
    grid-template-areas:
      "img title status"
      "actions actions actions" !important;
  }

  #servicesTable td[data-label="Serviço"],
  #mascotsTable td[data-label="Nome"],
  #inflatablesTable td[data-label="Nome"]{
    font-size:15px !important;
    font-weight:800 !important;
    min-width:0 !important;
  }

  #servicesTable td[data-label="Estado"],
  #mascotsTable td[data-label="Estado"],
  #inflatablesTable td[data-label="Estado"]{
    justify-self:end !important;
    align-self:start !important;
  }

  #servicesTable .admin-list-thumb,
  #mascotsTable .admin-list-thumb,
  #inflatablesTable .admin-list-thumb{
    width:46px !important;
    height:46px !important;
    max-width:46px !important;
    border-radius:10px !important;
  }

  #servicesTable td[data-label="Ações"],
  #mascotsTable td[data-label="Ações"],
  #inflatablesTable td[data-label="Ações"]{
    margin-top:6px !important;
    width:100% !important;
  }

  #servicesTable .admin-compact-actions,
  #mascotsTable .admin-compact-actions,
  #inflatablesTable .admin-compact-actions{
    display:grid !important;
    grid-template-columns:34px 34px minmax(70px,1fr) minmax(78px,1fr) !important;
    gap:5px !important;
    width:100% !important;
  }

  #servicesTable .admin-compact-actions .btn,
  #mascotsTable .admin-compact-actions .btn,
  #inflatablesTable .admin-compact-actions .btn{
    width:100% !important;
    min-width:0 !important;
    height:32px !important;
    padding:0 6px !important;
    font-size:12px !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  #servicesTable .admin-compact-actions .btn[title="Subir"],
  #servicesTable .admin-compact-actions .btn[title="Descer"],
  #mascotsTable .admin-compact-actions .btn[title="Subir"],
  #mascotsTable .admin-compact-actions .btn[title="Descer"],
  #inflatablesTable .admin-compact-actions .btn[title="Subir"],
  #inflatablesTable .admin-compact-actions .btn[title="Descer"]{
    width:34px !important;
  }
}

@media (max-width: 360px){
  #servicesTable .admin-compact-actions,
  #mascotsTable .admin-compact-actions,
  #inflatablesTable .admin-compact-actions{
    grid-template-columns:30px 30px minmax(62px,1fr) minmax(70px,1fr) !important;
    gap:4px !important;
  }
  #servicesTable .admin-compact-actions .btn,
  #mascotsTable .admin-compact-actions .btn,
  #inflatablesTable .admin-compact-actions .btn{
    font-size:11px !important;
    padding:0 4px !important;
  }
}

/* Admin V30 - correção definitiva APENAS Serviços mobile: imagem | título | estado */
@media (max-width: 760px){
  #servicesTable.admin-compact-table,
  #servicesTable.admin-compact-table tbody,
  #servicesTable.admin-compact-table tr,
  #servicesTable.admin-compact-table td{
    box-sizing:border-box !important;
  }

  #servicesTable.admin-compact-table thead{
    display:none !important;
  }

  #servicesTable.admin-compact-table tbody{
    display:grid !important;
    gap:10px !important;
    width:100% !important;
  }

  #servicesTable.admin-compact-table tbody tr{
    display:grid !important;
    width:100% !important;
    grid-template-columns:48px minmax(0,1fr) max-content !important;
    grid-template-areas:
      "svcimg svctitle svcstatus"
      "svcactions svcactions svcactions" !important;
    align-items:center !important;
    gap:10px 10px !important;
    padding:10px !important;
    border:1px solid #efe7d8 !important;
    border-radius:16px !important;
    background:#fff !important;
    overflow:hidden !important;
  }

  #servicesTable.admin-compact-table tbody td{
    display:block !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    background:transparent !important;
    min-width:0 !important;
    max-width:none !important;
    width:auto !important;
    text-align:left !important;
  }

  #servicesTable.admin-compact-table tbody td::before{
    display:none !important;
    content:none !important;
  }

  #servicesTable.admin-compact-table tbody td:nth-child(1){
    grid-area:svcimg !important;
    justify-self:start !important;
    align-self:center !important;
  }

  #servicesTable.admin-compact-table tbody td:nth-child(2){
    grid-area:svctitle !important;
    justify-self:stretch !important;
    align-self:center !important;
    font-size:15px !important;
    font-weight:800 !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  #servicesTable.admin-compact-table tbody td:nth-child(2) strong{
    display:block !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  #servicesTable.admin-compact-table tbody td:nth-child(3){
    grid-area:svcstatus !important;
    justify-self:end !important;
    align-self:center !important;
    white-space:nowrap !important;
  }

  #servicesTable.admin-compact-table tbody td:nth-child(4){
    grid-area:svcactions !important;
    width:100% !important;
    margin-top:2px !important;
    overflow:hidden !important;
  }

  #servicesTable.admin-compact-table .admin-list-thumb{
    display:block !important;
    width:48px !important;
    height:48px !important;
    max-width:48px !important;
    min-width:48px !important;
    object-fit:cover !important;
    border-radius:12px !important;
  }

  #servicesTable.admin-compact-table .admin-chip{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:5px 12px !important;
    font-size:11px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  #servicesTable.admin-compact-table .admin-compact-actions{
    display:grid !important;
    width:100% !important;
    grid-template-columns:34px 34px minmax(82px,1fr) minmax(88px,1fr) !important;
    gap:5px !important;
    align-items:center !important;
  }

  #servicesTable.admin-compact-table .admin-compact-actions .btn{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:32px !important;
    min-height:32px !important;
    padding:0 6px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:9px !important;
    font-size:12px !important;
    line-height:1 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  #servicesTable.admin-compact-table .admin-compact-actions .btn[title="Subir"],
  #servicesTable.admin-compact-table .admin-compact-actions .btn[title="Descer"]{
    width:34px !important;
    padding:0 !important;
  }
}

@media (max-width: 360px){
  #servicesTable.admin-compact-table tbody tr{
    grid-template-columns:42px minmax(0,1fr) max-content !important;
    gap:8px 8px !important;
    padding:9px !important;
  }
  #servicesTable.admin-compact-table .admin-list-thumb{
    width:42px !important;
    height:42px !important;
    max-width:42px !important;
    min-width:42px !important;
  }
  #servicesTable.admin-compact-table .admin-compact-actions{
    grid-template-columns:30px 30px minmax(74px,1fr) minmax(80px,1fr) !important;
    gap:4px !important;
  }
  #servicesTable.admin-compact-table .admin-compact-actions .btn{
    font-size:11px !important;
    padding:0 4px !important;
  }
  #servicesTable.admin-compact-table .admin-compact-actions .btn[title="Subir"],
  #servicesTable.admin-compact-table .admin-compact-actions .btn[title="Descer"]{
    width:30px !important;
  }
}

/* Admin V31 - serviços mobile copiado/igualado ao padrão dos insufláveis */
@media (max-width: 760px){
  #servicesTable.admin-compact-table{
    width:100% !important;
    border-collapse:separate !important;
    border-spacing:0 10px !important;
  }
  #servicesTable.admin-compact-table thead{display:none !important;}
  #servicesTable.admin-compact-table tbody{display:grid !important;gap:10px !important;width:100% !important;}
  #servicesTable.admin-compact-table tbody tr{
    display:grid !important;
    width:100% !important;
    grid-template-columns:48px minmax(0,1fr) auto !important;
    grid-template-areas:
      "img title status"
      "actions actions actions" !important;
    align-items:center !important;
    column-gap:10px !important;
    row-gap:9px !important;
    padding:10px !important;
    border:1px solid #efe7d8 !important;
    border-radius:16px !important;
    background:#fff !important;
    box-shadow:0 6px 18px rgba(15,23,42,.04) !important;
    overflow:visible !important;
  }
  #servicesTable.admin-compact-table tbody td{
    display:block !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    background:transparent !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    text-align:left !important;
  }
  #servicesTable.admin-compact-table tbody td::before{display:none !important;content:none !important;}
  #servicesTable.admin-compact-table td[data-label="Imagem"]{
    grid-area:img !important;
    align-self:center !important;
    justify-self:start !important;
  }
  #servicesTable.admin-compact-table td[data-label="Serviço"]{
    grid-area:title !important;
    align-self:center !important;
    justify-self:stretch !important;
    font-size:15px !important;
    font-weight:800 !important;
    line-height:1.15 !important;
    color:#111827 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  #servicesTable.admin-compact-table td[data-label="Serviço"] strong{
    display:block !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  #servicesTable.admin-compact-table td[data-label="Estado"]{
    grid-area:status !important;
    align-self:start !important;
    justify-self:end !important;
    white-space:nowrap !important;
  }
  #servicesTable.admin-compact-table td[data-label="Ações"]{
    grid-area:actions !important;
    width:100% !important;
    margin-top:0 !important;
    overflow:visible !important;
  }
  #servicesTable.admin-compact-table .admin-list-thumb{
    display:block !important;
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    max-width:48px !important;
    object-fit:cover !important;
    border-radius:12px !important;
  }
  #servicesTable.admin-compact-table .admin-chip{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:5px 10px !important;
    font-size:11px !important;
    line-height:1 !important;
    min-width:auto !important;
    white-space:nowrap !important;
  }
  #servicesTable.admin-compact-table .admin-compact-actions{
    display:grid !important;
    grid-template-columns:34px 34px minmax(82px,1fr) minmax(88px,1fr) !important;
    gap:5px !important;
    width:100% !important;
    align-items:center !important;
  }
  #servicesTable.admin-compact-table .admin-compact-actions .btn{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:32px !important;
    min-height:32px !important;
    padding:0 6px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:9px !important;
    font-size:12px !important;
    line-height:1 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  #servicesTable.admin-compact-table .admin-compact-actions .btn[title="Subir"],
  #servicesTable.admin-compact-table .admin-compact-actions .btn[title="Descer"]{
    width:34px !important;
    padding:0 !important;
  }
}
@media (max-width: 360px){
  #servicesTable.admin-compact-table tbody tr{
    grid-template-columns:42px minmax(0,1fr) auto !important;
    column-gap:8px !important;
    padding:9px !important;
  }
  #servicesTable.admin-compact-table .admin-list-thumb{
    width:42px !important;height:42px !important;min-width:42px !important;max-width:42px !important;
  }
  #servicesTable.admin-compact-table .admin-compact-actions{
    grid-template-columns:30px 30px minmax(74px,1fr) minmax(80px,1fr) !important;
    gap:4px !important;
  }
  #servicesTable.admin-compact-table .admin-compact-actions .btn{font-size:11px !important;padding:0 4px !important;}
  #servicesTable.admin-compact-table .admin-compact-actions .btn[title="Subir"],
  #servicesTable.admin-compact-table .admin-compact-actions .btn[title="Descer"]{width:30px !important;}
}


/* Admin V32 - correção definitiva: serviços mobile igual ao card dos insufláveis */
@media (max-width: 760px){
  #servicesTable.admin-compact-table,
  #servicesTable.admin-compact-table tbody{
    display:grid !important;
    width:100% !important;
    min-width:0 !important;
    border-spacing:0 !important;
  }

  #servicesTable.admin-compact-table thead{
    display:none !important;
  }

  #servicesTable.admin-compact-table tbody{
    gap:12px !important;
  }

  #servicesTable.admin-compact-table tbody tr{
    display:grid !important;
    grid-template-columns:46px minmax(0, 1fr) auto !important;
    grid-template-areas:
      "svc-img svc-title svc-status"
      "svc-actions svc-actions svc-actions" !important;
    column-gap:10px !important;
    row-gap:10px !important;
    align-items:center !important;
    width:100% !important;
    padding:12px !important;
    border:1px solid #eee8dc !important;
    border-radius:18px !important;
    background:#fff !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  #servicesTable.admin-compact-table tbody td,
  #servicesTable.admin-compact-table tbody td:first-child,
  #servicesTable.admin-compact-table tbody td:last-child{
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-sizing:border-box !important;
  }

  #servicesTable.admin-compact-table tbody td::before{
    display:none !important;
    content:none !important;
  }

  #servicesTable.admin-compact-table td[data-label="Imagem"]{
    grid-area:svc-img !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    align-self:center !important;
  }

  #servicesTable.admin-compact-table td[data-label="Serviço"]{
    grid-area:svc-title !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    align-self:center !important;
    text-align:left !important;
    overflow:hidden !important;
  }

  #servicesTable.admin-compact-table td[data-label="Serviço"] strong{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    font-size:14px !important;
    line-height:1.2 !important;
    text-align:left !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  #servicesTable.admin-compact-table td[data-label="Estado"]{
    grid-area:svc-status !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    justify-self:end !important;
    align-self:center !important;
  }

  #servicesTable.admin-compact-table td[data-label="Ações"]{
    grid-area:svc-actions !important;
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  #servicesTable.admin-compact-table .admin-list-thumb{
    width:46px !important;
    height:46px !important;
    max-width:46px !important;
    min-width:46px !important;
    border-radius:12px !important;
    object-fit:cover !important;
    display:block !important;
  }

  #servicesTable.admin-compact-table .admin-chip{
    margin:0 !important;
    min-width:auto !important;
    padding:6px 12px !important;
    font-size:11px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  #servicesTable.admin-compact-table .admin-compact-actions,
  #servicesTable.admin-compact-table .admin-table-actions{
    display:grid !important;
    grid-template-columns:34px 34px minmax(64px, 1fr) minmax(82px, 1.1fr) !important;
    gap:6px !important;
    width:100% !important;
    align-items:center !important;
  }
}

@media (max-width: 360px){
  #servicesTable.admin-compact-table tbody tr{
    grid-template-columns:42px minmax(0, 1fr) auto !important;
    column-gap:8px !important;
    padding:10px !important;
  }
  #servicesTable.admin-compact-table .admin-list-thumb{
    width:42px !important;
    height:42px !important;
    max-width:42px !important;
    min-width:42px !important;
  }
  #servicesTable.admin-compact-table .admin-compact-actions,
  #servicesTable.admin-compact-table .admin-table-actions{
    grid-template-columns:30px 30px minmax(58px, 1fr) minmax(72px, 1.1fr) !important;
    gap:5px !important;
  }
}

/* Admin V33 - Serviços mobile: card próprio, igual ao padrão dos insufláveis */
.admin-services-mobile-list{display:none;}
@media (max-width:760px){
  .admin-services-desktop-list{display:none !important;}
  .admin-services-mobile-list{
    display:grid !important;
    gap:12px !important;
    width:100% !important;
  }
  .admin-mobile-list-card{
    width:100% !important;
    box-sizing:border-box !important;
    padding:12px !important;
    border:1px solid #eee8dc !important;
    border-radius:18px !important;
    background:#fff !important;
    overflow:hidden !important;
  }
  .admin-mobile-list-head{
    display:grid !important;
    grid-template-columns:48px minmax(0,1fr) auto !important;
    gap:10px !important;
    align-items:start !important;
    width:100% !important;
  }
  .admin-mobile-list-thumb,
  .admin-mobile-list-thumb-empty{
    width:48px !important;
    height:48px !important;
    border-radius:12px !important;
    object-fit:cover !important;
    display:block !important;
    background:#f7f1e7 !important;
  }
  .admin-mobile-list-text{
    min-width:0 !important;
    padding-top:2px !important;
    text-align:left !important;
  }
  .admin-mobile-list-text strong{
    display:block !important;
    font-size:17px !important;
    line-height:1.15 !important;
    color:#0f172a !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  .admin-mobile-list-text small{
    display:block !important;
    margin-top:4px !important;
    font-size:12px !important;
    line-height:1.1 !important;
    color:#64748b !important;
  }
  .admin-mobile-list-head .admin-chip{
    justify-self:end !important;
    align-self:start !important;
    margin:0 !important;
    white-space:nowrap !important;
    padding:6px 12px !important;
    line-height:1 !important;
    font-size:12px !important;
  }
  .admin-mobile-list-actions{
    display:grid !important;
    grid-template-columns:34px 34px minmax(78px,1fr) minmax(82px,1fr) !important;
    gap:5px !important;
    width:100% !important;
    margin-top:12px !important;
  }
  .admin-mobile-list-actions .btn{
    width:100% !important;
    min-width:0 !important;
    height:34px !important;
    min-height:34px !important;
    padding:0 6px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    font-size:12px !important;
    line-height:1 !important;
    border-radius:9px !important;
  }
  .admin-mobile-list-actions .btn[title="Subir"],
  .admin-mobile-list-actions .btn[title="Descer"]{
    padding:0 !important;
    font-size:14px !important;
  }
}
@media (max-width:360px){
  .admin-mobile-list-card{padding:10px !important;border-radius:16px !important;}
  .admin-mobile-list-head{grid-template-columns:42px minmax(0,1fr) auto !important;gap:8px !important;}
  .admin-mobile-list-thumb,
  .admin-mobile-list-thumb-empty{width:42px !important;height:42px !important;border-radius:10px !important;}
  .admin-mobile-list-text strong{font-size:15px !important;}
  .admin-mobile-list-head .admin-chip{font-size:11px !important;padding:5px 9px !important;}
  .admin-mobile-list-actions{grid-template-columns:30px 30px minmax(68px,1fr) minmax(76px,1fr) !important;gap:4px !important;}
  .admin-mobile-list-actions .btn{height:32px !important;min-height:32px !important;font-size:11px !important;padding:0 4px !important;}
}


/* Admin header clean logo/menu - v35 */
body.admin-body .mobile-bar{
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
}
body.admin-body .admin-mobile-logo{
  display:flex !important;
  align-items:center !important;
  text-decoration:none !important;
  min-width:0 !important;
}
body.admin-body .admin-mobile-logo img{
  display:block !important;
  height:42px !important;
  width:auto !important;
  max-width:170px !important;
  object-fit:contain !important;
}
body.admin-body .brand-logo{
  gap:0 !important;
}
body.admin-body .brand-logo strong{
  display:none !important;
}
body.admin-body .brand-logo img{
  display:block !important;
  width:136px !important;
  max-width:100% !important;
  height:auto !important;
  object-fit:contain !important;
}
body.admin-body .admin-menu-toggle{
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  padding:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:14px !important;
  font-size:0 !important;
  line-height:1 !important;
  overflow:hidden !important;
}
body.admin-body .admin-menu-toggle i,
body.admin-body .admin-menu-toggle::before,
body.admin-body .admin-menu-toggle::after{
  display:none !important;
  content:none !important;
}
body.admin-body .admin-menu-toggle .hamburger-icon{
  width:22px !important;
  height:16px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
  align-items:stretch !important;
}
body.admin-body .admin-menu-toggle .hamburger-icon span{
  display:block !important;
  width:22px !important;
  height:2px !important;
  border-radius:999px !important;
  background:#172033 !important;
}
@media(max-width:1000px){
  body.admin-body .brand-logo .admin-close{
    display:none !important;
  }
}


/* Admin V34 - Insufláveis mobile igual à página dos serviços */
.admin-inflatables-mobile-list{display:none;}
@media (max-width:760px){
  .admin-inflatables-desktop-list{display:none !important;}
  .admin-inflatables-mobile-list{
    display:grid !important;
    gap:10px !important;
    width:100% !important;
  }

  .admin-inflatables-mobile-list .admin-mobile-list-card{
    display:block !important;
  }

  .admin-inflatables-mobile-list .admin-mobile-list-head{
    display:grid !important;
    grid-template-columns:48px minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:10px !important;
  }

  .admin-inflatables-mobile-list .admin-mobile-list-thumb{
    width:48px !important;
    height:48px !important;
    max-width:48px !important;
    border-radius:10px !important;
    object-fit:cover !important;
  }

  .admin-inflatables-mobile-list .admin-mobile-list-text{
    min-width:0 !important;
  }

  .admin-inflatables-mobile-list .admin-mobile-list-text strong{
    display:block !important;
    font-size:15px !important;
    line-height:1.2 !important;
    color:#111827 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  .admin-inflatables-mobile-list .admin-mobile-list-text small{
    display:block !important;
    margin-top:3px !important;
    font-size:12px !important;
    color:#6b7280 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  .admin-inflatables-mobile-list .admin-chip{
    justify-self:end !important;
    white-space:nowrap !important;
  }

  .admin-inflatables-mobile-list .admin-mobile-list-actions{
    display:grid !important;
    grid-template-columns:34px 34px minmax(78px,1fr) minmax(86px,1fr) !important;
    gap:6px !important;
    margin-top:10px !important;
    padding-top:10px !important;
    border-top:1px solid rgba(148,163,184,.25) !important;
  }

  .admin-inflatables-mobile-list .admin-mobile-list-actions .btn{
    width:100% !important;
    height:34px !important;
    min-height:34px !important;
    padding:0 6px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:9px !important;
    font-size:12px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  .admin-inflatables-mobile-list .admin-mobile-list-actions .btn[title="Subir"],
  .admin-inflatables-mobile-list .admin-mobile-list-actions .btn[title="Descer"]{
    font-size:13px !important;
    padding:0 !important;
  }
}

@media (max-width:390px){
  .admin-inflatables-mobile-list .admin-mobile-list-card{
    padding:10px !important;
    border-radius:16px !important;
  }
  .admin-inflatables-mobile-list .admin-mobile-list-head{
    grid-template-columns:44px minmax(0,1fr) auto !important;
    gap:8px !important;
  }
  .admin-inflatables-mobile-list .admin-mobile-list-thumb{
    width:44px !important;
    height:44px !important;
    max-width:44px !important;
  }
  .admin-inflatables-mobile-list .admin-mobile-list-actions{
    grid-template-columns:30px 30px minmax(68px,1fr) minmax(76px,1fr) !important;
    gap:4px !important;
  }
  .admin-inflatables-mobile-list .admin-mobile-list-actions .btn{
    height:32px !important;
    min-height:32px !important;
    font-size:11px !important;
    padding:0 4px !important;
  }
}


/* Admin V35 - Mascotes mobile igual à página dos serviços/insufláveis */
.admin-mascots-mobile-list{display:none;}
@media (max-width:760px){
  .admin-mascots-desktop-list{display:none !important;}
  .admin-mascots-mobile-list{
    display:grid !important;
    gap:10px !important;
    width:100% !important;
  }

  .admin-mascots-mobile-list .admin-mobile-list-card{
    display:block !important;
  }

  .admin-mascots-mobile-list .admin-mobile-list-head{
    display:grid !important;
    grid-template-columns:48px minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:10px !important;
  }

  .admin-mascots-mobile-list .admin-mobile-list-thumb{
    width:48px !important;
    height:48px !important;
    max-width:48px !important;
    border-radius:10px !important;
    object-fit:cover !important;
  }

  .admin-mascots-mobile-list .admin-mobile-list-text{
    min-width:0 !important;
  }

  .admin-mascots-mobile-list .admin-mobile-list-text strong{
    display:block !important;
    font-size:15px !important;
    line-height:1.2 !important;
    color:#111827 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  .admin-mascots-mobile-list .admin-mobile-list-text small{
    display:block !important;
    margin-top:3px !important;
    font-size:12px !important;
    color:#6b7280 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  .admin-mascots-mobile-list .admin-chip{
    justify-self:end !important;
    white-space:nowrap !important;
  }

  .admin-mascots-mobile-list .admin-mobile-list-actions{
    display:grid !important;
    grid-template-columns:34px 34px minmax(78px,1fr) minmax(86px,1fr) !important;
    gap:6px !important;
    margin-top:10px !important;
    padding-top:10px !important;
    border-top:1px solid rgba(148,163,184,.25) !important;
  }

  .admin-mascots-mobile-list .admin-mobile-list-actions .btn{
    width:100% !important;
    height:34px !important;
    min-height:34px !important;
    padding:0 6px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:9px !important;
    font-size:12px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  .admin-mascots-mobile-list .admin-mobile-list-actions .btn[title="Subir"],
  .admin-mascots-mobile-list .admin-mobile-list-actions .btn[title="Descer"]{
    font-size:13px !important;
    padding:0 !important;
  }
}

@media (max-width:390px){
  .admin-mascots-mobile-list .admin-mobile-list-card{
    padding:10px !important;
    border-radius:16px !important;
  }
  .admin-mascots-mobile-list .admin-mobile-list-head{
    grid-template-columns:44px minmax(0,1fr) auto !important;
    gap:8px !important;
  }
  .admin-mascots-mobile-list .admin-mobile-list-thumb{
    width:44px !important;
    height:44px !important;
    max-width:44px !important;
  }
  .admin-mascots-mobile-list .admin-mobile-list-actions{
    grid-template-columns:30px 30px minmax(68px,1fr) minmax(76px,1fr) !important;
    gap:4px !important;
  }
  .admin-mascots-mobile-list .admin-mobile-list-actions .btn{
    height:32px !important;
    min-height:32px !important;
    font-size:11px !important;
    padding:0 4px !important;
  }
}


/* Admin V36 - correção final mascotes: esconder tabela antiga em mobile */
@media (max-width:760px){
  .admin-mascots-desktop-list,
  .admin-mascots-desktop-list.admin-table-wrap,
  .admin-mascots-desktop-list .admin-compact-table,
  #mascotsTable.admin-compact-table{
    display:none !important;
  }

  .admin-mascots-mobile-list{
    display:grid !important;
    gap:10px !important;
    width:100% !important;
  }
}


/* Admin V37 - upload de imagens com aspeto moderno */
.upload-box{
  position:relative !important;
  padding:18px !important;
  border:1.5px dashed rgba(100,116,139,.35) !important;
  border-radius:16px !important;
  background:
    linear-gradient(180deg, rgba(248,250,252,.96), rgba(255,255,255,.96)) !important;
  box-shadow:0 8px 22px rgba(15,23,42,.04) !important;
}

.upload-label{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:9px !important;
  min-height:128px !important;
  padding:22px 18px !important;
  border:1px solid rgba(37,99,235,.18) !important;
  border-radius:14px !important;
  background:rgba(255,255,255,.88) !important;
  color:#1f2937 !important;
  font-weight:700 !important;
  letter-spacing:.02em !important;
  text-align:center !important;
  cursor:pointer !important;
  overflow:hidden !important;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
}

.upload-label::before{
  content:"+" !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:46px !important;
  height:46px !important;
  border-radius:999px !important;
  background:#0d6efd !important;
  color:#fff !important;
  font-size:30px !important;
  font-weight:500 !important;
  line-height:1 !important;
  box-shadow:0 10px 20px rgba(13,110,253,.22) !important;
}

.upload-label::after{
  content:"Clique para escolher ou arraste imagens para aqui" !important;
  display:block !important;
  color:#64748b !important;
  font-size:13px !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
}

.upload-label:hover{
  transform:translateY(-1px) !important;
  border-color:rgba(13,110,253,.5) !important;
  background:#fff !important;
  box-shadow:0 12px 28px rgba(15,23,42,.08) !important;
}

.upload-label.has-files{
  border-color:rgba(25,135,84,.42) !important;
  background:rgba(240,253,244,.78) !important;
}

.upload-label.has-files::before{
  content:"✓" !important;
  background:#198754 !important;
  box-shadow:0 10px 20px rgba(25,135,84,.22) !important;
}

.upload-label input[type="file"]{
  position:absolute !important;
  inset:0 !important;
  opacity:0 !important;
  width:100% !important;
  height:100% !important;
  cursor:pointer !important;
}

.upload-selected-status{
  display:block !important;
  max-width:100% !important;
  padding:6px 10px !important;
  border-radius:999px !important;
  background:rgba(15,23,42,.06) !important;
  color:#334155 !important;
  font-size:12px !important;
  font-weight:600 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

.upload-box .hint{
  margin-top:12px !important;
  color:#64748b !important;
  font-size:13px !important;
  text-align:center !important;
}

.preview-grid{
  margin-top:14px !important;
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(92px, 1fr)) !important;
  gap:10px !important;
}

.preview-grid img,
.existing-images img{
  border-radius:12px !important;
  box-shadow:0 6px 16px rgba(15,23,42,.12) !important;
  border:1px solid rgba(226,232,240,.9) !important;
  background:#fff !important;
}

.existing-images{
  margin-top:14px !important;
  display:flex !important;
  flex-wrap:wrap !important;
  gap:12px !important;
}

.existing-image{
  border-radius:14px !important;
  background:#fff !important;
  border:1px solid rgba(226,232,240,.9) !important;
  box-shadow:0 8px 20px rgba(15,23,42,.07) !important;
  padding:8px !important;
}

@media (max-width:640px){
  .upload-box{
    padding:12px !important;
    border-radius:14px !important;
  }
  .upload-label{
    min-height:112px !important;
    padding:18px 12px !important;
    font-size:13px !important;
  }
  .upload-label::before{
    width:42px !important;
    height:42px !important;
    font-size:27px !important;
  }
  .upload-label::after{
    font-size:12px !important;
  }
}


/* Admin V38 - sidebar fixa e conteúdo navegável */
@media (min-width: 992px){
  body.admin-body{
    overflow:hidden !important;
    height:100vh !important;
  }

  .admin-layout{
    min-height:100vh !important;
    height:100vh !important;
    overflow:hidden !important;
  }

  .admin-sidebar,
  .adminlte-sidebar{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    bottom:0 !important;
    height:100vh !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    z-index:1030 !important;
  }

  .admin-main,
  .adminlte-main{
    margin-left:260px !important;
    height:100vh !important;
    min-height:100vh !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
  }

  body.sidebar-collapsed .admin-main,
  body.sidebar-collapsed .adminlte-main,
  .admin-layout.sidebar-collapsed .admin-main,
  .admin-layout.sidebar-collapsed .adminlte-main{
    margin-left:74px !important;
  }

  .admin-navbar,
  .adminlte-navbar{
    position:sticky !important;
    top:0 !important;
    z-index:1020 !important;
  }
}

@media (max-width: 991.98px){
  body.admin-body{
    overflow:auto !important;
    height:auto !important;
  }

  .admin-layout{
    min-height:100vh !important;
    height:auto !important;
    overflow:visible !important;
  }

  .admin-sidebar,
  .adminlte-sidebar{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    bottom:0 !important;
    height:100vh !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    z-index:1040 !important;
  }

  .admin-main,
  .adminlte-main{
    margin-left:0 !important;
    min-height:100vh !important;
    overflow:visible !important;
  }

  .admin-navbar,
  .adminlte-navbar{
    position:sticky !important;
    top:0 !important;
    z-index:1020 !important;
  }
}


/* Admin V39 - paginação nas listagens */
.admin-pagination{
  margin-top:14px !important;
}

.admin-pagination-controls{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  padding:10px 12px !important;
  border:1px solid rgba(226,232,240,.95) !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 8px 20px rgba(15,23,42,.04) !important;
}

.admin-pagination-info{
  color:#64748b !important;
  font-size:13px !important;
  font-weight:600 !important;
}

.admin-pagination-buttons{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
}

.admin-pagination-btn{
  width:34px !important;
  height:34px !important;
  border:1px solid rgba(203,213,225,.9) !important;
  border-radius:10px !important;
  background:#f8fafc !important;
  color:#0f172a !important;
  font-size:22px !important;
  line-height:1 !important;
  cursor:pointer !important;
  transition:background .15s ease, transform .15s ease, opacity .15s ease !important;
}

.admin-pagination-btn:hover:not(:disabled){
  background:#e9eef5 !important;
  transform:translateY(-1px) !important;
}

.admin-pagination-btn:disabled{
  opacity:.42 !important;
  cursor:not-allowed !important;
}

.admin-pagination-mobile{
  display:none;
}

@media (max-width:760px){
  .admin-pagination-controls{
    padding:9px 10px !important;
    border-radius:13px !important;
  }

  .admin-pagination-info{
    font-size:12px !important;
  }

  .admin-pagination-btn{
    width:32px !important;
    height:32px !important;
    border-radius:9px !important;
  }

  .admin-pagination-mobile{
    display:block;
  }
}


/* Admin V40 - tabelas desktop mais compactas, sem afetar os cards mobile */
@media (min-width: 761px){
  .admin-table.admin-compact-table{
    table-layout:auto !important;
    width:100% !important;
  }

  .admin-table.admin-compact-table th,
  .admin-table.admin-compact-table td{
    padding:12px 14px !important;
    vertical-align:middle !important;
  }

  /* Listagens com imagem: imagem estreita + nome/serviço logo ao lado */
  #servicesTable.admin-compact-table th:nth-child(1),
  #servicesTable.admin-compact-table td:nth-child(1),
  #inflatablesTable.admin-compact-table th:nth-child(1),
  #inflatablesTable.admin-compact-table td:nth-child(1),
  #mascotsTable.admin-compact-table th:nth-child(1),
  #mascotsTable.admin-compact-table td:nth-child(1){
    width:76px !important;
    min-width:76px !important;
    max-width:76px !important;
    text-align:left !important;
    padding-right:8px !important;
  }

  #servicesTable.admin-compact-table th:nth-child(2),
  #servicesTable.admin-compact-table td:nth-child(2),
  #inflatablesTable.admin-compact-table th:nth-child(2),
  #inflatablesTable.admin-compact-table td:nth-child(2),
  #mascotsTable.admin-compact-table th:nth-child(2),
  #mascotsTable.admin-compact-table td:nth-child(2){
    width:auto !important;
    min-width:220px !important;
    text-align:left !important;
    padding-left:8px !important;
  }

  #servicesTable.admin-compact-table td:nth-child(2) strong,
  #inflatablesTable.admin-compact-table td:nth-child(2) strong,
  #mascotsTable.admin-compact-table td:nth-child(2) strong{
    display:inline-block !important;
    text-align:left !important;
    line-height:1.25 !important;
  }

  #servicesTable.admin-compact-table th:nth-child(3),
  #servicesTable.admin-compact-table td:nth-child(3){
    width:120px !important;
    min-width:120px !important;
    max-width:120px !important;
    text-align:center !important;
  }

  #servicesTable.admin-compact-table th:nth-child(4),
  #servicesTable.admin-compact-table td:nth-child(4){
    width:250px !important;
    min-width:250px !important;
    max-width:250px !important;
    text-align:right !important;
  }

  #inflatablesTable.admin-compact-table th:nth-child(3),
  #inflatablesTable.admin-compact-table td:nth-child(3),
  #mascotsTable.admin-compact-table th:nth-child(3),
  #mascotsTable.admin-compact-table td:nth-child(3){
    width:170px !important;
    min-width:150px !important;
    max-width:190px !important;
    text-align:left !important;
  }

  #inflatablesTable.admin-compact-table th:nth-child(4),
  #inflatablesTable.admin-compact-table td:nth-child(4),
  #mascotsTable.admin-compact-table th:nth-child(4),
  #mascotsTable.admin-compact-table td:nth-child(4){
    width:120px !important;
    min-width:120px !important;
    max-width:120px !important;
    text-align:center !important;
  }

  #inflatablesTable.admin-compact-table th:nth-child(5),
  #inflatablesTable.admin-compact-table td:nth-child(5),
  #mascotsTable.admin-compact-table th:nth-child(5),
  #mascotsTable.admin-compact-table td:nth-child(5){
    width:250px !important;
    min-width:250px !important;
    max-width:250px !important;
    text-align:right !important;
  }

  .admin-table.admin-compact-table .admin-list-thumb{
    width:46px !important;
    height:46px !important;
    max-width:46px !important;
    border-radius:8px !important;
  }

  .admin-table.admin-compact-table .admin-table-actions,
  .admin-table.admin-compact-table .admin-compact-actions{
    justify-content:flex-end !important;
    flex-wrap:nowrap !important;
    gap:6px !important;
  }

  .admin-table.admin-compact-table .admin-table-actions .btn,
  .admin-table.admin-compact-table .admin-compact-actions .btn{
    min-height:32px !important;
    height:32px !important;
    padding:0 10px !important;
    border-radius:7px !important;
    font-size:12px !important;
    white-space:nowrap !important;
  }

  .admin-table.admin-compact-table .admin-table-actions .btn[title="Subir"],
  .admin-table.admin-compact-table .admin-table-actions .btn[title="Descer"],
  .admin-table.admin-compact-table .admin-compact-actions .btn[title="Subir"],
  .admin-table.admin-compact-table .admin-compact-actions .btn[title="Descer"]{
    width:34px !important;
    min-width:34px !important;
    padding:0 !important;
  }

  /* Categorias: nome mais próximo e ações estáveis */
  #inflatableCategoriesTable.admin-compact-table th:nth-child(1),
  #inflatableCategoriesTable.admin-compact-table td:nth-child(1){
    width:auto !important;
    text-align:left !important;
  }

  #inflatableCategoriesTable.admin-compact-table th:nth-child(2),
  #inflatableCategoriesTable.admin-compact-table td:nth-child(2),
  #inflatableCategoriesTable.admin-compact-table th:nth-child(3),
  #inflatableCategoriesTable.admin-compact-table td:nth-child(3){
    width:130px !important;
    min-width:120px !important;
    max-width:150px !important;
    text-align:center !important;
  }

  #inflatableCategoriesTable.admin-compact-table th:last-child,
  #inflatableCategoriesTable.admin-compact-table td:last-child{
    width:250px !important;
    min-width:250px !important;
    max-width:250px !important;
    text-align:right !important;
  }
}

/* Garantia: em mobile mantém cards/listagem responsiva, sem larguras desktop */
@media (max-width: 760px){
  .admin-table.admin-compact-table th,
  .admin-table.admin-compact-table td{
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    text-align:initial !important;
  }

  .admin-services-mobile-list,
  .admin-inflatables-mobile-list,
  .admin-mascots-mobile-list{
    display:grid !important;
  }

  .admin-services-desktop-list,
  .admin-inflatables-desktop-list,
  .admin-mascots-desktop-list{
    display:none !important;
  }
}


/* Admin V41 - pedidos de contacto */
.admin-row-unread{
  background:rgba(13,110,253,.045) !important;
}
.admin-contact-messages-table td[data-label="Mensagem"]{
  max-width:520px !important;
  line-height:1.45 !important;
}
@media (max-width:760px){
  .admin-contact-messages-table,
  .admin-contact-messages-table thead,
  .admin-contact-messages-table tbody,
  .admin-contact-messages-table tr,
  .admin-contact-messages-table td{
    display:block !important;
    width:100% !important;
  }
  .admin-contact-messages-table thead{display:none !important;}
  .admin-contact-messages-table tr{
    margin-bottom:12px !important;
    padding:12px !important;
    border:1px solid rgba(226,232,240,.9) !important;
    border-radius:16px !important;
    background:#fff !important;
  }
  .admin-contact-messages-table td{
    border:0 !important;
    padding:7px 0 !important;
  }
  .admin-contact-messages-table td::before{
    content:attr(data-label) ": " !important;
    display:block !important;
    margin-bottom:4px !important;
    font-weight:700 !important;
    color:#64748b !important;
    font-size:12px !important;
  }
  .admin-contact-messages-table .admin-table-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:6px !important;
  }
}


/* Admin V42 - configurações SMTP */
.admin-check-row{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  padding:11px 12px !important;
  border:1px solid rgba(226,232,240,.9) !important;
  border-radius:12px !important;
  background:#fff !important;
  cursor:pointer !important;
}
.admin-check-row input{
  width:auto !important;
}
.admin-info-card{
  padding:14px !important;
  border:1px solid rgba(226,232,240,.9) !important;
  border-radius:14px !important;
  background:#fff !important;
}
.admin-info-card strong{
  display:block !important;
  color:#0f172a !important;
  margin-bottom:4px !important;
}
.admin-info-card span{
  color:#64748b !important;
}


/* Admin V43 - edição completa da página Sobre */
.admin-form-section-title{
  margin:22px 0 12px !important;
  padding-top:14px !important;
  border-top:1px solid rgba(226,232,240,.9) !important;
  color:#0f172a !important;
  font-size:16px !important;
}
.about-edit-card{
  padding:16px !important;
}
.about-edit-card h3{
  margin:0 0 12px !important;
  font-size:15px !important;
}
.admin-save-footer{
  margin-top:20px !important;
  border-top:1px solid rgba(226,232,240,.9) !important;
  padding-top:18px !important;
}


/* Admin V44 - seletor de ícones na página Sobre */
.about-icon-picker{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(42px, 1fr)) !important;
  gap:7px !important;
  margin-bottom:8px !important;
}

.about-icon-option{
  height:40px !important;
  min-height:40px !important;
  border:1px solid rgba(203,213,225,.9) !important;
  border-radius:10px !important;
  background:#fff !important;
  color:#0f172a !important;
  font-size:20px !important;
  line-height:1 !important;
  cursor:pointer !important;
  transition:transform .15s ease, border-color .15s ease, box-shadow .15s ease, background .15s ease !important;
}

.about-icon-option:hover{
  transform:translateY(-1px) !important;
  border-color:rgba(13,110,253,.45) !important;
  box-shadow:0 8px 16px rgba(15,23,42,.08) !important;
}

.about-icon-option.active{
  background:#0d6efd !important;
  border-color:#0d6efd !important;
  color:#fff !important;
  box-shadow:0 10px 20px rgba(13,110,253,.22) !important;
}

.about-icon-input{
  text-align:center !important;
  font-size:20px !important;
  max-width:160px !important;
}


/* Admin V45 - biblioteca maior de ícones Font Awesome */
.about-icon-picker{
  grid-template-columns:repeat(auto-fill, minmax(44px, 1fr)) !important;
  max-height:260px !important;
  overflow:auto !important;
  padding:8px !important;
  border:1px solid rgba(226,232,240,.9) !important;
  border-radius:14px !important;
  background:#f8fafc !important;
}

.about-icon-option i{
  font-size:18px !important;
  line-height:1 !important;
  pointer-events:none !important;
}

.about-value-icon i{
  font-size:.95em !important;
  line-height:1 !important;
}


/* Admin V46 - seletor de ícones reconstruído */
.about-icon-selected-preview{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  margin-bottom:8px !important;
  color:#64748b !important;
  font-size:13px !important;
}
.about-icon-selected-preview strong{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:38px !important;
  height:38px !important;
  border-radius:12px !important;
  background:#0d6efd !important;
  color:#fff !important;
  font-size:18px !important;
}
.about-icon-search{
  margin-bottom:8px !important;
}
.about-icon-picker{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(92px, 1fr)) !important;
  gap:8px !important;
  max-height:310px !important;
  overflow:auto !important;
  padding:10px !important;
  border:1px solid rgba(226,232,240,.95) !important;
  border-radius:14px !important;
  background:#f8fafc !important;
}
.about-icon-option{
  height:72px !important;
  min-height:72px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  border:1px solid rgba(203,213,225,.9) !important;
  border-radius:12px !important;
  background:#fff !important;
  color:#0f172a !important;
  cursor:pointer !important;
  transition:transform .15s ease, border-color .15s ease, box-shadow .15s ease, background .15s ease !important;
}
.about-icon-option i,
.about-icon-selected-preview i,
.about-value-icon i{
  font-family:"Font Awesome 6 Free" !important;
  font-weight:900 !important;
  font-style:normal !important;
  line-height:1 !important;
}
.about-icon-option i{
  font-size:21px !important;
  pointer-events:none !important;
}
.about-icon-option span{
  display:block !important;
  max-width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  color:#64748b !important;
  font-size:11px !important;
  font-weight:700 !important;
}
.about-icon-option:hover{
  transform:translateY(-1px) !important;
  border-color:rgba(13,110,253,.45) !important;
  box-shadow:0 8px 16px rgba(15,23,42,.08) !important;
}
.about-icon-option.active{
  background:#0d6efd !important;
  border-color:#0d6efd !important;
  color:#fff !important;
  box-shadow:0 10px 20px rgba(13,110,253,.22) !important;
}
.about-icon-option.active span{
  color:#fff !important;
}
.about-value-icon{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.about-value-icon i{
  font-size:.95em !important;
}
@media (max-width:640px){
  .about-icon-picker{
    grid-template-columns:repeat(auto-fill, minmax(74px, 1fr)) !important;
  }
  .about-icon-option{
    height:64px !important;
  }
}


/* Admin V47 - ícones Sobre em SVG inline, sem dependência de fonte */
.about-inline-icon{
  width:1em !important;
  height:1em !important;
  display:block !important;
  flex:0 0 auto !important;
}
.about-icon-selected-preview strong .about-inline-icon{
  width:20px !important;
  height:20px !important;
}
.about-icon-option .about-inline-icon{
  width:24px !important;
  height:24px !important;
}
.about-value-icon .about-inline-icon{
  width:.95em !important;
  height:.95em !important;
}
.about-icon-option i,
.about-icon-selected-preview i,
.about-value-icon i{
  font-family:inherit !important;
}


/* Admin V48 - remover seletor complexo de ícones da página Sobre */
.about-icon-picker,
.about-icon-selected-preview,
.about-icon-search,
.about-icon-option{
  display:none !important;
}


/* Admin V42 - paginação sempre no fim da listagem/tabela */
.admin-pagination-row{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  clear:both !important;
  grid-column:1 / -1 !important;
  flex:0 0 100% !important;
  margin:16px 0 0 !important;
}
.admin-pagination-row .admin-pagination{
  display:flex !important;
  width:100% !important;
  max-width:100% !important;
  justify-content:flex-end !important;
  margin:0 !important;
  clear:both !important;
}
.admin-pagination-row .admin-pagination-controls{
  width:auto !important;
  min-width:228px !important;
  max-width:100% !important;
}
.admin-pagination-row-mobile{
  display:none !important;
}
@media (max-width:760px){
  .admin-pagination-row-desktop{
    display:none !important;
  }
  .admin-pagination-row-mobile{
    display:block !important;
  }
  .admin-pagination-row .admin-pagination{
    justify-content:stretch !important;
  }
  .admin-pagination-row .admin-pagination-controls{
    width:100% !important;
  }
}

/* Admin V49 - paginação visível em desktop
   A área do backoffice em desktop usa scroll interno; por isso a paginação
   pode ficar fora da zona visível. Este bloco fixa a paginação no fundo da
   área de conteúdo em desktop e mantém-na no fim normal em mobile. */
@media (min-width:761px){
  body.admin-body .admin-main,
  body.admin-body .app-main{
    padding-bottom:96px !important;
  }

  .admin-pagination-row-desktop{
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
    position:sticky !important;
    bottom:0 !important;
    z-index:50 !important;
    width:100% !important;
    margin:16px 0 0 !important;
    padding:12px 0 18px !important;
    background:linear-gradient(to top, #f8fafc 0%, #f8fafc 72%, rgba(248,250,252,0) 100%) !important;
    pointer-events:none !important;
  }

  .admin-pagination-row-desktop .admin-pagination,
  .admin-pagination-row-desktop .admin-pagination-controls,
  .admin-pagination-row-desktop .admin-pagination-btn{
    pointer-events:auto !important;
  }

  .admin-pagination-row-desktop .admin-pagination{
    display:flex !important;
    justify-content:flex-end !important;
    width:100% !important;
    max-width:100% !important;
  }

  .admin-pagination-row-desktop .admin-pagination-controls{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
  }
}

/* Admin V50 - paginação desktop sempre visível */
@media (min-width:761px){
  .admin-pagination-row-desktop{
    display:flex !important;
    position:fixed !important;
    right:24px !important;
    bottom:18px !important;
    left:auto !important;
    top:auto !important;
    width:auto !important;
    max-width:calc(100vw - 48px) !important;
    z-index:99999 !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    justify-content:flex-end !important;
    align-items:center !important;
    pointer-events:none !important;
  }

  .admin-pagination-row-desktop .admin-pagination,
  .admin-pagination-row-desktop .admin-pagination-controls,
  .admin-pagination-row-desktop .admin-pagination-buttons,
  .admin-pagination-row-desktop .admin-pagination-btn{
    pointer-events:auto !important;
  }

  .admin-pagination-row-desktop .admin-pagination{
    display:flex !important;
    width:auto !important;
    max-width:100% !important;
    justify-content:flex-end !important;
  }

  .admin-pagination-row-desktop .admin-pagination-controls{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    min-width:228px !important;
    box-shadow:0 14px 36px rgba(15,23,42,.16) !important;
  }

  body.admin-body,
  body{
    padding-bottom:90px !important;
  }
}

/* Admin V51 - espaço entre paginação e footer em desktop */
@media (min-width:761px){
  .admin-pagination-row-desktop{
    bottom:110px !important;
  }

  body.admin-body,
  body{
    padding-bottom:180px !important;
  }

  body.admin-body .admin-main,
  body.admin-body .app-main{
    padding-bottom:180px !important;
  }
}


/* Admin V52 - paginação no fim da tabela + footer simples */
body.admin-body,
body.admin-body body{
  padding-bottom:0 !important;
}

body.admin-body .adminlte-main-shell{
  min-height:100vh !important;
  display:flex !important;
  flex-direction:column !important;
}

body.admin-body .admin-main,
body.admin-body .app-main{
  flex:1 0 auto !important;
  padding-bottom:48px !important;
}

body.admin-body .admin-pagination-row{
  clear:both !important;
}

@media (min-width:761px){
  body.admin-body .admin-pagination-row-desktop{
    position:static !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    z-index:auto !important;
    display:flex !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:20px 0 56px !important;
    background:transparent !important;
    justify-content:flex-end !important;
    align-items:center !important;
    pointer-events:auto !important;
  }

  body.admin-body .admin-pagination-row-desktop .admin-pagination{
    width:100% !important;
    display:flex !important;
    justify-content:flex-end !important;
  }

  body.admin-body .admin-pagination-row-desktop .admin-pagination-controls{
    position:static !important;
    width:auto !important;
    min-width:228px !important;
    box-shadow:0 8px 22px rgba(15,23,42,.08) !important;
  }
}

body.admin-body .admin-simple-footer{
  flex:0 0 auto !important;
  margin-top:0 !important;
  padding:20px 24px !important;
  background:#0f172a !important;
  color:#e5e7eb !important;
  text-align:center !important;
  font-size:13px !important;
  font-weight:600 !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
}

body.admin-body .admin-simple-footer span{
  display:inline-block !important;
}

@media (max-width:760px){
  body.admin-body .admin-main,
  body.admin-body .app-main{
    padding-bottom:32px !important;
  }

  body.admin-body .admin-pagination-row-mobile{
    padding-bottom:36px !important;
  }

  body.admin-body .admin-simple-footer{
    padding:18px 14px !important;
    font-size:12px !important;
  }
}

/* Home service cards as direct links */
.service-home-card-link{
  display:block;
  color:inherit;
  text-decoration:none;
  cursor:pointer;
}
.service-home-card-link:hover,
.service-home-card-link:focus{
  color:inherit;
  text-decoration:none;
}
.service-home-card-link:focus-visible{
  outline:3px solid rgba(20,148,84,.35);
  outline-offset:4px;
}

/* Frontend footer fix - simple footer aligned at the bottom */
html,
body:not(.admin-body){
  min-height:100%;
}

body:not(.admin-body){
  min-height:100vh !important;
  display:flex !important;
  flex-direction:column !important;
}

body:not(.admin-body) > .site-footer.simple-site-footer{
  margin-top:auto !important;
}

body:not(.admin-body) .site-footer.simple-site-footer{
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  background:#172131 !important;
  color:#d9e1ee !important;
  padding:18px 0 !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  min-height:64px !important;
  display:flex !important;
  align-items:center !important;
}

body:not(.admin-body) .simple-footer-inner{
  width:min(1180px,calc(100% - 32px)) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  margin:0 auto !important;
}

body:not(.admin-body) .simple-footer-copy,
body:not(.admin-body) .simple-footer-links,
body:not(.admin-body) .simple-footer-links a{
  color:#d9e1ee !important;
  font-size:14px !important;
  line-height:1.5 !important;
  font-weight:500 !important;
}

body:not(.admin-body) .footer-admin-link{
  color:#ffc400 !important;
  font-weight:800 !important;
}

body:not(.admin-body) .simple-footer-links{
  display:flex !important;
  align-items:center !important;
  gap:16px !important;
  white-space:nowrap !important;
}

body:not(.admin-body) .simple-footer-links a:hover,
body:not(.admin-body) .footer-admin-link:hover{
  color:#ffd84d !important;
}

body:not(.admin-body) .simple-footer-divider,
body:not(.admin-body) .simple-footer-separator{
  color:rgba(217,225,238,.55) !important;
}

@media(max-width:760px){
  body:not(.admin-body) .site-footer.simple-site-footer{
    padding:18px 0 22px !important;
  }

  body:not(.admin-body) .simple-footer-inner{
    flex-direction:column !important;
    text-align:center !important;
    justify-content:center !important;
    gap:10px !important;
  }

  body:not(.admin-body) .simple-footer-links{
    flex-wrap:wrap !important;
    justify-content:center !important;
    white-space:normal !important;
    gap:10px !important;
  }
}

/* Frontend footer restored - 4 columns */
body:not(.admin-body) > .site-footer.footer-four-columns{
  margin-top:auto !important;
}

body:not(.admin-body) .site-footer.footer-four-columns{
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  background:#172131 !important;
  color:#d9e1ee !important;
  padding:54px 0 0 !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  min-height:0 !important;
  display:block !important;
}

body:not(.admin-body) .footer-four-inner{
  width:min(1180px,calc(100% - 32px)) !important;
  margin:0 auto !important;
}

body:not(.admin-body) .footer-four-grid{
  display:grid !important;
  grid-template-columns:1.45fr 1fr 1fr 1.35fr !important;
  gap:44px !important;
  align-items:start !important;
}

body:not(.admin-body) .footer-logo{
  display:inline-flex !important;
  align-items:center !important;
  text-decoration:none !important;
}

body:not(.admin-body) .footer-logo-img{
  width:150px !important;
  max-width:100% !important;
  height:auto !important;
  display:block !important;
}

body:not(.admin-body) .footer-about{
  margin:18px 0 20px !important;
  color:#d9e1ee !important;
  line-height:1.65 !important;
  max-width:260px !important;
  font-size:15px !important;
}

body:not(.admin-body) .footer-title{
  color:#fff !important;
  font-size:20px !important;
  margin:0 0 18px !important;
  font-weight:800 !important;
}

body:not(.admin-body) .footer-nav-list,
body:not(.admin-body) .footer-contact-list{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
}

body:not(.admin-body) .footer-nav-list a,
body:not(.admin-body) .footer-contact-item,
body:not(.admin-body) .footer-legal-links a,
body:not(.admin-body) .footer-copy{
  color:#d9e1ee !important;
  font-size:15px !important;
  line-height:1.55 !important;
  font-weight:500 !important;
}

body:not(.admin-body) .footer-nav-list a,
body:not(.admin-body) .footer-legal-links a{
  text-decoration:none !important;
}

body:not(.admin-body) .footer-nav-list a:hover,
body:not(.admin-body) .footer-legal-links a:hover,
body:not(.admin-body) .footer-admin-link:hover{
  color:#ffd84d !important;
}

body:not(.admin-body) .footer-contact-item{
  display:grid !important;
  grid-template-columns:22px 1fr !important;
  gap:10px !important;
  align-items:start !important;
}

body:not(.admin-body) .footer-contact-icon{
  color:#70c7ff !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:22px !important;
}

body:not(.admin-body) .footer-socials{
  display:flex !important;
  gap:12px !important;
  align-items:center !important;
  flex-wrap:wrap !important;
}

body:not(.admin-body) .footer-social{
  width:40px !important;
  height:40px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#fff !important;
  background:rgba(255,255,255,.10) !important;
  text-decoration:none !important;
}

body:not(.admin-body) .footer-social svg{
  width:18px !important;
  height:18px !important;
}

body:not(.admin-body) .footer-divider{
  height:1px !important;
  background:rgba(255,255,255,.10) !important;
  margin:42px 0 0 !important;
}

body:not(.admin-body) .footer-bottom{
  min-height:72px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:24px !important;
  padding:18px 0 !important;
}

body:not(.admin-body) .footer-legal-links{
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
  white-space:nowrap !important;
}

body:not(.admin-body) .footer-admin-link{
  color:#ffc400 !important;
  font-weight:800 !important;
  text-decoration:none !important;
}

@media(max-width:900px){
  body:not(.admin-body) .footer-four-grid{
    grid-template-columns:1fr 1fr !important;
    gap:34px !important;
  }
}

@media(max-width:640px){
  body:not(.admin-body) .site-footer.footer-four-columns{
    padding-top:38px !important;
  }

  body:not(.admin-body) .footer-four-grid{
    grid-template-columns:1fr !important;
    gap:28px !important;
    text-align:center !important;
  }

  body:not(.admin-body) .footer-about{
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body:not(.admin-body) .footer-socials,
  body:not(.admin-body) .footer-contact-item{
    justify-content:center !important;
  }

  body:not(.admin-body) .footer-contact-item{
    grid-template-columns:auto auto !important;
  }

  body:not(.admin-body) .footer-bottom{
    flex-direction:column !important;
    text-align:center !important;
    gap:10px !important;
  }

  body:not(.admin-body) .footer-legal-links{
    flex-wrap:wrap !important;
    justify-content:center !important;
    white-space:normal !important;
  }
}

/* Footer frontend final fix - keep 4 columns and prevent vertical stacking */
body:not(.admin-body) .site-footer.footer-four-columns.pi-footer-fixed .footer-four-grid{display:grid!important;grid-template-columns:minmax(220px,1.45fr) minmax(130px,1fr) minmax(130px,1fr) minmax(260px,1.35fr)!important;gap:44px!important;align-items:start!important}
body:not(.admin-body) .site-footer.footer-four-columns.pi-footer-fixed .footer-bottom{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important}
@media(max-width:900px){body:not(.admin-body) .site-footer.footer-four-columns.pi-footer-fixed .footer-four-grid{grid-template-columns:1fr 1fr!important}}
@media(max-width:640px){body:not(.admin-body) .site-footer.footer-four-columns.pi-footer-fixed .footer-four-grid{grid-template-columns:1fr!important}body:not(.admin-body) .site-footer.footer-four-columns.pi-footer-fixed .footer-bottom{flex-direction:column!important}}

/* === FIX FINAL FRONTEND FOOTER: remove espaço branco depois do footer === */
html{
  min-height:100% !important;
}
body:not(.admin-body){
  min-height:100vh !important;
  min-height:100dvh !important;
  display:flex !important;
  flex-direction:column !important;
  padding-bottom:0 !important;
  margin-bottom:0 !important;
}
body:not(.admin-body) > .site-footer.footer-four-columns,
body:not(.admin-body) > .site-footer.footer-four-columns.pi-footer-fixed{
  margin-top:auto !important;
  margin-bottom:0 !important;
  flex-shrink:0 !important;
}
body:not(.admin-body)::after{
  content:none !important;
  display:none !important;
}


/* Admin VSearchFix - pesquisa mobile: respeitar itens filtrados mesmo com regras mobile !important */
.admin-mobile-list-card[data-search-hidden="1"],
.admin-table tbody tr[data-search-hidden="1"] {
  display: none !important;
}
