/* Direção editorial: rosa, pêssego e amarelo das referências da Bela Donna. */
.announcement { background: var(--brand-gradient); display: flex; justify-content: space-between; align-items: center; padding: 8px 5%; letter-spacing: .02em; }
.announcement > span:first-child, .announcement > span:last-child { font-size: 12px; letter-spacing: .1em; }
.header { height: 88px; background: var(--paper); }
.wordmark { font-size: 26px; letter-spacing: .16em; }
.wordmark span { font-size: 12px; letter-spacing: .24em; }
.navigation { gap: 30px; }
.navigation a { font-size: 13px; }
.button { position: relative; min-height: 52px; padding: 15px 25px; gap: 30px; font-size: 13px; letter-spacing: .02em; }
.button span { font-size: 23px; line-height: 1; transition: transform .25s; }
.button:hover span { transform: translateX(4px); }
.hero { padding: 30px 5% 35px; height: auto; min-height: 0; display: grid; grid-template-columns: .9fr 1.35fr; gap: 5%; background: var(--paper); align-items: center; overflow: hidden; }
.hero-copy { padding: 15px 0; background: transparent; }
.hero-copy .eyebrow { letter-spacing: .16em; font-size: 12px; }
.hero h1 { font-size: clamp(66px,6.6vw,94px); line-height: .93; font-weight: 400; letter-spacing: -.045em; margin: 22px 0; }
.hero h1 em { font-weight: 400; background: linear-gradient(110deg,#ae2e78,#a94b26 55%,#88691a); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero-copy > p:not(.eyebrow) { font-size: 14px; line-height: 1.7; color: var(--muted); }
.hero .hero-price { margin: 20px 0; color: var(--ink); font-size: 12px; }
.hero-price strong { font-size: 17px; }
.hero-visual { display: grid; grid-template-columns: .72fr 1fr; gap: 18px; align-items: end; height: 452px; position: relative; }
.hero-visual::before { content: ''; position: absolute; inset: 14px -20px 30px 40%; background: var(--soft-gradient); z-index: 0; }
.hero-main, .hero-secondary { position: relative; z-index: 1; min-width: 0; }
.hero-main { align-self: start; }
.hero-photo { display: block; height: 408px; }
.hero-photo img { object-position: 52% 38%; }
.hero-secondary { margin-bottom: 20px; }
.hero-secondary img { width: 100%; height: 286px; object-fit: cover; object-position: 50% 30%; }
.hero-secondary > span { display: block; font-size: 12px; margin-top: 10px; letter-spacing: .03em; }
.hero-piece { display: flex; justify-content: space-between; align-items: center; text-decoration: none; border-bottom: 1px solid var(--line); margin: 0; min-height: 44px; letter-spacing: .03em; }
.hero-piece span { font-size: 22px; }
.trust-line { background: #fff8fa; border-top: 1px solid var(--line); min-height: 52px; }
.trust-line span { letter-spacing: .035em; }
.collection { padding-top: 42px; padding-bottom: 58px; }
.collection .section-heading { margin-bottom: 26px; }
.collection .section-heading h2 { font-size: clamp(40px,4.5vw,60px); font-weight: 400; letter-spacing: -.025em; }
.section-heading .eyebrow { color: #9d386f; letter-spacing: .15em; }
.section-heading > p { font-size: 13px; text-align: right; }
.tabs { gap: 36px; }
.tabs button { font-size: 13px; padding: 14px 0; }
.tabs button.active { border-image: var(--brand-gradient) 1; border-bottom-width: 3px; }
.filter-panel { border-bottom: 1px solid var(--line); }
.filter-panel > summary { display: flex; align-items: center; justify-content: flex-end; gap: 18px; list-style: none; font-size: 12px; min-height: 44px; padding: 8px 0; }
.filter-panel > summary::-webkit-details-marker { display: none; }
.filter-panel > summary span { font-size: 20px; line-height: 1; }
.filter-panel[open] > summary span { transform: rotate(45deg); }
.catalog-controls { padding-bottom: 18px; margin-top: 0; }
.catalog-summary { padding: 16px 0; }
.product-grid { row-gap: 44px; }
.product-image-button img { transition: transform .55s cubic-bezier(.2,.65,.3,1); }
.product-image-button:hover img { transform: scale(1.045); }
.quick-view { background: transparent; border-top: 1px solid rgba(52,39,47,.1); border-bottom: 1px solid var(--line); letter-spacing: .01em; }
.product-visual { background: #efeeeb; }
.favorite { background: rgba(255,253,250,.92); }
.favorite:hover, .favorite.selected { color: #a73373; }
.favorite.selected svg { fill: #a73373; }
.product-line { margin-top: 16px; }
.product h3 { font-weight: 450; }
.product-material { min-height: 32px; }
.cash-price { font-weight: 500; font-size: 20px; }
.product-saving { color: #90335f; }
.product-size { border-top: 1px solid var(--line); padding-top: 8px; margin-top: 10px; }
.materials { background: #fff5f7; position: relative; gap: 10%; grid-template-columns: 1fr 1fr; align-items: center; }
.materials::before { content: ''; height: 4px; position: absolute; inset: 0 0 auto; background: var(--brand-gradient); }
.materials-heading { display: grid; grid-template-columns: 1fr 140px; column-gap: 18px; align-items: end; }
.materials-heading .monogram { grid-column: 1/-1; color: #ab3c78; margin-bottom: 26px; }
.materials-heading .eyebrow { grid-column: 1/-1; }
.materials h2 { font-size: 49px; line-height: 1.02; letter-spacing: -.02em; }
.material-photo { width: 140px; height: 190px; object-fit: cover; grid-column: 2; align-self: end; }
.material-copy h3 { font-size: 34px; }
.contact { background: var(--soft-gradient); padding-top: 66px; padding-bottom: 66px; position: relative; }
.contact::after { content: ''; position: absolute; inset: auto 0 0; height: 4px; background: var(--brand-gradient); }
.contact h2 { font-size: 68px; font-weight: 400; letter-spacing: -.03em; }
.contact p { max-width: 440px; }
footer { background: #34272f; color: #fff9f3; padding-top: 48px !important; overflow: hidden; }
footer .wordmark { font-size: 23px; }
.footer-links { font-size: 12px; }
footer .service-info, footer .footer-bottom { border-color: #63515d; }
footer summary { font-size: 13px; }
footer details p, footer .footer-bottom { color: #ded1d8; }
.footer-signature { font: italic 400 clamp(70px,15vw,230px)/.9 'Cormorant Garamond',Georgia,serif; letter-spacing: -.06em; margin: 42px 0 22px; width: fit-content; background: var(--brand-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; }
.whatsapp-float { border: 1px solid #8c667b; }
.detail-saving { color: #90335f; }
@media(min-width:1500px) { .hero { padding-top: 45px; padding-bottom: 45px; }.hero-visual { height: 540px; }.hero-photo { height: 496px; }.hero-secondary img { height: 350px; } }
@media(max-width:1000px) {
  .hero { gap: 4%; grid-template-columns: 1fr 1.15fr; }.hero h1 { font-size: 73px; }.hero-visual { gap: 12px; height: 420px; }.hero-photo { height: 376px; }.hero-secondary img { height: 235px; }.hero-copy .eyebrow { max-width: 220px; }
  .navigation { gap: 18px; }.materials-heading { display: block; }.material-photo { margin-top: 24px; width: 140px; height: 160px; }.materials h2 { font-size: 43px; }
}
@media(max-width:760px) {
  .header { height: 78px; }.header .wordmark { font-size: 22px; }.navigation { top: 78px; }.announcement > span:first-child, .announcement > span:last-child { display: none; }.announcement { justify-content: center; }
  .hero h1 { font-size: 60px; }.hero-visual { display: block; height: 410px; }.hero-secondary { display: none; }.hero-photo { height: 366px; }.hero-visual::before { inset: 18px -10px 20px 25%; }.hero-visual .hero-piece { min-height: 44px; }
  .hero-copy > p:not(.eyebrow) { font-size: 13px; }.hero-copy .button { padding: 14px 16px; gap: 15px; }.hero-copy .eyebrow { font-size: 12px; }
  .contact h2 { font-size: 56px; }.contact { gap: 26px; }.service-info details { border-color: #63515d; }
}
@media(max-width:640px) {
  .header { padding: 0 4%; }.header .wordmark { font-size: 21px; letter-spacing: .1em; }.header .wordmark span { letter-spacing: .15em; }
  .hero { display: flex; flex-direction: column; padding: 0; gap: 0; position: relative; }
  .hero-visual { order: -1; width: 100%; height: 326px; display: grid; grid-template-columns: .65fr 1fr; gap: 12px; padding: 18px 5% 0; background: linear-gradient(110deg,#fce1f1,#ffe6dc 60%,#fff0c4); }
  .hero-visual::before { display: none; }.hero-main { align-self: start; }.hero-photo { height: 280px; }.hero-photo img { object-position: 52% 35%; }
  .hero-secondary { display: block; margin-bottom: 17px; }.hero-secondary img { height: 202px; object-position: 50% 24%; }.hero-secondary > span { margin-top: 5px; font-size: 12px; }.hero-piece { background: var(--paper); padding: 0 8px; font-size: 12px; }
  .hero-copy { width: 100%; padding: 26px 5% 30px; }.hero-copy .eyebrow { max-width: none; }.hero h1 { font-size: 65px; margin: 14px 0; line-height: .93; max-width: 350px; }.hero h1 br { display: none; }.hero h1 em { white-space: nowrap; }
  .hero-copy > p:not(.eyebrow) { font-size: 14px; max-width: 310px; }.hero-copy > p br { display: none; }.hero .hero-price { margin: 15px 0; font-size: 12px; }.hero .button { gap: 32px; padding: 14px 22px; }
  .trust-line { min-height: 65px; padding: 12px 5%; gap: 5px 10px; }.trust-line span { font-size: 12px; letter-spacing: 0; }
  .trust-line span + span { border: 0; padding-left: 0; }.trust-line span:first-child { width: 100%; }.trust-line span:last-child { padding-left: 12px; border-left: 1px solid #dfa3bf; }
  .collection { padding-top: 32px; }.collection .section-heading { margin-bottom: 20px; }.collection .section-heading h2 { font-size: 41px; max-width: 210px; }.section-heading > p { max-width: 100px; text-align: right; padding-top: 25px; }.section-heading .eyebrow { font-size: 12px; letter-spacing: .09em; }
  .tabs { justify-content: space-between; gap: 0; }.tabs button { font-size: 12px; padding: 12px 3px; }.catalog-summary { padding: 14px 0; }.catalog-controls { gap: 8px; }
  .product-grid { gap: 34px 14px; }.cash-price { font-size: 18px; }.quick-view { padding: 10px 6px; }.product-line { margin-top: 12px; }.product-material { min-height: 38px; }
  .materials { display: block; }.materials-heading { position: relative; min-height: 190px; padding-right: 105px; margin-bottom: 30px; }.materials h2 { font-size: 36px; }.materials-heading h2 br { display: none; }.material-photo { position: absolute; right: 0; bottom: 0; width: 92px; height: 130px; margin: 0; }.materials-heading .monogram { font-size: 60px; margin-bottom: 20px; }
  .contact { padding-top: 44px; padding-bottom: 44px; }.contact h2 { font-size: 53px; }.contact .eyebrow { letter-spacing: .1em; }
  footer .wordmark { font-size: 23px; }.footer-signature { font-size: 78px; margin-top: 34px; }.footer-top { gap: 18px; }.footer-links { gap: 0 20px; }
}
@media(prefers-reduced-motion:reduce) { .button span { transition:none; } }
