/* Identidade do app Sabor de Minas e controles inspirados na referência Psiqer. */
:root{--orange:#f08a4b;--rust:#a65024}
.topbar{background:radial-gradient(ellipse at 0 0,#79412055,transparent 65%),linear-gradient(110deg,#382318,#211711 75%);border-bottom:1px solid #e9ad7726;color:#ead7c4;font-size:11px;letter-spacing:0}
.topbar .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:26px;min-height:48px;padding-block:8px}
.topbar a{color:#ead7c4}.topbar a:hover{color:#ffc58e}.topbar a span{margin-left:0}
.topbar-location,.topbar-pilgrims{display:flex;gap:8px;align-items:center;line-height:1.5}
.topbar svg{width:15px;height:15px;flex-shrink:0;color:#f5a268}.topbar-city{color:#c5ab93}
.topbar-schedule{display:flex;align-items:center;gap:17px;line-height:1.4}
.topbar-days{display:flex;align-items:center;gap:7px;padding-right:17px;border-right:1px solid #f0bc8b33}
.topbar strong{font-size:10px;font-weight:500;color:#f8e8d7;white-space:nowrap}
.topbar-hours{display:flex;gap:6px;align-items:center}.topbar-hours small{font-size:10px;color:#c9aa8c}
.topbar-pilgrims{font-size:10px;color:#f5bb84!important;border:1px solid #dc9b5b40;border-radius:30px;padding:5px 10px;white-space:nowrap}.topbar-pilgrims svg{width:13px;height:13px}
@media(max-width:1200px){.topbar .wrap{gap:18px;grid-template-columns:1fr auto}.topbar-pilgrims{display:none}.topbar-location{font-size:10px}.topbar-schedule{gap:13px}.topbar-days{padding-right:13px}}
@media(max-width:900px){.topbar .wrap{grid-template-columns:1fr;gap:8px;padding-block:10px}.topbar-location{justify-content:center}.topbar-schedule{justify-content:center}.topbar-city{color:#d6b697}}
@media(max-width:700px){.topbar .wrap{display:grid;grid-template-columns:1fr;width:calc(100% - 28px);gap:8px;padding-block:9px}.topbar-location{font-size:9px;gap:5px;text-align:center;justify-content:center}.topbar-location svg{width:12px;height:12px}.topbar-schedule{display:grid;grid-template-columns:1.15fr 1fr 1fr;width:100%;gap:0;border-top:1px solid #f0bc8b20;padding-top:8px;text-align:center}.topbar-days{justify-content:center;padding:0 8px 0 0;border-right:1px solid #f0bc8b26;gap:4px}.topbar-days svg{width:12px;height:12px}.topbar-days strong{white-space:normal;font-size:9px;max-width:85px}.topbar-hours{display:flex;flex-direction:column;gap:2px}.topbar-hours:last-child{border-left:1px solid #f0bc8b26}.topbar-hours small{font-size:9px;line-height:1.2}.topbar-hours strong{font-size:10px;line-height:1.2}.topbar-pilgrims{display:none}}
.site-header{background:radial-gradient(ellipse at 12% 0,rgba(240,138,75,.12),transparent 55%),linear-gradient(135deg,#1e1511,#100d0b)}
.button{background:linear-gradient(135deg,#f8a266,#f08a4b 60%,#dc692f);box-shadow:0 7px 23px #df752b1c;border-radius:7px}
.button-dark{background:linear-gradient(135deg,#57321f,#20150f);color:#fff2e5}
.header-contact{position:relative;overflow:hidden;isolation:isolate;border:0;border-radius:50px;min-height:44px;padding:11px 18px;gap:8px;background:linear-gradient(135deg,#bd5123,#f08a4b);color:#fffaf5;box-shadow:0 4px 16px #f08a4b66;font-size:11px;font-weight:700}
.header-contact>span{font-size:inherit;line-height:1.3;position:relative;z-index:1}
.header-contact svg{width:18px;height:18px;flex-shrink:0;position:relative;z-index:1}
.header-contact::before{content:'';position:absolute;top:-50%;left:-75%;width:50%;height:200%;background:linear-gradient(90deg,transparent,#ffffff73,transparent);transform:skewX(-20deg);animation:sm-shimmer 2.5s ease infinite;pointer-events:none}
.header-contact::after{content:'';position:absolute;inset:-3px;border-radius:50px;background:linear-gradient(135deg,#f08a4b,#f9bd77,#814122);z-index:-1;animation:sm-glow 2s ease-in-out infinite;pointer-events:none}
.header-contact:hover{background:linear-gradient(135deg,#d66830,#ffa361);box-shadow:0 8px 28px #f08a4b8c}
@keyframes sm-shimmer{0%{left:-75%}60%,100%{left:125%}}
@keyframes sm-glow{0%,100%{opacity:0;transform:scale(1)}50%{opacity:.6;transform:scale(1.04)}}
.wa-float{position:fixed;bottom:28px;right:28px;z-index:60;width:60px;height:60px;background:#25d366;border:0;border-radius:50%;display:flex;align-items:center;justify-content:center;color:white;box-shadow:0 6px 24px #25d36680;animation:sm-wa-pulse 2s ease infinite;transition:transform .3s,box-shadow .3s}
.wa-float svg{width:30px;height:30px;display:block;pointer-events:none}
.wa-float:hover{transform:scale(1.1);box-shadow:0 10px 30px #25d366a6}
@keyframes sm-wa-pulse{0%,100%{box-shadow:0 6px 24px #25d36680}50%{box-shadow:0 6px 36px #25d366bf,0 0 0 10px #25d3661a}}
.back-top{bottom:104px;right:40px;width:36px;height:36px;border-radius:6px;background:var(--paper);color:var(--coffee);border:1px solid #d1bca4;cursor:pointer;z-index:59;padding:7px}
.back-top svg{display:block;max-width:100%}
.hero-carousel{min-height:0;background:radial-gradient(circle at 15% 20%,#f08a4b29,transparent 34%),linear-gradient(135deg,#1e1511,#100d0b)}
.hero-slide{position:relative;isolation:isolate;overflow:hidden;animation:sm-slide-in .6s ease}
.hero-slide .hero-inner{min-height:760px;padding-block:65px 125px}
.hero-slide .hero-photo{z-index:-3;object-position:center 53%}
.hero-slide .hero-shade{background:radial-gradient(circle at 14% 20%,#f08a4b21,transparent 35%),linear-gradient(90deg,#1e1511fa 0%,#1b120ef2 22%,#1b120eb3 42%,#100d0b1a 75%),linear-gradient(0deg,#100d0b 0%,transparent 45%);z-index:-2}
.hero-slide .hero-copy{max-width:590px;position:relative;z-index:2}
.hero-slide h1,.hero-slide h2{color:#fffaf4;font-size:clamp(50px,5vw,76px);letter-spacing:-2.5px;line-height:1.07;max-width:600px;text-wrap:balance}
.hero-slide .hero-subtitle{font-size:29px}.hero-slide .hero-description{max-width:430px;font-size:14px}
.hero-slide .hero-location{margin-top:27px}.hero-slide .hero-location svg{color:#f6a566;flex-shrink:0}
.hero-slide .hero-seal{bottom:132px;background:radial-gradient(circle at 20% 20%,#84411b66,transparent),#20150fe8}
.hero-watermark{position:absolute;left:-20px;bottom:50px;color:rgba(116,69,44,.28);font-family:var(--sans);font-size:clamp(160px,24vw,350px);font-weight:950;letter-spacing:-.08em;line-height:.8;z-index:-1;pointer-events:none;user-select:none;white-space:nowrap}
.hero-slide .image-caption{right:24px;bottom:86px;max-width:50%;text-align:right;font-size:8px}
.hero-controls{position:absolute;left:0;right:0;bottom:19px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #f5c39a40;padding-top:15px}
.hero-tabs{display:flex;gap:32px}.hero-tabs button{position:relative;display:flex;align-items:center;gap:12px;min-height:42px;border:0;background:transparent;color:#d6baa2;padding:0;font-size:11px;text-align:left;cursor:pointer}
.hero-tabs b{font:23px/1 var(--serif);color:#b78c68;font-weight:400}.hero-tabs [aria-current=true]{color:#fff8ef}.hero-tabs [aria-current=true] b{color:#f7a369}.hero-tabs [aria-current=true]::before{content:'';position:absolute;top:-16px;left:0;right:0;height:2px;background:#f08a4b}
.hero-arrows{display:flex;gap:8px}.hero-arrows button{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border:1px solid #dfbb9755;border-radius:50%;background:#23160e66;color:#f8e4ce;font-size:19px;cursor:pointer}.hero-arrows [data-hero-pause]{font-size:13px}.hero-arrows button:hover{background:#8e461f}
@keyframes sm-slide-in{from{opacity:.3}to{opacity:1}}
.service-strip{background:radial-gradient(ellipse at 0 0,#eebc8e40,transparent 65%),linear-gradient(110deg,#efe5d8,#f7f0e6)}
.buffet-section{background:radial-gradient(ellipse at 100% 10%,#f08a4b12,transparent 60%),linear-gradient(135deg,#faf6ef,#f3e9dc)}
.buffet-detail{background:radial-gradient(circle at 15% 0,#f3c59255,transparent 65%),linear-gradient(140deg,#f3e8d9,#e9d8c2)}
.menu-section{background:radial-gradient(ellipse at 0 100%,#f08a4b0d,transparent 60%),#fffdf8}
.pilgrim-section{background:radial-gradient(circle at 10% 20%,#a8854529,transparent 45%),linear-gradient(135deg,#354331,#1d2c20)}
.group-section{background:radial-gradient(ellipse at 0 20%,#f08a4b1f,transparent 60%),linear-gradient(130deg,#f5ecdf,#e9dac7)}
.group-form-panel{background:linear-gradient(145deg,#fffdf9,#faf2e7);box-shadow:0 20px 55px #8a4c2110}
.closing{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 10% 0,#f08a4b33,transparent 55%),linear-gradient(135deg,#eed8bc,#e3c6a3)}
.closing::after{content:'SABOR';position:absolute;bottom:-.2em;right:-.03em;font-size:clamp(100px,18vw,250px);line-height:.8;font-weight:950;letter-spacing:-.08em;color:#9b5c2914;z-index:-1;pointer-events:none}
.site-footer{background:radial-gradient(circle at 15% 20%,#f08a4b20,transparent 34%),linear-gradient(135deg,#1e1511,#100d0b)}
.site-footer .footer-credit{margin-top:0!important}
.site-footer .footer-bottom{gap:4px}
@media(max-width:1200px){.hero-slide .hero-inner{min-height:730px}.hero-slide h1,.hero-slide h2{font-size:65px}.hero-tabs{gap:23px}.desktop-nav{gap:18px}}
@media(max-width:1024px){.site-header .nav-wrap{display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);align-items:center;gap:15px;min-height:78px}.site-header .brand,.site-header .custom-logo-link{grid-column:1;grid-row:1;width:145px;height:52px;max-width:100%;justify-self:start;display:flex;align-items:center;justify-content:center}.site-header .brand img,.site-header .custom-logo{max-width:100%;max-height:52px;width:auto;height:auto}.site-header .menu-toggle{display:flex;grid-column:2;grid-row:1;justify-self:center;margin:0;width:44px;height:44px;border:0}.site-header .header-contact{display:inline-flex;grid-column:3;grid-row:1;justify-self:end;width:145px;height:52px;min-height:52px;max-width:100%;padding:8px;gap:6px;font-size:11px}.site-header .desktop-nav{display:none}.hero-slide .hero-inner{min-height:720px}.hero-slide h1,.hero-slide h2{font-size:60px}.hero-slide .hero-copy{max-width:520px}.hero-slide .hero-seal{width:130px;height:130px}}
@media(max-width:700px){.site-header .nav-wrap{width:calc(100% - 28px);grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);gap:8px;min-height:72px}.site-header .brand,.site-header .custom-logo-link,.site-header .header-contact{width:132px;height:48px;min-height:48px}.site-header .brand img,.site-header .custom-logo{max-height:48px}.site-header .menu-toggle{width:40px;height:40px}.site-header .header-contact{font-size:10px;gap:5px}.header-contact svg{width:16px;height:16px}.hero-slide .hero-inner{min-height:850px;padding-top:270px;padding-bottom:135px;align-items:flex-end}.hero-slide .hero-photo{height:470px;object-position:75% top}.hero-slide .hero-shade{background:radial-gradient(ellipse at 0 60%,#f08a4b18,transparent 60%),linear-gradient(0deg,#100d0b 0%,#1e1511 43%,#1e1511c9 65%,#1e151100 100%)}.hero-slide .hero-copy{max-width:100%}.hero-slide h1,.hero-slide h2{font-size:49px;letter-spacing:-1.8px;line-height:1.08}.hero-slide .hero-subtitle{font-size:25px}.hero-slide .hero-description{font-size:12px}.hero-slide .hero-seal{top:27px;bottom:auto;width:110px;height:110px;right:5px}.hero-slide .hero-location{margin-top:22px;font-size:10px}.hero-watermark{font-size:47vw;bottom:92px;left:-8px;color:#74452c30}.hero-slide .image-caption{bottom:auto;top:245px;max-width:70%;font-size:7px}.hero-controls{width:calc(100% - 40px);bottom:18px;gap:10px;padding-top:12px}.hero-tabs{gap:15px;flex:1;justify-content:space-between}.hero-tabs button{font-size:8px;gap:5px;flex-direction:column;align-items:flex-start;max-width:82px;line-height:1.3;min-height:43px}.hero-tabs b{font-size:18px}.hero-tabs [aria-current=true]::before{top:-13px}.hero-arrows{gap:4px}.hero-arrows button{width:29px;height:34px;font-size:17px}.hero-arrows [data-hero-pause]{font-size:10px}.wa-float{width:56px;height:56px;right:18px;bottom:82px}.wa-float svg{width:29px;height:29px}.back-top{right:28px;bottom:153px;width:36px;height:36px}.mobile-dock a:last-child{background:linear-gradient(135deg,#57321f,#20150f)}.closing::after{font-size:29vw}}
@media(max-width:360px){.site-header .header-contact{font-size:9px;gap:4px}.site-header .nav-wrap{gap:6px}.hero-slide h1,.hero-slide h2{font-size:44px}.hero-tabs{gap:10px}.hero-tabs button{font-size:7px}.hero-arrows{gap:2px}.hero-arrows button{width:26px}}
/* No celular, apresentações e convites centralizados; leitura prática à esquerda. */
@media(max-width:700px){
  .hero-slide .hero-copy{text-align:center;width:100%}
  .hero-slide .hero-copy>.eyebrow,.hero-slide h1,.hero-slide h2,.hero-slide .hero-description{margin-inline:auto}
  .hero-slide h1,.hero-slide h2,.section-heading h2,.heading-row h2,.pilgrim-copy h2,.group-copy h2,.closing p{text-wrap:balance}
  .hero-slide .tiny-line{display:none}
  .hero-slide .actions{align-items:center}
  .hero-slide .hero-location{justify-content:center}
  .strip-intro{justify-content:center;text-align:center}
  .strip-grid>div:not(:first-child){text-align:center}
  .strip-grid>div:nth-child(3){padding-left:0}
  .buffet-section .section-heading,.visit-section .section-heading,.menu-section .heading-row{text-align:center}
  .section-heading>p:not(.eyebrow),.heading-row>p{margin-inline:auto}
  .buffet-detail h3{text-align:center;text-wrap:balance}
  .meal-times{text-align:center}
  .menu-note{align-items:center;text-align:center}
  .pilgrim-art{align-items:center;text-align:center}
  .pilgrim-art .art-label{max-width:100%}
  .pilgrim-copy{text-align:center}
  .pilgrim-copy>p:not(.eyebrow){max-width:420px;margin-inline:auto}
  .official-note{justify-content:center;text-align:left}
  .group-copy>.eyebrow,.group-copy>h2,.group-copy>p:not(.eyebrow){text-align:center;margin-inline:auto}
  .group-copy>.group-steps{text-align:left}
  .group-hours{justify-content:center;text-align:center}
  .group-form-panel>.eyebrow{justify-content:center;text-align:center}
  .group-form-panel>h3,.group-form-panel>.form-intro{text-align:center;text-wrap:balance}
  .group-form-panel .form-privacy{text-align:center}
  .address-card{text-align:center}
  .address-card h3,.address-card address{margin-inline:auto}
  .address-times{justify-content:center}
  .closing .wrap{align-items:center;text-align:center}
}
@media(max-width:700px){
  .hero-slide .actions .button,.menu-note .button{width:fit-content;max-width:100%;justify-content:center;align-self:center;gap:18px;padding-inline:22px}
  .mobile-dock a,.mobile-dock a:last-child{background:transparent;color:var(--ink);transition:background .2s,color .2s}
  .mobile-dock a:hover,.mobile-dock a:focus-visible,.mobile-dock a:active,.mobile-dock a[aria-current="true"]{background:linear-gradient(135deg,#57321f,#20150f);color:var(--cream)}
}
@media(prefers-reduced-motion:reduce){.header-contact::before,.header-contact::after,.wa-float,.hero-slide{animation:none!important}.wa-float:hover{transform:none}.hero-arrows button,.wa-float,.button,.mobile-dock a{transition:none}}
