*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,Arial;background:#f7f7f3;color:#20231f}a{text-decoration:none;color:inherit}.top{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,20px);background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #e8e8e2}.brand{font-size:25px;font-weight:900}.brand span{color:#ef6c35}.top nav{display:flex;gap:20px;align-items:center}.top select,input,textarea,select{padding:11px;border:1px solid #d9ddd5;border-radius:10px;background:#fff}.btn{display:inline-block;padding:12px 20px;border-radius:12px;background:#ef6c35;color:#fff;border:0;cursor:pointer;font-weight:700}.ghost{background:#fff;color:#333;border:1px solid #ddd}.hero{min-height:570px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:40px;padding:60px max(6vw,24px);background:linear-gradient(120deg,#fff7ef,#eef7e9)}.hero h1{font-size:clamp(42px,6vw,78px);line-height:.98;margin:0 0 24px;max-width:850px}.hero p{font-size:20px;line-height:1.6;max-width:650px}.heroimg{min-height:440px;border-radius:28px;background:url('../img/hero.svg') center/cover;box-shadow:0 25px 60px #0002}.section{padding:75px max(6vw,24px)}.section h2{font-size:38px;text-align:center}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid #e4e6df;border-radius:18px;padding:26px;box-shadow:0 10px 25px #00000008}.price{font-size:44px;font-weight:900}.muted{color:#6d746c}.featured{outline:3px solid #ef6c35}.demo{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;background:#253328;color:#fff;border-radius:28px;padding:45px}.qr{width:190px;background:#fff;padding:12px;border-radius:14px}.auth{max-width:480px;margin:60px auto}.auth form,.panel{background:#fff;padding:28px;border-radius:18px;border:1px solid #ddd}.auth label,.form label{display:block;margin:14px 0 6px;font-weight:700}.auth input,.form input,.form textarea,.form select{width:100%}.layout{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 72px)}.side{background:#202b22;color:#fff;padding:25px}.side a{display:block;padding:12px;border-radius:9px;margin:4px 0}.side a:hover{background:#ffffff14}.content{padding:32px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.table{width:100%;border-collapse:collapse;background:#fff}.table th,.table td{padding:12px;border-bottom:1px solid #eee;text-align:left}.menu-page{max-width:1150px;margin:auto;padding:30px}.menu-head{text-align:center;padding:40px 20px}.menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.item{display:grid;grid-template-columns:100px 1fr auto;gap:15px;align-items:center;background:#fff;padding:12px;border-radius:15px}.item img{width:100px;height:90px;object-fit:cover;border-radius:12px}.ad-side{position:fixed;right:8px;top:120px;width:150px;min-height:500px;background:#eee;border:1px dashed #aaa;padding:10px;text-align:center}.ad-splash{position:fixed;inset:0;background:#111e;z-index:100;display:grid;place-items:center;color:#fff}.adbox{width:min(90vw,900px);min-height:70vh;background:#fff;color:#222;padding:30px;border-radius:20px}.notice{padding:12px;background:#fff3cd;border-radius:10px}.actions{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:850px){.top nav>a:not(.btn){display:none}.hero{grid-template-columns:1fr}.heroimg{min-height:300px}.grid3,.stats,.menu-grid,.demo{grid-template-columns:1fr}.layout{grid-template-columns:1fr}.side{display:flex;overflow:auto}.side a{white-space:nowrap}.ad-side{position:static;width:auto;min-height:120px;margin:15px}.item{grid-template-columns:80px 1fr}.item img{width:80px;height:75px}.item strong:last-child{grid-column:2}.content{padding:18px}}
.ad-inline{margin:32px auto;padding:18px;min-height:110px;background:#fff;border:1px solid #eee;border-radius:14px}
.ad-label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#888;margin-bottom:8px}
.ad-placeholder{padding:30px;background:#f1f1ed;border:1px dashed #aaa;text-align:center}
.food-placeholder{font-size:42px;text-align:center}
@media(max-width:850px){.ad-side{margin:20px;position:static}.ad-inline{margin:22px 0}}

.demo-ribbon{padding:10px;text-align:center;background:#f2b84b;font-weight:900;letter-spacing:.08em}.demo-logo{width:74px;height:74px;border-radius:20px;display:grid;place-items:center;background:#ef6c35;color:#fff;font-size:26px;font-weight:900;margin:0 auto 12px}.pill{display:inline-block;padding:7px 12px;background:#dff4df;border-radius:99px;color:#285b2d;font-weight:700}.demo-ad{border:2px dashed #b9b9ae;background:#f7f7f3;border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:5px;text-align:center;margin:24px 0}.demo-ad small,.demo-ad-side small{letter-spacing:.12em;color:#777}.demo-ad-side{position:fixed;right:10px;top:150px;width:155px;min-height:420px;border:2px dashed #b9b9ae;background:#f7f7f3;border-radius:16px;padding:15px;display:flex;flex-direction:column;gap:14px;text-align:center}.demo-ad-art{height:180px;border-radius:12px;background:#e6e6df;display:grid;place-items:center;font-size:45px;font-weight:900;color:#999}.landing-ad-preview{margin:18px 0;padding:12px;border:1px dashed #ffffff88;border-radius:12px;display:flex;gap:10px;flex-wrap:wrap}@media(max-width:1100px){.demo-ad-side{position:static;width:auto;min-height:auto;margin:20px}.demo-ad-art{height:90px}}

.profile-form input[type="color"].color-picker{appearance:auto;-webkit-appearance:auto;width:74px!important;height:48px!important;padding:3px!important;border:1px solid #ccc!important;border-radius:10px!important;cursor:pointer;background:#fff}
.color-grid,.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.color-row{display:flex;gap:10px;align-items:center}.color-row .color-text{max-width:130px}.image-preview,.cover-preview{position:relative;margin:8px 0 12px;border:1px solid #ddd;border-radius:14px;overflow:hidden;background:#f5f5f1}.image-preview img{width:140px;height:140px;object-fit:contain;display:block}.cover-preview img{width:100%;height:180px;object-fit:cover;display:block}.image-preview span,.cover-preview span{position:absolute;left:8px;bottom:8px;background:#000b;color:#fff;padding:4px 8px;border-radius:6px;font-size:12px}.profile-form .file-input{padding:10px!important;height:auto!important}.theme-preview{padding:25px;border:4px solid;border-radius:16px;color:#fff;margin:20px 0;display:flex;justify-content:space-between;align-items:center}.theme-preview button{border:0;border-radius:10px;padding:10px 16px;color:#fff;font-weight:700}@media(max-width:700px){.color-grid,.profile-grid{grid-template-columns:1fr}.theme-preview{align-items:flex-start;gap:15px;flex-direction:column}}

.restaurant-logo{width:110px;height:110px;object-fit:contain;border-radius:18px;background:#fff;padding:8px;box-shadow:0 8px 28px #0004;margin-bottom:12px}.restaurant-address{display:block;margin:4px 0 12px}.public-menu .menu-head h1{margin:4px 0}.public-menu .menu-head p{margin:4px 0 10px}@media(max-width:700px){.public-menu .menu-head{min-height:210px!important}.restaurant-logo{width:85px;height:85px}}

.restaurant-links{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;margin:8px 0 12px}
.restaurant-links a{background:#fff;color:#222;border:2px solid var(--restaurant-primary);border-radius:999px;padding:7px 12px;font-weight:700;text-decoration:none}
.restaurant-links a:hover{transform:translateY(-1px)}
.check-line{display:flex!important;align-items:center;gap:8px;margin:8px 0 12px}
.check-line input{width:auto!important}

/* V4.7 - formulário Fale Conosco */
.contact-form{margin-top:22px}.contact-form .btn{margin-top:10px}.success-notice{border-left:4px solid #198754}.error-notice{border-left:4px solid #dc3545}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:700px){.grid2{grid-template-columns:1fr}}


/* NaCantina V4.9.1 - identidade visual corrigida */
.top{min-height:72px;height:auto}
.brand-logo{display:flex;align-items:center;flex:0 0 auto;overflow:hidden}
.brand-logo img{
  display:block;
  width:210px;
  max-width:210px;
  height:58px;
  object-fit:contain;
  object-position:left center;
}
.hero{
  grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);
  gap:42px;
  overflow:hidden;
}
.hero>div:first-child{min-width:0}
.hero h1{font-size:clamp(42px,5.2vw,72px);overflow-wrap:normal;word-break:normal}
.heroimg-new{
  min-width:0;
  width:100%;
  min-height:0!important;
  background:none!important;
  overflow:hidden;
  border-radius:28px;
  box-shadow:0 25px 60px #0002;
  aspect-ratio:16/9;
}
.heroimg-new img{
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  object-position:center;
  border-radius:0;
}
@media(max-width:1000px){
  .top{padding:8px 20px}
  .top nav{gap:10px}
  .brand-logo img{width:170px;max-width:170px;height:48px}
  .hero{grid-template-columns:1fr;gap:28px;padding-top:42px}
  .hero h1{font-size:clamp(42px,9vw,66px)}
  .heroimg-new{aspect-ratio:16/9}
}
@media(max-width:700px){
  .top{align-items:center}
  .brand-logo img{width:135px;max-width:135px;height:40px}
  .hero{padding:34px 18px;min-height:0}
  .hero h1{font-size:clamp(38px,13vw,58px)}
  .hero p{font-size:18px}
  .heroimg-new{border-radius:18px;aspect-ratio:4/3}
  .heroimg-new img{object-position:center}
}

/* NaCantina V4.9.2 - logomarca compacta somente no cabeçalho */
.top .brand-logo{
  width:auto!important;
  max-width:180px!important;
  height:54px!important;
  display:flex!important;
  align-items:center!important;
  overflow:hidden!important;
  flex:0 0 auto!important;
}
.top .brand-logo img{
  width:auto!important;
  max-width:170px!important;
  height:48px!important;
  max-height:48px!important;
  object-fit:contain!important;
  object-position:left center!important;
  display:block!important;
}
@media(max-width:700px){
  .top .brand-logo{max-width:135px!important;height:44px!important}
  .top .brand-logo img{max-width:130px!important;height:38px!important;max-height:38px!important}
}
/* NaCantina V4.9.4 - logo compacta e hero por idioma */
.top .brand-logo{max-width:150px!important;height:50px!important;display:flex!important;align-items:center!important;overflow:hidden!important;flex:0 0 auto!important}
.top .brand-logo img{width:auto!important;max-width:145px!important;height:42px!important;max-height:42px!important;object-fit:contain!important;display:block!important}
.heroimg-new{width:100%!important;min-width:0!important;overflow:hidden!important;aspect-ratio:16/10!important}
.heroimg-new img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
@media(max-width:700px){.top .brand-logo{max-width:120px!important;height:40px!important}.top .brand-logo img{max-width:115px!important;height:34px!important;max-height:34px!important}.heroimg-new{aspect-ratio:4/3!important}}

/* NaCantina V4.9.5 - hero fotográfico limpo */
.top .brand-logo{max-width:160px!important;height:52px!important;display:flex!important;align-items:center!important;overflow:hidden!important}
.top .brand-logo img{width:auto!important;max-width:150px!important;height:44px!important;max-height:44px!important;object-fit:contain!important}
.heroimg-new{aspect-ratio:16/10!important;overflow:hidden!important}
.heroimg-new img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;display:block!important}
@media(max-width:700px){
 .top .brand-logo{max-width:125px!important;height:42px!important}
 .top .brand-logo img{max-width:120px!important;height:36px!important;max-height:36px!important}
 .heroimg-new{aspect-ratio:4/3!important}
}
