:root{
  --ink:#3a1745;
  --ink-soft:#6f5d72;
  --purple:#6a2578;
  --purple-2:#873d95;
  --purple-deep:#3d1048;
  --purple-deeper:#2f0d38;
  --lilac:#ead9ef;
  --lilac-soft:#f7eef9;
  --gold:#c38b2c;
  --gold-2:#e2bb64;
  --gold-light:#f1d78f;
  --gold-dark:#946016;
  --white:#fffdfd;
  --border:rgba(94,49,108,.14);
  --shadow:0 16px 38px rgba(52,20,62,.09);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;color:var(--ink);font-family:Montserrat,Arial,sans-serif;background:#f5eaf7;overflow-x:hidden}
a{text-decoration:none;color:inherit}
button,input,textarea,select{font:inherit}
svg{display:block}
.hidden{display:none!important}

/* ===== FUNDO MÁRMORE REAL DA REFERÊNCIA ===== */
.luxury-background{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:url("assets/marble-bg.png") center top/cover no-repeat fixed;
  filter:saturate(1.02) contrast(1.01);
}
.luxury-background::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02) 40%,rgba(247,235,249,.07));
}
main,footer,.site-header{position:relative}
main,footer{z-index:1}

/* ===== LOGO TRB ===== */
.logo{display:flex;align-items:center;gap:12px;min-width:max-content}
.trb-logo{width:67px;height:58px;overflow:visible;filter:drop-shadow(0 1px 0 rgba(255,255,255,.75))}
.trb-logo text{fill:url(#logoGold);font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-weight:600}
.trb-logo .logo-t{font-size:58px}.trb-logo .logo-r{font-size:45px}.trb-logo .logo-b{font-size:40px}
.footer-trb text{fill:#b88026}
.brand-copy strong{display:block;font:600 27px/1 "Cormorant Garamond",serif;letter-spacing:4px;color:#b57d26}
.brand-copy small{display:block;margin-top:4px;font-size:6.5px;letter-spacing:3.4px;color:#b98939}

/* ===== CABEÇALHO ===== */
.site-header{
  height:82px;position:sticky;top:0;z-index:50;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:24px;padding:0 7.5%;
  background:rgba(255,252,253,.93);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);
  border-bottom:1px solid rgba(92,45,105,.08);box-shadow:0 6px 28px rgba(54,24,62,.035)
}
.site-header nav{display:flex;justify-content:center;align-items:center;gap:34px;font-size:9px;font-weight:600;text-transform:uppercase;color:#3f1749}
.site-header nav a{position:relative;padding:31px 0;transition:color .25s ease,transform .25s ease}
.site-header nav a::after{content:"";position:absolute;left:50%;right:50%;bottom:20px;height:1px;background:linear-gradient(90deg,var(--purple-2),var(--gold));transition:left .3s ease,right .3s ease}
.site-header nav a:hover{color:#7f3f8e;transform:translateY(-1px)}
.site-header nav a:hover::after{left:0;right:0}
.header-book{white-space:nowrap}
.mobile-menu{display:none;width:42px;height:42px;border:0;background:transparent;color:#4f195c;cursor:pointer;place-items:center}
.mobile-menu svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}

/* ===== BOTÕES ===== */
.btn{position:relative;isolation:isolate;overflow:hidden;border:0;border-radius:6px;padding:12px 20px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 9px/1 Montserrat;letter-spacing:.2px;cursor:pointer;transition:transform .28s ease,box-shadow .28s ease,filter .28s ease,border-color .28s ease,color .28s ease,background .28s ease}
.btn::before{content:"";position:absolute;z-index:-1;top:-80%;left:-55%;width:34%;height:250%;transform:rotate(18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.56),transparent);transition:left .65s ease}
.btn:hover{transform:translateY(-3px)}
.btn:hover::before{left:125%}
.btn:active{transform:translateY(0) scale(.975)}
.btn-icon{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.btn-gold{color:#fff;background:linear-gradient(135deg,#ae7419,#d19a34 53%,#b77e20);box-shadow:0 10px 24px rgba(166,109,22,.23)}
.btn-gold:hover{box-shadow:0 13px 28px rgba(155,99,16,.3);filter:brightness(1.04)}
.btn-purple{color:#fff;background:linear-gradient(135deg,#6b287a,#8d439b);box-shadow:0 10px 24px rgba(84,29,98,.18)}
.btn-outline,.btn-soft{color:#562061;background:rgba(255,253,255,.72);border:1px solid rgba(91,37,103,.52)}
.btn-soft:hover,.btn-outline:hover{background:#fff;border-color:#9c5aaa;box-shadow:0 8px 18px rgba(70,28,82,.1)}

/* ===== HERO ===== */
.hero{min-height:330px;display:grid;grid-template-columns:50% 50%;position:relative;overflow:hidden;background:rgba(255,255,255,.04);border-bottom:1px solid rgba(89,41,101,.08)}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,252,253,.96) 0%,rgba(255,250,252,.91) 34%,rgba(249,239,250,.48) 53%,rgba(255,255,255,0) 72%);z-index:1;pointer-events:none}
.hero-content{position:relative;z-index:3;padding:54px 8% 48px 14%;display:flex;flex-direction:column;justify-content:center}
.hero-kicker{display:flex;align-items:center;gap:16px}.hero-kicker span{height:1px;width:110px;background:linear-gradient(90deg,#c28a2e,transparent)}
.eyebrow{margin:0;font-size:8px;font-weight:600;letter-spacing:.7px;color:#aa7422;text-transform:uppercase}
.hero h1,.info-section h2,.my-bookings h2{font-family:"Cormorant Garamond",serif;color:#35103f;font-weight:600}
.hero h1{font-size:47px;line-height:1.03;margin:15px 0 9px;letter-spacing:-.7px}
.hero-rule{width:55px;height:1px;background:linear-gradient(90deg,#683174,#b37b2c);margin:5px 0 17px}
.hero-text{max-width:430px;margin:0;color:#5d4e61;font-size:10.5px;line-height:1.82}
.hero-buttons{display:flex;gap:15px;margin-top:24px}
.hero-photo{min-height:330px;background:url("assets/hero-nails.png") center/cover no-repeat;position:relative}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(249,241,249,.45),rgba(255,255,255,0) 30%)}

/* ===== BENEFÍCIOS ===== */
.benefits{display:grid;grid-template-columns:repeat(4,1fr);padding:12px 12%;background:rgba(255,251,255,.9);backdrop-filter:blur(9px);border-top:1px solid rgba(255,255,255,.8);border-bottom:1px solid rgba(99,55,112,.09)}
.benefits article{min-height:67px;display:flex;justify-content:center;align-items:center;gap:14px;border-right:1px solid rgba(92,50,105,.11);font-size:9px;color:#44204d}
.benefits article:last-child{border-right:0}
.benefit-icon{width:47px;height:47px;display:grid;place-items:center;border-radius:50%;color:#652471;background:radial-gradient(circle at 32% 28%,#fff 0%,#f2e8f5 44%,#e7d5ec 100%);border:1px solid rgba(102,53,116,.14);box-shadow:inset 0 0 13px rgba(122,68,137,.08),0 6px 14px rgba(55,24,64,.08);transition:transform .35s ease,box-shadow .35s ease}
.benefit-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.benefits article:hover .benefit-icon{transform:translateY(-4px) scale(1.06);box-shadow:0 9px 20px rgba(75,28,88,.14)}

/* ===== SEÇÕES ===== */
.section,.rules-section{padding:42px 11%}
.procedures-section{background:rgba(255,251,255,.38);backdrop-filter:blur(2px)}
.section-heading{display:flex;align-items:center;justify-content:center;gap:9px;margin-bottom:25px}
.section-heading span{height:1px;width:54px;background:linear-gradient(90deg,transparent,#bf8933)}
.section-heading span:last-child{background:linear-gradient(90deg,#bf8933,transparent)}
.section-heading i{font-style:normal;font-size:10px;color:#bd8429}
.section-heading h2{margin:0;font:600 21px "Cormorant Garamond",serif;letter-spacing:.7px;color:#582060}

/* ===== PROCEDIMENTOS ===== */
.procedure-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:15px}
.procedure-card{min-width:0;background:rgba(255,253,255,.95);border:1px solid rgba(94,51,105,.13);border-radius:7px;overflow:hidden;box-shadow:0 12px 26px rgba(55,23,64,.09);transition:transform .34s cubic-bezier(.2,.8,.25,1),box-shadow .34s ease,border-color .34s ease}
.procedure-card:hover{transform:translateY(-7px);border-color:rgba(115,58,129,.26);box-shadow:0 20px 38px rgba(54,20,65,.14)}
.procedure-card img{width:100%;height:112px;object-fit:cover;display:block;transition:transform .55s ease,filter .55s ease}
.procedure-card:hover img{transform:scale(1.055);filter:saturate(1.05) brightness(1.02)}
.procedure-body{padding:9px 12px 11px;text-align:center}
.procedure-card h3{margin:0 0 4px;font:600 15px "Cormorant Garamond",serif;color:#501b59}
.procedure-card p{margin:0;min-height:0;font-size:7px;line-height:1.45;color:#796b7d;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.procedure-meta{display:flex;flex-direction:column;align-items:center;gap:3px;margin:7px 0;color:#5c4b5f;font-size:7.5px}
.procedure-meta span{display:inline-flex;align-items:center;gap:4px}
.meta-icon{width:11px;height:11px;fill:none;stroke:#6e3a78;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.procedure-meta b{color:#ad701b;font-size:9px}
.procedure-card .btn{width:100%;padding:7px 8px;font-size:7.5px;background:rgba(255,255,255,.46)}
.loading{text-align:center;grid-column:1/-1;color:#8c7c91;font-size:10px}

/* ===== SOBRE / CONSULTA ===== */
.info-section,.my-bookings{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:48px;padding:52px 13%;background:rgba(251,246,252,.65);backdrop-filter:blur(6px);border-top:1px solid rgba(255,255,255,.65);border-bottom:1px solid rgba(92,51,103,.08)}
.info-section h2,.my-bookings h2{font-size:34px;line-height:1.06;margin:12px 0}
.info-section p,.my-bookings p{margin:0;max-width:580px;font-size:10px;line-height:1.8;color:#6e6171}
.info-card,.lookup-card{background:rgba(255,254,255,.9);border:1px solid rgba(96,52,107,.14);border-radius:9px;padding:23px;box-shadow:var(--shadow);backdrop-filter:blur(10px)}
.info-card strong{display:block;margin-bottom:13px;font:600 18px "Cormorant Garamond",serif;color:#54205d}
.info-card span{display:block;margin:8px 0;font-size:9px;color:#6f6073}
.lookup-card{display:grid;gap:9px}
.input,textarea,select{width:100%;border:1px solid rgba(94,50,106,.18);border-radius:7px;padding:11px 12px;background:rgba(255,255,255,.93);color:#4b3c4f;outline:none;font-family:Montserrat;font-size:10px;transition:border-color .25s ease,box-shadow .25s ease,background .25s ease}
.input:focus,textarea:focus,select:focus{border-color:#a464b3;background:#fff;box-shadow:0 0 0 3px rgba(130,69,146,.08)}
.lookup-help{margin:0!important;font-size:8px!important;line-height:1.5!important;color:#8c7d90!important}
.lookup-result-card{margin-top:4px;padding:12px;border-radius:7px;background:#faf4fc;border:1px solid rgba(101,57,113,.13);font-size:9px;line-height:1.7}

/* ===== REGRAS ===== */
.rules-section{background:rgba(255,251,255,.34)}
.rules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.rules-grid article{background:rgba(255,254,255,.93);border:1px solid rgba(95,51,106,.13);border-radius:8px;padding:22px;box-shadow:0 11px 27px rgba(54,21,63,.06);transition:transform .32s ease,box-shadow .32s ease}
.rules-grid article:hover{transform:translateY(-6px);box-shadow:0 18px 34px rgba(53,20,64,.1)}
.rules-grid article>b{font:600 28px "Cormorant Garamond",serif;color:#bd8832}
.rules-grid h3{margin:7px 0 6px;font:600 17px "Cormorant Garamond",serif;color:#57215f}
.rules-grid p{margin:0;font-size:9px;line-height:1.7;color:#756a78}

/* ===== WHATSAPP ===== */
.whatsapp{position:relative;padding:11px 13%;display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(90deg,#3a0d45 0%,#581761 38%,#661b70 61%,#3b0d46 100%);color:#fff;border-top:2px solid #bd892e;border-bottom:2px solid #c69235;box-shadow:0 9px 30px rgba(43,8,50,.18)}
.whatsapp::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(112deg,transparent 0%,rgba(255,255,255,.045) 42%,transparent 70%)}
.whatsapp-copy{display:flex;align-items:center;gap:15px;position:relative;z-index:1}
.whats-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#f0d27e,#bf8626 65%,#9f6816);box-shadow:inset 0 0 0 4px rgba(255,255,255,.18),0 8px 18px rgba(18,3,21,.28)}
.whats-icon svg{width:31px;height:31px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.whatsapp strong{display:block;font:600 21px "Cormorant Garamond",serif;color:#fff}.whatsapp small{display:block;margin-top:2px;font-size:7px;color:rgba(255,255,255,.9)}
.btn-whatsapp{position:relative;z-index:1;color:#4b174f;background:linear-gradient(135deg,#f0d27f,#d5a646 58%,#ba8125);box-shadow:0 8px 20px rgba(17,3,20,.2);font-weight:700}
.btn-whatsapp:hover{box-shadow:0 12px 26px rgba(17,3,20,.28);filter:brightness(1.04)}
.whatsapp-mini{width:17px;height:17px;stroke-width:1.8}

/* ===== RODAPÉ ===== */
footer{display:grid;grid-template-columns:1.35fr .8fr 1fr 1.2fr;gap:42px;padding:28px 13% 50px;background:rgba(252,248,252,.86);backdrop-filter:blur(10px);border-top:1px solid rgba(96,51,107,.09)}
.footer-logo-row{display:flex;align-items:center;gap:8px}.footer-trb{width:55px;height:48px}.footer-brand-copy strong{font-size:22px}.footer-brand-copy small{font-size:5.8px}
.footer-brand p{font-size:8px;line-height:1.7;color:#746677;max-width:230px;margin:8px 0 0}
footer h4{margin:0 0 12px;font-size:8px;letter-spacing:.7px;color:#54215e}footer a,footer>div>span{display:block;margin:6px 0;font-size:8px;color:#716474}footer a:hover{color:#7a3888}
.contact-line{display:flex!important;align-items:flex-start;gap:8px}.contact-line>svg{width:15px;height:15px;flex:0 0 15px;fill:none;stroke:#60216c;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.contact-line b,.footer-hours b{color:#4a174f}.footer-hours{padding-left:23px}.copyright{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);margin:0;font-size:7px;color:#918696;white-space:nowrap}
.admin-shortcut{position:fixed;right:15px;bottom:15px;z-index:60;padding:7px 10px;border-radius:18px;background:#421449;color:#fff;font-size:7px;opacity:.15;transition:opacity .2s ease}.admin-shortcut:hover{opacity:.86}

/* ===== MODAL DE AGENDAMENTO ===== */
.modal{position:fixed;inset:0;z-index:100;background:rgba(41,14,48,.67);backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px}
.modal-card{position:relative;width:min(720px,94vw);max-height:92vh;overflow:auto;background:rgba(255,251,255,.98);border:1px solid rgba(255,255,255,.75);border-radius:14px;padding:27px;box-shadow:0 28px 85px rgba(29,8,35,.3);animation:bookingModalOpen .42s cubic-bezier(.2,.8,.25,1);transform-origin:center}
.modal-close{position:absolute;right:16px;top:10px;border:0;background:none;color:#76557e;font-size:27px;cursor:pointer;transition:transform .25s ease,color .25s ease}.modal-close:hover{transform:rotate(90deg);color:#4f235a}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:0 0 15px;border-bottom:1px solid rgba(101,55,113,.14);margin-bottom:20px}
.steps span{position:relative;padding:7px;border-radius:6px;font-size:7px;color:#9b8da0;transition:color .35s ease,background .35s ease,transform .35s ease,text-shadow .35s ease}
.steps span.done{color:#8b6696}.steps span.active{color:#724082}.steps span.current{background:linear-gradient(135deg,rgba(168,98,190,.12),rgba(203,155,63,.08));transform:translateY(-1px);font-weight:700;color:#692773}.steps span.current::after{content:"";position:absolute;left:50%;bottom:-8px;width:5px;height:5px;border-radius:50%;background:#9d52ae;box-shadow:0 0 8px rgba(153,76,173,.65);transform:translateX(-50%);animation:stepGlow 1.8s ease-in-out infinite}
.booking-title{margin:0 0 16px;font:600 27px "Cormorant Garamond",serif;color:#501b59}
.option-list{display:grid;gap:8px}.procedure-option{display:flex;align-items:center;gap:14px;width:100%;text-align:left;border:1px solid rgba(96,51,107,.16);border-radius:9px;background:rgba(255,255,255,.84);padding:10px;cursor:pointer;color:#513c57;transition:transform .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease}
.procedure-option:hover,.procedure-option.selected{transform:translateX(4px);border-color:#b162c2;background:#fffaff;box-shadow:0 8px 20px rgba(77,27,90,.08)}
.procedure-option img{width:76px;height:58px;object-fit:cover;border-radius:7px}.procedure-option b{font:600 13px "Cormorant Garamond",serif;color:#531f5c}.procedure-option small{display:block;margin-top:3px;font-size:7.5px;color:#786d7b}.procedure-option small.meta-line{display:flex;align-items:center;gap:5px}
.modal-actions{display:flex;justify-content:space-between;gap:10px;margin-top:18px}.date-input-wrap{padding:10px 0}.date-input-wrap label{display:block;margin-bottom:7px;font-size:9px;color:#6f6172}.time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.time-btn{border:1px solid rgba(96,51,107,.18);background:#fff;border-radius:7px;padding:10px 5px;font-size:9px;color:#59495d;cursor:pointer;transition:transform .22s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease}.time-btn:not(.disabled):hover{transform:translateY(-3px);box-shadow:0 8px 18px rgba(72,27,84,.12)}.time-btn.selected{color:white;background:linear-gradient(135deg,#733283,#91489f);border-color:#753485;transform:translateY(-2px);box-shadow:0 9px 18px rgba(78,28,92,.2)}.time-btn.disabled{background:#f0edf1;color:#b0a7b2;text-decoration:line-through;cursor:not-allowed}.summary-box{margin-bottom:11px;padding:13px;border-radius:8px;background:#f9f1fb;border:1px solid rgba(98,52,110,.1);font-size:9px;line-height:1.8;color:#635267}.form-grid{display:grid;gap:8px}.notice{font-size:8px;color:#7d7181;line-height:1.6}.error-box{margin-top:8px;font-size:9px;color:#a84262}.success{text-align:center;padding:27px 5px}.success-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;border:2px solid #b5842e;color:#b5842e;font-size:30px}.success h2{margin:0;font:600 27px "Cormorant Garamond",serif;color:#531f5c}.success p{font-size:10px;color:#776a7a}

/* ===== TRANSIÇÕES ENTRE AS ABAS DO AGENDAMENTO ===== */
.modal-card{overflow-x:hidden}
#bookingContent{
  position:relative;
  will-change:transform,opacity,filter;
  transform:translate3d(0,0,0);
}

/* CONTINUAR: a tela atual vai para a direita. */
#bookingContent.booking-exit-right{
  animation:bookingExitRight .28s cubic-bezier(.55,.05,.7,.25) forwards!important;
}
/* VOLTAR: a tela atual vai para a esquerda. */
#bookingContent.booking-exit-left{
  animation:bookingExitLeft .28s cubic-bezier(.55,.05,.7,.25) forwards!important;
}
/* CONTINUAR: a próxima tela entra pela esquerda e se move para a direita. */
#bookingContent.booking-enter-left{
  animation:bookingEnterLeft .52s cubic-bezier(.18,.78,.22,1) both!important;
}
/* VOLTAR: a tela anterior entra pela direita e se move para a esquerda. */
#bookingContent.booking-enter-right{
  animation:bookingEnterRight .52s cubic-bezier(.18,.78,.22,1) both!important;
}

@keyframes bookingExitRight{
  from{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
  to{opacity:0;transform:translate3d(135px,0,0) scale(.975);filter:blur(3px)}
}
@keyframes bookingExitLeft{
  from{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
  to{opacity:0;transform:translate3d(-135px,0,0) scale(.975);filter:blur(3px)}
}
@keyframes bookingEnterLeft{
  from{opacity:0;transform:translate3d(-145px,0,0) scale(.975);filter:blur(3px)}
  68%{opacity:1;transform:translate3d(7px,0,0) scale(1);filter:blur(0)}
  to{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
}
@keyframes bookingEnterRight{
  from{opacity:0;transform:translate3d(145px,0,0) scale(.975);filter:blur(3px)}
  68%{opacity:1;transform:translate3d(-7px,0,0) scale(1);filter:blur(0)}
  to{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
}

/* A barra PROCEDIMENTO / DATA / HORÁRIO / DADOS acompanha a direção. */
.steps.steps-forward span{
  animation:stepsMoveForward .5s cubic-bezier(.2,.8,.25,1)!important;
}
.steps.steps-back span{
  animation:stepsMoveBack .5s cubic-bezier(.2,.8,.25,1)!important;
}
@keyframes stepsMoveForward{
  0%{transform:translateX(0);opacity:1}
  48%{transform:translateX(14px);opacity:.62}
  100%{transform:translateX(0);opacity:1}
}
@keyframes stepsMoveBack{
  0%{transform:translateX(0);opacity:1}
  48%{transform:translateX(-14px);opacity:.62}
  100%{transform:translateX(0);opacity:1}
}

.modal-card.modal-closing{animation:bookingModalClose .25s ease forwards!important}
@keyframes bookingModalOpen{from{opacity:0;transform:translateY(20px) scale(.975)}to{opacity:1;transform:none}}
@keyframes bookingModalClose{from{opacity:1;transform:none}to{opacity:0;transform:translateY(14px) scale(.975)}}
@keyframes stepGlow{0%,100%{opacity:.55;transform:translateX(-50%) scale(.8)}50%{opacity:1;transform:translateX(-50%) scale(1.25)}}

/* ===== ANIMAÇÃO GRADUAL AO DESCER E SUBIR ===== */
.scroll-reveal{
  opacity:0!important;
  filter:blur(7px);
  transition:
    opacity 1s cubic-bezier(.2,.7,.25,1),
    transform 1.05s cubic-bezier(.2,.75,.25,1),
    filter .95s ease!important;
  transition-delay:0ms!important;
  will-change:opacity,transform,filter;
}
.scroll-reveal.from-bottom{
  transform:translate3d(0,68px,0) scale(.975)!important;
}
.scroll-reveal.from-top{
  transform:translate3d(0,-58px,0) scale(.975)!important;
}
.scroll-reveal.visible{
  opacity:1!important;
  transform:translate3d(0,0,0) scale(1)!important;
  filter:blur(0)!important;
  transition-delay:var(--reveal-delay,0ms)!important;
}

/* Os grupos aparecem em sequência, não todos juntos. */
.procedure-card.scroll-reveal:nth-child(1),.benefits article.scroll-reveal:nth-child(1),.rules-grid article.scroll-reveal:nth-child(1){--reveal-delay:40ms}
.procedure-card.scroll-reveal:nth-child(2),.benefits article.scroll-reveal:nth-child(2),.rules-grid article.scroll-reveal:nth-child(2){--reveal-delay:130ms}
.procedure-card.scroll-reveal:nth-child(3),.benefits article.scroll-reveal:nth-child(3),.rules-grid article.scroll-reveal:nth-child(3){--reveal-delay:220ms}
.procedure-card.scroll-reveal:nth-child(4),.benefits article.scroll-reveal:nth-child(4){--reveal-delay:310ms}
.procedure-card.scroll-reveal:nth-child(5){--reveal-delay:400ms}
.procedure-card.scroll-reveal:nth-child(6){--reveal-delay:490ms}

.site-header nav a.nav-click{animation:navigationClick .4s cubic-bezier(.2,.8,.25,1)}
.navigation-arrival{animation:navigationArrival .65s ease-out}.icon-click{animation:iconClick .45s cubic-bezier(.2,.8,.25,1)}
.hero-content{animation:heroEntrance .85s cubic-bezier(.2,.7,.25,1) both}.hero-photo{animation:heroPhotoEntrance 1.05s cubic-bezier(.2,.7,.25,1) both}
@keyframes heroEntrance{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:none}}
@keyframes heroPhotoEntrance{from{opacity:0;transform:scale(1.035)}to{opacity:1;transform:none}}
@keyframes navigationClick{0%,100%{transform:none}45%{transform:translateY(-2px) scale(.94)}72%{transform:translateY(-2px) scale(1.05)}}
@keyframes navigationArrival{0%{filter:brightness(1)}50%{filter:brightness(1.035)}100%{filter:brightness(1)}}
@keyframes iconClick{0%,100%{transform:none}35%{transform:scale(.88)}70%{transform:scale(1.08)}}

/* ===== ADMIN: preserva o painel existente ===== */
.admin-body{background:#fbf9fd;color:#34283d}.login-screen{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 10%,#ead7f2,#fbf8fd 45%)}.login-card{width:min(390px,100%);background:#fff;border:1px solid #e6d9ea;border-radius:12px;padding:30px;box-shadow:0 20px 60px #5b326b16;display:grid;gap:10px}.login-card .footer-brand{text-align:center;margin-bottom:4px}.login-card h1{font:600 28px "Cormorant Garamond";color:#573166;text-align:center;margin:3px 0}.login-card p{font-size:9px;line-height:1.6;text-align:center;color:#7b6f80}.back-site{text-align:center;font-size:9px;color:#7d538e}.form-error{font-size:9px;color:#a23c5f}.admin-layout{min-height:100vh;display:grid;grid-template-columns:205px 1fr}.admin-sidebar{background:#fff;border-right:1px solid #e8ddeb;padding:22px 13px;display:flex;flex-direction:column}.sidebar-logo{text-align:center;color:#a97f39;margin-bottom:28px}.sidebar-logo strong,.sidebar-logo small{display:block}.sidebar-logo strong{font-size:28px}.nav-item{border:0;background:transparent;border-radius:6px;text-align:left;padding:11px 13px;margin:2px 0;color:#6c5b74;font-size:10px;cursor:pointer}.nav-item span{margin-left:9px}.nav-item.active{background:#eee0f5;color:#714088;font-weight:700}.nav-item.logout{margin-top:auto}.admin-main{padding:0 3% 35px;overflow:hidden}.admin-top{height:78px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ece3ef}.admin-top small{font-size:7px;letter-spacing:2px;color:#a08fa5}.admin-top h1{font:600 26px "Cormorant Garamond";color:#563466;margin:3px 0}.admin-user{display:flex;align-items:center;gap:10px;font-size:8px;color:#807385}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#9560aa;color:white}.admin-content{padding-top:20px}.admin-grid{display:grid;grid-template-columns:1fr 280px;gap:18px}.panel{background:#fff;border:1px solid #eadff0;border-radius:9px;padding:15px}.panel h3{font:600 18px "Cormorant Garamond";color:#5c3c69;margin:0 0 13px}.toolbar{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-bottom:12px}.toolbar .input{max-width:190px}.agenda-list{display:grid;gap:8px}.agenda-item{border-left:4px solid #9c5ab6;background:#efe3f5;border-radius:6px;padding:9px 11px;font-size:8px;color:#5e4169}.agenda-item.block{border-color:#db7b9a;background:#f9e2e9}.agenda-item strong{display:block;font-size:9px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:15px}.metric{background:#fff;border:1px solid #eadff0;border-radius:9px;padding:14px}.metric small{font-size:7px;color:#96869b}.metric b{display:block;font:600 24px "Cormorant Garamond";color:#603c70;margin-top:5px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:8px}.data-table th,.data-table td{text-align:left;padding:9px;border-bottom:1px solid #f0eaf2;white-space:nowrap}.data-table th{color:#89788f}.status{padding:4px 7px;border-radius:12px;background:#e5f2e7;color:#507e59;font-size:7px}.status.cancelled{background:#f7e4e8;color:#a5576f}.action-row{display:flex;gap:6px}.mini-btn{border:1px solid #decfe4;background:#fff;border-radius:5px;padding:6px 8px;font-size:7px;cursor:pointer}.danger{border-color:#e5c6d0;color:#a34d68}.form-card{display:grid;gap:9px}.form-card label{font-size:8px;color:#75677a}.checkbox{display:flex;gap:7px;align-items:center;font-size:9px}.checkbox input{width:auto}.empty{font-size:9px;color:#918497}.finance-list{display:grid;gap:8px}.finance-row{display:flex;justify-content:space-between;border-bottom:1px solid #efe8f1;padding:9px 0;font-size:9px}

/* ===== RESPONSIVO ===== */
@media(max-width:1250px){.site-header{padding:0 5%}.site-header nav{gap:20px}.hero-content{padding-left:10%}.procedure-grid{grid-template-columns:repeat(3,1fr)}.procedure-card img{height:145px}}
@media(max-width:900px){
  html{scroll-padding-top:72px}.site-header{height:72px;grid-template-columns:auto 1fr auto;padding:0 5%}.brand-copy strong{font-size:24px}.trb-logo{width:58px;height:52px}.header-book{display:none}.mobile-menu{display:grid;justify-self:end}.site-header nav{display:none;position:absolute;left:0;right:0;top:72px;padding:18px 5%;flex-direction:column;gap:5px;align-items:stretch;background:rgba(255,252,253,.98);box-shadow:0 18px 30px rgba(58,29,67,.1);border-bottom:1px solid rgba(94,53,106,.12)}.site-header nav.open{display:flex;animation:menuOpen .25s ease}.site-header nav a{padding:12px 4px;text-align:center}.site-header nav a::after{bottom:7px}.hero{grid-template-columns:1fr}.hero::before{background:linear-gradient(180deg,rgba(255,252,253,.96),rgba(255,250,252,.82) 55%,rgba(255,255,255,0))}.hero-content{padding:46px 8% 28px}.hero-photo{min-height:300px}.benefits{grid-template-columns:repeat(2,1fr);padding:12px 5%}.benefits article:nth-child(2){border-right:0}.benefits article{border-bottom:1px solid rgba(92,50,105,.09)}.procedure-grid{grid-template-columns:repeat(2,1fr)}.section,.rules-section{padding:40px 6%}.info-section,.my-bookings{grid-template-columns:1fr;padding:44px 8%;gap:24px}.rules-grid{grid-template-columns:1fr}.whatsapp{padding:15px 7%}footer{grid-template-columns:repeat(2,1fr);padding:30px 8% 55px}.time-grid{grid-template-columns:repeat(3,1fr)}.admin-layout{grid-template-columns:70px 1fr}.sidebar-logo strong,.sidebar-logo small,.nav-item span{display:none}.nav-item{text-align:center}.admin-grid{grid-template-columns:1fr}.metrics{grid-template-columns:1fr}.admin-user span:first-child{display:none}
}
@media(max-width:560px){.logo{gap:5px}.trb-logo{width:49px}.brand-copy strong{font-size:21px;letter-spacing:2.4px}.brand-copy small{font-size:5.5px}.hero h1{font-size:38px}.hero-buttons{flex-direction:column;align-items:stretch}.hero-buttons .btn{width:100%}.hero-photo{min-height:230px}.benefits{grid-template-columns:1fr}.benefits article{border-right:0}.procedure-grid{grid-template-columns:1fr}.procedure-card img{height:180px}.section-heading span{width:28px}.section-heading h2{font-size:18px}.whatsapp{align-items:stretch;flex-direction:column}.btn-whatsapp{width:100%}footer{grid-template-columns:1fr}.copyright{position:static;transform:none;text-align:center;grid-column:1/-1;margin-top:10px;white-space:normal}.modal{padding:10px}.modal-card{padding:24px 16px}.steps{gap:3px}.steps span{font-size:6px;padding:6px 3px}.time-grid{grid-template-columns:repeat(2,1fr)}.procedure-option img{width:65px}.modal-actions{flex-direction:column-reverse}.modal-actions .btn{width:100%}.admin-main{padding:0 12px 25px}.admin-layout{grid-template-columns:58px 1fr}}
@keyframes menuOpen{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}



/* =====================================================
   CONFIRMAÇÃO DO AGENDAMENTO VIA WHATSAPP
===================================================== */
.success-summary{display:grid;gap:4px;text-align:left;margin-top:14px}
.success-summary span{display:block}
.booking-code{font-size:14px;letter-spacing:1.5px;color:#6d2878}
.success-whatsapp-box{margin:16px auto 12px;padding:15px;border-radius:12px;max-width:520px;text-align:left;background:linear-gradient(135deg,rgba(70,20,82,.97),rgba(98,31,108,.97));border:1px solid rgba(211,170,79,.55);box-shadow:0 14px 30px rgba(50,13,58,.15);color:#fff}
.success-whatsapp-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.success-whatsapp-head b{display:block;font:600 18px "Cormorant Garamond",serif;color:#fff}
.success-whatsapp-head small{display:block;margin-top:2px;font-size:8px;line-height:1.55;color:rgba(255,255,255,.82)}
.success-whatsapp-icon{width:39px;height:39px;flex:0 0 39px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#efd17d,#be892d);box-shadow:inset 0 0 0 3px rgba(255,255,255,.16)}
.success-whatsapp-icon svg{width:23px;height:23px;fill:none;stroke:#fff;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.success-whatsapp-btn{width:100%;justify-content:center;background:linear-gradient(135deg,#efd17d,#d6a747 58%,#b98026);color:#43164b;font-weight:700;box-shadow:0 8px 20px rgba(18,4,22,.2)}
.success-whatsapp-btn:hover{transform:translateY(-2px);filter:brightness(1.04);box-shadow:0 12px 25px rgba(18,4,22,.27)}
.success-whatsapp-warning{margin:0!important;color:#fff!important;font-size:8px!important}
.success-close{margin-top:3px}
@media(max-width:560px){.success-whatsapp-box{padding:13px}.success-whatsapp-head{align-items:flex-start}.success-whatsapp-head b{font-size:17px}.success-whatsapp-btn{font-size:8px;padding-inline:10px}}

/* =====================================================
   CORREÇÃO DEFINITIVA DO MODAL DE AGENDAMENTO
===================================================== */

#bookingModal {
  position: fixed !important;
  inset: 0 !important;

  width: 100vw !important;
  height: 100vh !important;

  z-index: 99999 !important;

  align-items: center !important;
  justify-items: center !important;

  background: rgba(41, 14, 48, 0.67) !important;
  backdrop-filter: blur(5px);

  padding: 20px !important;

  overflow-y: auto !important;
}

/* Quando estiver fechado */
#bookingModal.hidden {
  display: none !important;
}

/* Quando estiver aberto */
#bookingModal:not(.hidden) {
  display: grid !important;
}

/* Caixa branca do agendamento */
#bookingModal .modal-card {
  position: relative !important;

  width: min(720px, 94vw) !important;
  max-height: 92vh !important;

  overflow-y: auto !important;
  overflow-x: hidden !important;

  margin: auto !important;

  background: rgba(255, 251, 255, 0.99) !important;

  border: 1px solid rgba(255,255,255,.8);
  border-radius: 14px;

  padding: 27px;

  box-shadow:
    0 30px 90px rgba(29, 8, 35, 0.35);

  z-index: 100000 !important;
}

/* Garante que animação de rolagem da página
   nunca esconda o modal */
#bookingModal.scroll-reveal,
#bookingModal .modal-card.scroll-reveal,
#bookingContent.scroll-reveal {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}

/* =====================================================
   HISTÓRICO - PAINEL PROFISSIONAL
===================================================== */

.history-toolbar {
  align-items: flex-start;
  gap: 18px;
}

.history-toolbar h3 {
  margin-bottom: 4px;
}

.history-search {
  width: 260px !important;
  max-width: 100% !important;
}

.history-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 14px 0 18px;
}

.history-filter {
  border: 1px solid #decfe4;
  background: #fff;
  color: #705479;

  padding: 7px 11px;

  border-radius: 20px;

  font-size: 7px;
  font-weight: 700;

  cursor: pointer;

  transition:
    transform .2s ease,
    background .2s ease,
    color .2s ease;
}

.history-filter:hover {
  transform: translateY(-1px);
}

.history-filter.active {
  background: #744184;
  border-color: #744184;
  color: #fff;
}

.status.completed {
  background: #e4f3e7;
  color: #477553;
}

.status.cancelled {
  background: #f7e4e8;
  color: #a5576f;
}

.status.past {
  background: #eee8f2;
  color: #735d7c;
}

.history-code {
  font-weight: 700;
  letter-spacing: .8px;
  color: #6f3d7b;
}

@media(max-width:700px) {

  .history-toolbar {
    display: grid;
  }

  .history-search {
    width: 100% !important;
  }

}