@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter:wght@400;500;600&display=swap');

/* Tema da cliente: luz quente sobre nude, vidro fumê e tipografia editorial. */
html[data-theme="cafe-luz"]{background:#d9ccc0}
[data-theme="cafe-luz"] body{
  --muted:#786557;--linha:#ab8b7033;--lavanda:#e9d8c6;
  background:radial-gradient(ellipse 330px 380px at 110% 32%,#fff7dfb3,transparent 75%),radial-gradient(ellipse 300px 450px at -20% 53%,#bf917c33,transparent 75%),radial-gradient(ellipse 280px 300px at 90% 84%,#fff8e6a6,transparent 80%),var(--fundo);
  box-shadow:0 0 80px #4d302518;border-inline:1px solid #fff4e766;
}
[data-theme="cafe-luz"] .demo-bar{background:#37271f;color:#dac8b7;letter-spacing:2.5px;font-size:6px;padding:6px}
[data-theme="cafe-luz"] .bio-cover{height:168px;background-size:100% 100%,100% auto;background-position:center,50% 14%;background-repeat:no-repeat;background-color:#d6c8b9;border-radius:0 0 30% 7%;box-shadow:0 13px 27px #63433218}
[data-theme="cafe-luz"] .bio-cover:after{display:block;content:'';position:absolute;inset:0;width:auto;height:auto;border:0;border-radius:0;background:linear-gradient(115deg,#3a221d40,transparent 55%,#e9c49e40)}
[data-theme="cafe-luz"] .bio-profile{padding:0 28px 4px}
[data-theme="cafe-luz"] .bio-avatar{width:88px;height:88px;margin:-44px auto 14px;border:4px solid #f3e8da;outline:1px solid #b4977673;box-shadow:0 8px 22px #4b2e252b}
[data-theme="cafe-luz"] .hero h1{font-family:var(--titulos);font-weight:400;font-size:clamp(46px,12vw,54px);line-height:1.08;letter-spacing:-.8px;margin:0 auto 12px;display:flex;align-items:baseline;justify-content:center;gap:8px;flex-wrap:wrap}
[data-theme="cafe-luz"] .brand-first{font-size:1em;font-weight:400}
[data-theme="cafe-luz"] .brand-last{font-size:.94em;font-weight:400;font-style:italic;color:#825944}
[data-theme="cafe-luz"] .hero .eyebrow{font-size:9px;line-height:1.5;letter-spacing:2.6px;margin:0 0 20px;color:#715744}
[data-theme="cafe-luz"] .button{
  position:relative;isolation:isolate;overflow:hidden;border-radius:15px;
  border:1px solid #fff2dc70;color:#fff7ec;
  background:linear-gradient(120deg,#a67b5d55,#432b25b8),#674936;
  box-shadow:inset 0 1px 0 #fff4db69,inset 0 -1px 0 #37221925,0 8px 20px #6b44252b;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
[data-theme="cafe-luz"] .button:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(115deg,#fff4dc25,transparent 48%,#fff8e50d);border-radius:inherit}
[data-theme="cafe-luz"] .hero .button{min-height:53px;padding:14px 21px;font-size:12px;line-height:1.5;letter-spacing:0}
[data-theme="cafe-luz"] .button>span{font-size:19px;color:#f2d8b8}
[data-theme="cafe-luz"] .bio-details{border:0;padding:19px 6px 0;margin:8px 0 0;gap:9px;position:relative}
[data-theme="cafe-luz"] .bio-details:before{content:'';position:absolute;width:1px;height:30px;left:50%;top:20px;background:linear-gradient(transparent,#a98b6a7d,transparent)}
[data-theme="cafe-luz"] .bio-details strong{font-size:14px;line-height:1.5;letter-spacing:-.15px;color:#513a2c}
[data-theme="cafe-luz"] .rating-stars{color:#987244;font-size:12px;letter-spacing:3px}
[data-theme="cafe-luz"] .bio-details small{font-size:10px;line-height:1.5}.stats-demo{font-size:7px}
[data-theme="cafe-luz"] .section{padding-top:27px}
[data-theme="cafe-luz"] .section-head h2,[data-theme="cafe-luz"] .location h2{font-family:var(--titulos);font-size:29px;line-height:1.2;font-style:normal;font-weight:400;color:#62442f;letter-spacing:-.2px}
[data-theme="cafe-luz"] .swipe-hint{font-size:10px;line-height:1.5;letter-spacing:0;color:#8a705a}
[data-theme="cafe-luz"] #portfolio .gallery{border-radius:13px;box-shadow:0 12px 24px -10px #4f302b5c,0 1px 2px #56362922;outline:1px solid #fff5e9a6}
[data-theme="cafe-luz"] #portfolio .work-image{border-radius:13px}
[data-theme="cafe-luz"] .gallery-controls{min-height:38px}
[data-theme="cafe-luz"] .gallery-dot span{background:#cbb49e}
[data-theme="cafe-luz"] .gallery-dot[aria-current="true"] span{background:#765039}
[data-theme="cafe-luz"] .location-with-map{padding-top:23px;border-top:1px solid #a98b6a33;border-bottom:0}
[data-theme="cafe-luz"] .location-visuals{gap:7px;border-radius:12px;box-shadow:0 8px 18px -9px #513b353b;outline:1px solid #fff6ec99}
[data-theme="cafe-luz"] .studio-photo img{object-position:50% 25%}
[data-theme="cafe-luz"] .location-details p{color:#5f4837;font-size:12px;line-height:1.65}
[data-theme="cafe-luz"] .text-link{color:#705039;border-bottom-color:#aa8767}
[data-theme="cafe-luz"] .opening-hours{border-top-color:#b6967530;padding-top:12px;font-size:11px;line-height:1.6}
[data-theme="cafe-luz"] .opening-hours svg{color:#916d4e}
[data-theme="cafe-luz"] .location-demo{font-size:7px;margin-top:12px}
[data-theme="cafe-luz"] .contact-minimal{margin:2px 18px 17px;padding:22px 12px;border-radius:22px;background:linear-gradient(135deg,#fff7e959,#edd7c331);border:1px solid #fffbf06e;box-shadow:inset 0 1px 0 #fff8edb3,0 10px 24px -17px #6b482f55}
[data-theme="cafe-luz"] .contact-minimal h2{font-size:12px;line-height:1.5;letter-spacing:.15px;font-weight:500;color:#6d503d;margin-bottom:16px}
[data-theme="cafe-luz"] .social-circles{gap:25px}
[data-theme="cafe-luz"] .social-circle{color:#765139;width:48px;height:48px;border:1px solid #fff6e9c2;background:linear-gradient(135deg,#fffbf4ad,#dfc4ab40);box-shadow:inset 0 1px 1px #fffdf9,0 4px 11px #8662431c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
[data-theme="cafe-luz"] .social-circle svg{width:23px;height:23px}
[data-theme="cafe-luz"] footer{padding-bottom:22px}
[data-theme="cafe-luz"] footer small{font-size:8px;color:#8a7461}
[data-theme="cafe-luz"] dialog{border-color:#dac5ad;border-radius:18px;box-shadow:0 20px 60px #30201750}
[data-theme="cafe-luz"] dialog::backdrop{background:#302017a8;backdrop-filter:blur(4px)}
@media(hover:hover){[data-theme="cafe-luz"] .button:hover{background:linear-gradient(120deg,#b58d6b66,#432b2599),#73513c}[data-theme="cafe-luz"] .social-circle:hover{border-color:#c5a382;background:#fff5e9c7}}
@media(max-width:359px){[data-theme="cafe-luz"] .bio-profile{padding-inline:22px}[data-theme="cafe-luz"] .hero h1{gap:7px}[data-theme="cafe-luz"] .bio-cover{height:155px}}


[data-theme="cafe-luz"] .bio-avatar{margin-bottom:12px}
[data-theme="cafe-luz"] .section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px}
[data-theme="cafe-luz"] .location-with-map>h2{margin-bottom:16px}
[data-theme="cafe-luz"] .bio-details{row-gap:10px}
[data-theme="cafe-luz"] .location .text-link{font-size:11px;line-height:1.5}
[data-theme="cafe-luz"] dialog .eyebrow{padding-right:18px}
[data-theme="cafe-luz"] dialog h2{font-size:clamp(32px,9vw,42px);line-height:1.1;overflow-wrap:anywhere}
[data-theme="cafe-luz"] #portfolio .gallery.gallery-stack{box-shadow:none;outline:0}
[data-theme="cafe-luz"] .bio-cover-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 22%;pointer-events:none}
[data-theme="cafe-luz"] .bio-cover-video[hidden]{display:none}
[data-theme="cafe-luz"] .bio-cover:after{z-index:1;pointer-events:none}

/* Capa e identidade compartilham a mesma luz e transição de fundo. */
[data-theme="cafe-luz"] .hero{
  background:radial-gradient(ellipse 85% 55% at 50% 43%,#fff5e76e,transparent 85%);
  isolation:isolate;
}
[data-theme="cafe-luz"] .hero .bio-cover{
  height:180px;border-radius:0;box-shadow:none;
  mask-image:linear-gradient(to bottom,#000 0%,#000 64%,transparent 100%);
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 64%,transparent 100%);
}
[data-theme="cafe-luz"] .hero .bio-cover:after{
  background:linear-gradient(110deg,#60442f21,transparent 55%,#eccba52e);
}
[data-theme="cafe-luz"] .hero .bio-profile{
  margin-top:-40px;padding:0 28px 4px;z-index:2;
}
[data-theme="cafe-luz"] .hero .bio-avatar{
  margin:0 auto 13px;border:3px solid #f6eadc;
  box-shadow:0 5px 16px #65462e26,0 0 0 5px #fff5e63b;
}
[data-theme="cafe-luz"] .hero h1{margin-bottom:9px}
[data-theme="cafe-luz"] .hero .eyebrow{margin-bottom:17px;letter-spacing:2.8px}
[data-theme="cafe-luz"] .hero .button{
  min-height:52px;border-radius:14px;
  background:linear-gradient(115deg,#ad89664d,#4b3229a1),#6c4b36;
  box-shadow:inset 0 1px 0 #fff3df75,0 6px 16px #6b442526;
}
[data-theme="cafe-luz"] .hero .bio-details{margin-top:7px;padding-top:18px}
@media(max-width:359px){
  [data-theme="cafe-luz"] .hero .bio-cover{height:168px}
  [data-theme="cafe-luz"] .hero .bio-profile{padding-inline:22px}
}

/* Cupom destacável: duas partes independentes e um picote funcional. */
.coupon-section{padding:2px 24px 23px}
.bio-profile .coupon-section{padding:0;margin:18px 0 0;text-align:left}
.hero .monthly-button{margin-top:10px}
.coupon-ticket{display:flex;position:relative;width:100%;padding:0;border:0;background:none;text-align:left;color:#62442f;perspective:700px;isolation:isolate;filter:drop-shadow(0 7px 9px #76513519)}
.coupon-main,.coupon-stub{background:linear-gradient(130deg,#fff7e7,#e7cbae);border:1px solid #c7a58080;position:relative}
.coupon-main{flex:1;min-width:0;padding:19px 17px 17px;border-radius:12px 0 0 12px;border-right:1px dashed #ab815b80}
.coupon-stub{width:78px;flex:none;border-left:0;border-radius:0 12px 12px 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;background:linear-gradient(145deg,#eddbc4,#dfc1a2)}
.coupon-ticket::before,.coupon-ticket::after{content:'';position:absolute;right:72px;width:12px;height:12px;border-radius:50%;background:var(--fundo);z-index:2;pointer-events:none}
.coupon-ticket::before{top:-6px}.coupon-ticket::after{bottom:-6px}
.coupon-eyebrow{display:block;font:500 7px/1.5 var(--corpo);letter-spacing:1.15px}
.coupon-value{display:flex;align-items:baseline;gap:2px;font:54px/.98 var(--titulos);letter-spacing:-1px;margin:10px 0 7px}
.coupon-value>span{font-size:29px}.coupon-value em{font:italic 19px/1 var(--titulos);letter-spacing:0;margin-left:7px}
.coupon-condition{font:10px/1.5 var(--corpo);color:#73563f}
.coupon-stub svg{width:23px;height:23px}.coupon-stub>span{font:9px/1.5 var(--corpo);text-align:center}.coupon-stub>span:last-child{font-size:17px}
.coupon-status:empty{display:none}.coupon-status{display:block;text-align:center;font-size:10px;margin-top:8px;color:var(--muted)}
.coupon-ticket:focus-visible{outline:3px solid #916d4e;outline-offset:5px;border-radius:12px}
.coupon-ticket:not(.rasgando):active{transform:scale(.99)}
.rasgando .coupon-main{clip-path:polygon(0 0,100% 0,98% 8%,100% 16%,98% 24%,100% 32%,98% 40%,100% 48%,98% 56%,100% 64%,98% 72%,100% 80%,98% 88%,100% 100%,0 100%);animation:cupom-corpo .7s ease both}
.rasgando .coupon-stub{clip-path:polygon(5% 0,100% 0,100% 100%,0 100%,5% 88%,0 80%,5% 72%,0 64%,5% 56%,0 48%,5% 40%,0 32%,5% 24%,0 16%,5% 8%);transform-origin:0 90%;animation:cupom-rasgo .7s cubic-bezier(.3,0,.3,1) both}
.rasgando::before,.rasgando::after{opacity:0}
@keyframes cupom-corpo{0%{transform:translateX(0)}35%{transform:translateX(-3px) rotate(-.7deg)}100%{transform:translateX(-9px) rotate(-1deg);opacity:.6}}
@keyframes cupom-rasgo{0%{transform:translateX(0) rotate(0)}30%{transform:translateX(3px) rotate(4deg)}100%{transform:translate(55px,22px) rotate(18deg);opacity:0}}
@media(hover:hover){.coupon-ticket:not(.rasgando):hover .coupon-stub{background:linear-gradient(145deg,#f5e7d4,#e6c7a5)}}
@media(max-width:359px){.coupon-main{padding:16px 12px}.coupon-value{font-size:48px}.coupon-value em{font-size:17px;margin-left:4px}.coupon-eyebrow{font-size:6px;letter-spacing:.6px}.coupon-stub{width:67px}.coupon-ticket::before,.coupon-ticket::after{right:61px}}
@media(prefers-reduced-motion:reduce){.rasgando .coupon-main,.rasgando .coupon-stub{animation:none!important}}

.portfolio-feedbacks{max-width:340px;width:calc(100% - 24px);margin:0 auto;display:grid}
.portfolio-feedback{grid-area:1/1;margin:0;padding:16px 17px 13px;border:1px solid #fff7eac2;border-radius:12px;background:linear-gradient(130deg,#fff6eaa8,#e8d4be57);box-shadow:0 6px 15px -11px #68483144;position:relative;animation:feedback-entrada .35s ease both}
.portfolio-feedback[hidden]{display:block;visibility:hidden;pointer-events:none;animation:none}
.portfolio-feedback::before{content:'';position:absolute;left:50%;top:-10px;width:1px;height:10px;background:#ab896761}
.feedback-rating{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:12px;font:10px/1.5 var(--corpo);color:#886746}
.feedback-rating>span:first-child{letter-spacing:2px;font-size:12px}
.portfolio-feedback blockquote{margin:0;font:400 19px/1.25 var(--titulos);color:#5e4130}
.portfolio-feedback figcaption{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;font:500 10px/1.5 var(--corpo);color:#76583e}
.portfolio-feedback figcaption small{font-size:8px;font-weight:400;color:#867461}
@keyframes feedback-entrada{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.portfolio-feedback{animation:none}}

/* Une la photo et son retour dans chaque carte de la pile. */
#portfolio .gallery-stack article.work{height:auto;display:block;text-align:left;background:#f5e8d8;border:2px solid #fbefdf}
.work-photo{display:block;width:100%;border:0;padding:0;background:transparent;color:inherit;cursor:pointer}
#portfolio .gallery-stack .work .work-image{height:216px;border-radius:0}
#portfolio .gallery-stack .work .portfolio-feedback{padding:14px 15px 13px;min-height:126px;border:0;border-top:1px solid #d4bda247;border-radius:0;background:linear-gradient(125deg,#fbefdf,#ebd7c1);box-shadow:none;animation:none}
#portfolio .gallery-stack .work .portfolio-feedback::before{display:none}
.work-photo:focus-visible{outline:3px solid #916d4e;outline-offset:-4px}
@media(max-width:359px){#portfolio .gallery-stack .work .work-image{height:196px}}

/* A fotografia se dissolve no mesmo nude do depoimento, sem linha divisória. */
#portfolio .gallery-stack .work .work-image{position:relative}
#portfolio .gallery-stack .work .work-image::after{
  content:'';position:absolute;left:0;right:0;bottom:-1px;height:46px;
  background:linear-gradient(to bottom,#f4e5d500 0%,#f4e5d526 25%,#f4e5d5a6 70%,#f4e5d5 100%);
  pointer-events:none;
}
#portfolio .gallery-stack .work .portfolio-feedback{
  border-top:0;
  background:linear-gradient(to bottom,#f4e5d5 0%,#f1e0cd 60%,#ebd7c1 100%);
}

#booking-dialog{width:min(92vw,440px);padding:34px 25px 25px;max-height:88dvh;overflow-y:auto;overscroll-behavior:contain}
#booking-dialog h2{font-size:38px;letter-spacing:-.5px}
#booking-dialog .booking-intro{margin:12px 0 20px;font-size:12px;line-height:1.6}
#booking-form{display:flex;flex-direction:column;text-align:left}
#booking-form label{font:500 12px/1.5 var(--corpo);margin-bottom:7px;color:#5f4533}
#booking-form input,#booking-form select{width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid #bba08580;border-radius:9px;background:#fff6e9b8;color:#443024;font:16px/1.4 var(--corpo);margin:0 0 17px}
#booking-form input::placeholder{font-size:12px;color:#8d7b6b}
#booking-form input:focus-visible,#booking-form select:focus-visible{outline:2px solid #916d4e;outline-offset:2px}
#booking-form small{font-size:10px;line-height:1.5;margin:-9px 0 17px;color:#786557}
#booking-form .booking-submit{width:100%;min-height:50px;font-size:12px;gap:12px;margin-top:3px}
#booking-preview .booking-demo-note{font-size:11px;margin:18px 0 10px;color:#73563f}
#booking-preview pre{margin:0;padding:14px;border:1px solid #d7bfa3;border-radius:10px;background:#f8ecdc;font:12px/1.7 var(--corpo);white-space:pre-wrap;overflow-wrap:anywhere;color:#513a2c}
