:root{--pink:#FFB6D9;--gold:#C9A961;--beige:#F5E6D3;--text:#333333;--rose:#9c4e61;--sage:#788373;--line:#eee5e1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:#fff;color:var(--text);font:16px/1.6 Arial,Helvetica,sans-serif}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5}button{border:0;background:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--rose);outline-offset:5px}.announcement{background:#f7ebe9;padding:8px 20px;text-align:center;font-size:11px;letter-spacing:1.6px;color:#765c54}.announcement span{margin-left:25px;letter-spacing:.3px;font-size:12px}header{height:100px;padding:0 5%;display:flex;align-items:center;gap:45px;background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid #eee7e4}.logo{width:205px;flex-shrink:0}.logo img{width:100%;height:auto}nav{display:flex;gap:30px;margin:auto;font-size:14px}nav a{padding:10px 0;position:relative}nav a:hover,nav a.active{color:var(--rose)}nav a.active:after{content:'';position:absolute;bottom:3px;height:1px;background:var(--gold);left:0;right:0}.header-actions{display:flex;align-items:center;gap:23px}#search{display:flex;align-items:center;border-bottom:1px solid #ddd2cc;width:196px}#search input{border:0;width:100%;padding:9px 0;font-size:12px;min-width:0;background:none}.icon-button{display:grid;place-items:center;padding:8px}.cart-button{display:flex;align-items:center;gap:7px;padding:8px 0}#cart-count{border-radius:50%;background:#f8e5ea;font-size:11px;min-width:19px;height:19px;display:grid;place-items:center}.mobile-menu{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:570px;background:#fcf4f1;position:relative;overflow:hidden}.hero-copy{padding:75px 0 55px 10%;position:relative;z-index:1}.eyebrow{font-size:11px;letter-spacing:2.3px;font-weight:500;color:#907343;margin-bottom:20px}h1{font-size:clamp(48px,5.2vw,80px);line-height:1.09;letter-spacing:-3px;color:#483831;margin-bottom:24px}h1 em{font-weight:400;color:var(--rose)}.hero-copy>p:not(.eyebrow){color:#806d64;font-size:15px;line-height:1.8;margin-bottom:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;min-height:49px;padding:14px 27px;font-size:12px;letter-spacing:1.2px;border-radius:4px;transition:background .2s,transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);box-shadow:0 7px 17px #9e5a5a1a}.primary{background:var(--pink);color:#59343c}.primary:hover{background:#f6a5c9}.button span{font-size:19px;line-height:1}.hero-note{font-size:12px;color:#8d786a;margin-top:26px}.hero-note span{color:var(--gold);margin-right:10px;font-size:19px}.hero-image{position:relative;overflow:hidden}.hero-image img{height:100%;width:100%;object-fit:cover;object-position:left;max-width:none;position:absolute}.hero-image:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#fcf4f1 0%,transparent 13%)}.image-caption{position:absolute;bottom:25px;right:30px;z-index:2;font-size:10px;letter-spacing:2px;color:#694433}.hero-index{position:absolute;bottom:15px;left:5%;font-size:9px;letter-spacing:2px;color:#ad9487}.values-strip{display:flex;justify-content:center;align-items:center;gap:55px;padding:22px 5%;font-size:12px;color:#716b5e;border-bottom:1px solid var(--line)}.values-strip i{width:1px;height:15px;background:var(--line)}.section{max-width:1260px;margin:auto;padding:65px 50px}.featured{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.featured-image{position:relative;background:#f9f6f3;overflow:hidden;border-radius:7px}.featured-image>img{width:100%;mix-blend-mode:multiply}.pill{position:absolute;top:23px;left:23px;font-size:9px;letter-spacing:1.5px;border:1px solid #d6c5a7;border-radius:30px;padding:6px 12px;z-index:1;color:#897347}.image-footnote{display:block;text-align:center;padding:0 15px 25px;font:italic 17px Georgia;color:#988272}h2{font-size:42px;line-height:1.15;letter-spacing:-1px;color:#493b34;margin-bottom:20px}.product-meta{font-size:10px;letter-spacing:1.5px;color:#927f71}.product-meta span{padding:0 10px;color:var(--gold)}.description{font-size:15px;color:#80756f;line-height:1.85}.ritual{display:flex;gap:40px;margin:25px 0}.ritual>div{font-size:11px;text-align:center;color:#89766a;line-height:1.5}.ritual span{display:block;font-size:29px;line-height:1.5;color:#ae8054}.price{font:27px Georgia;color:#4c3b32;margin:25px 0}.price small{display:block;font:11px Arial;color:#978c84;margin-top:8px}.wide{width:100%;justify-content:space-between}.text-button{display:block;margin:13px auto 0;font-size:12px;text-decoration:underline;text-underline-offset:5px;padding:8px}.text-button span{margin-left:12px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.section-heading h2{font-size:35px;margin-bottom:0}.collection{padding-top:30px}.collection-note{font-size:12px;color:#918479}.filters{display:flex;gap:10px;align-items:center;padding:27px 0}.filters button{padding:8px 15px;font-size:12px;border:1px solid #e8ded7;border-radius:30px}.filters button.selected{background:#f9e8ef;border-color:#f9e8ef;color:#865261}.filters>span{font-size:11px;color:#9a8c82;margin-left:auto}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.product-card .product-image{background:#f8f5f1;border-radius:5px;overflow:hidden;position:relative;aspect-ratio:1/.99}.product-image img{height:100%;width:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .5s}.product-card:hover img{transform:scale(1.065)}.product-card:nth-child(2) .product-image{background:#f9edf0}.product-card:nth-child(3) .product-image{background:#f5eddf}.product-card:nth-child(4) .product-image{background:#edf0e9}.product-badge{position:absolute;left:12px;top:12px;background:#fff9;padding:4px 8px;font-size:9px;letter-spacing:1px;color:#866d50}.product-card h3{font-size:21px;margin:18px 0 3px}.product-card .product-size{font-size:11px;color:#93857b;margin-bottom:10px}.product-card .card-bottom{display:flex;align-items:center;justify-content:space-between;font-size:14px}.buy{font-size:11px;border-bottom:1px solid var(--gold);padding:4px 0}.buy span{margin-left:15px;color:#ad8751}.catalog-note{font-size:11px;color:#948a83;margin:28px 0 0;max-width:800px}.empty{padding:50px 0;color:#8f716b}.why{text-align:center;background:#f8f7f2;padding:50px max(5%,calc((100vw - 1160px)/2))}.why h2{margin-bottom:12px}.why-intro{font-size:14px;color:#898075}.benefits{display:grid;grid-template-columns:repeat(3,1fr);margin:30px auto 0;gap:35px;max-width:800px}.benefits article>span{font-size:32px;color:#9a956c}.benefits h3{font-size:22px;margin:10px 0}.benefits p{font-size:12px;color:#8c8076;margin:0;line-height:1.8}.newsletter{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:50px}.newsletter h2{font-size:35px}.newsletter p{font-size:12px;color:#8c7d73}.newsletter label{font-size:12px;color:#8b7567;display:block;margin-bottom:12px}.email-row{display:flex;border-bottom:1px solid #d6bc96;padding-bottom:8px;gap:10px}.email-row input{width:100%;min-width:0;border:0;background:none;font-size:14px}.email-row button{white-space:nowrap;font-size:11px;padding:12px 18px;gap:18px}.newsletter #newsletter-status{font-size:11px;margin-top:13px}footer{background:#fcf8f5;padding:55px 5% 0;border-top:1px solid var(--line)}.footer-main{display:grid;grid-template-columns:1.3fr 1fr 1.2fr 1.2fr;gap:55px;max-width:1160px;margin:auto;padding-bottom:45px}.footer-brand .logo{display:block;width:180px;margin-top:-17px}.footer-main h3{font-family:Arial;font-size:12px;font-weight:500;margin-bottom:18px}.footer-main p,.footer-main a:not(.logo),.footer-link{font-size:12px;color:#8c7b6f;line-height:1.8}.footer-main a:not(.logo),.footer-link{display:block;margin:7px 0;padding:0;text-align:left}.socials{display:flex;gap:13px}.socials button{border:1px solid #d9c6aa;border-radius:50%;width:31px;height:31px;color:#987d58;font-family:Georgia}.footer-bottom{border-top:1px solid #e9dfd6;padding:20px 0;display:flex;justify-content:space-between;font-size:10px;color:#a08e7e}.pink-heart{color:#c48e9c;font-size:17px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}dialog{border:1px solid var(--line);border-radius:12px;padding:30px;max-width:560px;width:calc(100% - 32px);color:var(--text);max-height:90dvh}dialog::backdrop{background:#34252365;backdrop-filter:blur(3px)}.cart-dialog{margin:0 0 0 auto;border-radius:0;height:100dvh;max-height:100dvh;width:min(450px,100%);display:none}.cart-dialog[open]{display:flex;flex-direction:column}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.dialog-heading h2{font-size:29px;margin:0}.dialog-heading h2 span{color:var(--rose)}.dialog-heading .close{font-size:28px}.dialog-heading p{margin:0}#cart-items{overflow-y:auto;flex:1}.cart-row{display:grid;grid-template-columns:65px 1fr;gap:17px;padding:20px 0;border-bottom:1px solid var(--line)}.cart-row img{border-radius:5px}.cart-row h3{font-size:18px;margin:0}.cart-row p{font-size:12px;margin:5px 0}.quantity{display:flex;align-items:center;gap:13px;font-size:14px}.quantity button{border:1px solid var(--line);width:28px;height:28px}.quantity .remove{width:auto;border:0;font-size:11px;text-decoration:underline;margin-left:auto}.cart-summary{padding-top:25px}.cart-summary>div{display:flex;justify-content:space-between}.cart-summary p{font-size:12px;color:#8f7c70;margin-top:20px}#details-content h2{font-size:33px;margin-top:20px}#details-content p{font-size:15px;color:#806e63}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:#493b34;color:white;padding:12px 25px;border-radius:5px;font-size:13px;opacity:0;pointer-events:none;transition:.25s;z-index:30;width:max-content;max-width:90%;text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}@media(prefers-reduced-motion:no-preference){.hero-copy{animation:arrive .8s ease-out}@keyframes arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@supports(animation-timeline:view()){.featured,.collection,.benefits{animation:arrive linear both;animation-timeline:view();animation-range:entry 0% entry 20%}}}@media(min-width:1600px){.hero{min-height:680px}.hero-copy{padding-top:110px}}@media(max-width:1050px){header{gap:22px;padding:0 4%}.logo{width:170px}nav{gap:20px}#search{width:160px}.header-actions{gap:15px}.hero-copy{padding-top:65px;padding-bottom:65px}.hero{min-height:530px}.featured{gap:50px}.section{padding:65px 35px}.collection{padding-top:15px}.product-grid{gap:16px}.collection-note{display:none}.values-strip{gap:25px}.footer-main{gap:30px}.newsletter{gap:40px}}@media(max-width:760px){.announcement{font-size:9px;letter-spacing:1px}.announcement span{display:none}header{height:78px;justify-content:space-between;gap:15px}.logo{width:155px}.mobile-menu{display:grid}nav{display:none;position:absolute;top:77px;left:0;right:0;background:#fff;padding:20px 7%;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #493b3408}nav.open{display:flex;flex-direction:column;gap:8px}#search{width:140px}#search input{font-size:11px}.header-actions{gap:12px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:45px 7% 35px}.hero-copy .eyebrow{font-size:9px;letter-spacing:1.6px}h1{font-size:55px}.hero-copy>p:not(.eyebrow){font-size:14px}.hero-image{height:380px}.hero-image img{object-position:left top}.hero-image:before{background:linear-gradient(#fcf4f1,transparent 14%)}.hero-index{display:none}.hero-note{display:inline-block;margin-left:16px;font-size:10px}.image-caption{font-size:9px}.values-strip{padding:16px 4%;justify-content:space-between;gap:12px}.values-strip span{font-size:10px;text-align:center}.values-strip i{display:none}.section{padding:55px 6%}.featured{grid-template-columns:1fr;gap:35px}.featured-image{max-width:450px;width:100%;margin:auto}.featured-image img{max-height:450px;object-fit:contain}h2{font-size:38px}.featured-copy .eyebrow{margin-bottom:15px}.ritual{justify-content:space-between;max-width:340px}.collection{padding-top:15px}.section-heading h2{font-size:31px}.filters{gap:7px;flex-wrap:wrap}.filters button{padding:7px 11px;font-size:11px}.filters>span{width:100%;margin:4px 0 0}.product-grid{grid-template-columns:1fr 1fr;gap:27px 16px}.product-card h3{font-size:19px}.product-card .card-bottom{font-size:13px}.buy{font-size:10px}.buy span{margin-left:4px}.why{padding:45px 6%}.why>.eyebrow{font-size:9px;letter-spacing:1.5px}.benefits{grid-template-columns:repeat(3,1fr);gap:25px;max-width:100%}.benefits h3{font-size:20px}.newsletter{grid-template-columns:1fr;gap:18px}.newsletter h2{font-size:32px}.footer-main{grid-template-columns:1fr 1fr;gap:35px 25px}.footer-bottom{gap:20px;font-size:9px}.newsletter #newsletter-status{font-size:11px}}@media(max-width:420px){#search{width:32px;border:0}#search input{position:absolute;top:78px;left:0;width:100%;padding:12px 6%;background:#fff;border-bottom:1px solid var(--line);display:none}#search:focus-within input{display:block}h1{font-size:49px}.hero-note{margin-left:10px}.hero-image{height:330px}.eyebrow{letter-spacing:1.5px}.benefits{grid-template-columns:1fr;gap:20px}.footer-main{gap:35px 18px}.email-row button{padding:12px;gap:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Clear, touch-friendly purchase actions across the collection. */
.product-card { display: flex; flex-direction: column; min-width: 0; }
/* Wrapper interno: o ScrollReveal controla a entrada em .product-card (outer),
   as microinterações de hover/active continuam em .product-card-inner (inner),
   evitando dois transforms conflitantes no mesmo elemento. */
.product-card-inner { display: flex; flex-direction: column; flex: 1; min-width: 0; height: 100%; }
.product-card .card-bottom {
  margin-top: auto;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
}
.product-card .card-bottom > span {
  font-size: 1.125rem;
  font-weight: 600;
  color: #493b34;
}
.product-card .buy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid #e99bbb;
  border-radius: 9px;
  background: linear-gradient(135deg, #ffb6d9, #f5a6c8);
  color: #59343c;
  font-size: .875rem;
  font-weight: 600;
  line-height: 1.4;
  box-shadow: 0 4px 12px #9c4e6114;
  transition: background .2s ease, box-shadow .2s ease, transform .2s ease;
}
.product-card .buy span { margin: 0; color: inherit; }
.product-card .buy svg { width: 19px; height: 19px; flex-shrink: 0; stroke-width: 1.75; }
.product-card .buy:focus-visible { outline: 3px solid #9c4e61; outline-offset: 3px; }
@media (hover: hover) {
  .product-card .buy:hover {
    background: linear-gradient(135deg, #f8a5cc, #ed95ba);
    box-shadow: 0 7px 18px #9c4e6126;
    transform: translateY(-2px);
  }
}
.product-card .buy:active { transform: scale(.98); box-shadow: 0 2px 6px #9c4e611a; }

/* Keep the established banner layout, with the product framed on every screen. */
.hero-video { background: #fcf4f1 url("assets/banner-poster.webp") 20% center / cover no-repeat; }
.hero-video video {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 20% center;
  pointer-events: none;
}
.hero-video::before { pointer-events: none; }
.hero-video video[hidden] { display: none; }

/* Consistent pill-shaped buttons, including dynamically rendered controls. */
button,
.button,
.product-card .buy,
.filters button,
.quantity button,
.socials button {
  border-radius: 999px;
}

/* Checkout and cart */
.cart-summary { max-height: 60dvh; overflow-y: auto; flex-shrink: 0; }
.cart-summary .coupon-box { display: block; margin: 16px 0; }
.coupon-box label { display: block; font-size: 14px; margin-bottom: 6px; }
.coupon-row { display: flex; gap: 8px; }
.coupon-row input { width: 100%; min-width: 0; }
.coupon-row .button { padding: 10px 16px; letter-spacing: 0; }
.coupon-box #coupon-status { margin: 8px 0; }
.checkout-total { border-top: 2px solid var(--line); margin: 16px 0 12px; padding-top: 16px; font-size: 18px; font-weight: 600; }
button:disabled { opacity: .5; cursor: not-allowed; transform: none; }
#checkout { max-width: 720px; }
#checkout [hidden], .cart-summary [hidden] { display: none; }
#checkout fieldset { border: 1px solid var(--line); border-radius: 18px; padding: 18px; margin: 22px 0; min-width: 0; }
#checkout legend { font-weight: 600; padding: 0 8px; color: #805561; }
.checkout-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.checkout-fields label { display: grid; gap: 6px; font-size: 14px; }
.checkout-fields .full { grid-column: 1 / -1; }
.checkout-fields input, .checkout-fields select, .coupon-row input { border: 1px solid #dcc9d0; border-radius: 14px; background: #fff; padding: 11px 12px; font: inherit; font-size: 16px; color: var(--text); min-width: 0; width: 100%; }
.checkout-note { font-size: 14px; color: #806e73; }
.pix-choice { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; background: #fcf0f5; border: 1px solid #efd6e1; border-radius: 16px; padding: 16px; }
.pix-choice span { font-size: 14px; }
.pix-choice input { accent-color: #9c4e61; }
.order-review { background: #fcf7f9; border-radius: 18px; padding: 20px; margin-bottom: 20px; }
.order-review > div:not(#checkout-products) { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin: 10px 0; }.order-review > div:not(#checkout-products) span:first-child { flex: 1; text-align: left; }.order-review > div:not(#checkout-products) strong, .order-review > div:not(#checkout-products) span:last-child { text-align: right; }
#checkout-products p { font-size: 14px; }
#pix-stage, #order-success { padding: 14px 0; overflow-wrap: anywhere; }
#pix-stage h3, #order-success h3 { font-size: 28px; }
@media(max-width: 480px) {
  #checkout { padding: 20px 16px; }
  .checkout-fields { grid-template-columns: 1fr; }
  #checkout fieldset { padding: 14px; }
  #checkout .button { letter-spacing: 0; gap: 10px; }
}

/* Give text and icon actions a visible rounded surface as well. */
.icon-button,
.cart-button,
.text-button,
.footer-main .footer-link,
.quantity .remove {
  background: #fcf0f5;
  border: 1px solid #efd6e1;
}
.icon-button {
  width: 38px;
  height: 38px;
  padding: 7px;
  flex-shrink: 0;
}
.cart-button { padding: 7px 10px; }
.text-button { padding: 9px 18px; text-decoration: none; }
.footer-main .footer-link { padding: 6px 12px; }
.quantity .remove { padding: 0 10px; text-decoration: none; }
.quantity button:not(.remove) { padding: 0; }
.socials button { background: #fcf0f5; }
nav a { border-radius: 999px; }
@media (hover: hover) {
  .icon-button:hover,
  .cart-button:hover,
  .text-button:hover,
  .footer-main .footer-link:hover,
  .quantity button:hover,
  .socials button:hover { background: #f9e0eb; }
}

/* A entrada do Hero/Featured/Coleção/Benefícios agora é controlada pelo ScrollReveal
   (data-reveal, ver motion.css). As regras abaixo neutralizam, via cascata (este bloco
   vem depois da regra minificada original no arquivo), a animação "arrive" antiga nesses
   mesmos alvos, evitando um duplo fade/translate concorrendo com o novo sistema. */
.hero-copy,
.featured,
.collection,
.benefits {
  animation: none;
}

/* Contém eventuais deslocamentos horizontais transitórios do ScrollReveal (direction
   left/right) dentro da própria seção, sem cortar hovers verticais (scale/translateY). */
.section {
  overflow-x: hidden;
}
