/*
Theme Name: Casa Oliva
Description: Vitrine de locação de peças para jantares e eventos.
Version: 0.1.0
Text Domain: casa-oliva
*/
:root {
    --ink: #171855;
    --coral: #ef7a64;
    --cream: #faf7f2;
    --paper: #fffefa;
    --muted: #53516a;
    --line: #e8dfd8;
}
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: var(--paper); font: 1rem/1.6 system-ui, sans-serif; }
a { color: inherit; text-underline-offset: .25em; }
img { max-width: 100%; height: auto; }
:focus-visible { outline: 3px solid #974334; outline-offset: 4px; }
.skip-link { position: absolute; left: 1rem; top: -10rem; z-index: 2; padding: .7rem; background: white; }
.skip-link:focus { top: 1rem; }
.shell { width: min(1120px, calc(100% - 2rem)); margin-inline: auto; }
.site-header { border-bottom: 1px solid var(--line); }
.header-inner, .footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; padding-block: .9rem; }
.brand { display: inline-flex; width: 118px; }
.header-inner nav { display: flex; align-items: center; gap: .7rem 1.4rem; flex-wrap: wrap; }
.header-inner nav a { font-size: .92rem; font-weight: 650; text-decoration: none; }
.header-inner nav a:hover { text-decoration: underline; }
.reserve { border: 1px solid var(--ink); padding: .45rem .8rem; border-radius: 999px; }
.hero { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(1.3rem, 4vw, 4rem); align-items: center; padding-block: clamp(2.2rem, 7vw, 6rem); }
.eyebrow { font-size: .74rem; font-weight: 750; letter-spacing: .15em; text-transform: uppercase; }
.eyebrow span { display: inline-block; width: 1.1rem; height: 3px; margin-right: .5rem; vertical-align: middle; background: var(--coral); }
h1, h2, h3 { margin: 0; line-height: 1.1; font-family: Georgia, serif; }
h1 { font-size: clamp(2.3rem, 5.6vw, 5rem); letter-spacing: -.045em; }
h2 { font-size: clamp(1.8rem, 4vw, 3.2rem); letter-spacing: -.035em; }
h3 { font-size: 1.4rem; }
p { color: var(--muted); }
.hero-copy > p:not(.eyebrow) { max-width: 35ch; font-size: 1.1rem; }
.actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-top: 1.75rem; }
.button { display: inline-block; border: 0; padding: .76rem 1.18rem; border-radius: 999px; background: var(--ink); color: white; font: inherit; font-weight: 700; text-decoration: none; cursor: pointer; }
.plain-link { font-weight: 700; }
.hero-visual { border-radius: 4rem .65rem .65rem .65rem; overflow: hidden; background: #f2e7dd; }
.hero-photo { display: block; width: 100%; aspect-ratio: 1.25; object-fit: cover; }
.table-art { position: relative; aspect-ratio: 1.25; overflow: hidden; background: repeating-linear-gradient(135deg,#f1e4da 0 16px,#f6ece4 16px 32px); }
.table-art i { position: absolute; inset: 13% auto auto 22%; width: 58%; aspect-ratio: 1; border-radius: 50%; background: #fffdf7; border: clamp(5px, 1vw, 12px) double #aaaac2; }
.table-art b { position: absolute; inset: 32% auto auto 46%; width: 29%; height: 45%; background: linear-gradient(130deg, var(--ink) 0 72%, var(--coral) 72%); transform: rotate(19deg); border-radius: .6rem .6rem 1.3rem .6rem; }
.section { padding-block: clamp(2.4rem, 6vw, 4.6rem); }
.categories, .steps { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,220px),1fr)); gap: 1rem; margin-top: 1.5rem; }
.category { border: 1px solid var(--line); background: var(--paper); border-radius: .8rem; padding: 1.4rem; text-decoration: none; }
.category img { width: 100%; aspect-ratio: 1.45; object-fit: cover; margin-bottom: 1rem; border-radius: .4rem; }
.category > span { display: inline-block; margin-top: .65rem; text-decoration: underline; }
.category p { margin-bottom: 0; }
.how, .site-footer { background: var(--cream); }
.steps { padding-left: 1.3rem; gap: 1.6rem; }
.steps li { padding-left: .4rem; }
.contact { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.contact form:not([hidden]) { display: grid; gap: .85rem; justify-items: start; }
.contact label { display: grid; gap: .3rem; width: 100%; font-weight: 650; }
.contact input, .contact textarea { border: 1px solid #958a86; border-radius: .35rem; min-width: 0; width: 100%; padding: .55rem; color: var(--ink); background: white; font: inherit; }
.woocommerce #primary, .woocommerce main#main { width: min(1120px, calc(100% - 2rem)); margin-inline: auto; }
@media (max-width: 720px) {
    .hero, .contact { grid-template-columns: 1fr; }
    .hero-visual { border-radius: 2.2rem .5rem .5rem .5rem; }
    .header-inner nav { gap: .55rem 1rem; }
    .hero-visual { max-width: 460px; }
}

/* Casa Oliva: porcelana, rosa e azul */
:root {
  --ink: #20375f;
  --coral: #c7758b;
  --cream: #f3f6fb;
  --paper: #fffcfc;
  --muted: #4c5971;
  --line: #d9e2f0;
  --oliva-plate: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20400%20400%22%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22200%22%20r%3D%22181%22%20fill%3D%22%23fffefd%22%20stroke%3D%22%23c9d6e7%22%20stroke-width%3D%222%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22200%22%20r%3D%22173%22%20fill%3D%22none%22%20stroke%3D%22%237d96bd%22%20stroke-width%3D%222%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22200%22%20r%3D%22137%22%20fill%3D%22%23fafbfe%22%20stroke%3D%22%23dca3af%22%20stroke-width%3D%222%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22200%22%20r%3D%22128%22%20fill%3D%22none%22%20stroke%3D%22%23c4d1e5%22%2F%3E%3Cg%20transform%3D%22rotate(0%20200%20200)%22%3E%3Cpath%20d%3D%22M200%2037q-10%2012%200%2020q10-8%200-20z%20M200%2060v5%22%20fill%3D%22none%22%20stroke%3D%22%23607cab%22%20stroke-width%3D%221.8%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22rotate(15%20200%20200)%22%3E%3Cpath%20d%3D%22M200%2037q-10%2012%200%2020q10-8%200-20z%20M200%2060v5%22%20fill%3D%22none%22%20stroke%3D%22%23607cab%22%20stroke-width%3D%221.8%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22rotate(30%20200%20200)%22%3E%3Cpath%20d%3D%22M200%2037q-10%2012%200%2020q10-8%200-20z%20M200%2060v5%22%20fill%3D%22none%22%20stroke%3D%22%23607cab%22%20stroke-width%3D%221.8%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22rotate(45%20200%20200)%22%3E%3Cpath%20d%3D%22M200%2037q-10%2012%200%2020q10-8%200-20z%20M200%2060v5%22%20fill%3D%22none%22%20stroke%3D%22%23607cab%22%20stroke-width%3D%221.8%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22rotate(60%20200%20200)%22%3E%3Cpath%20d%3D%22M200%2037q-10%2012%200%2020q10-8%200-20z%20M200%2060v5%22%20fill%3D%22none%22%20stroke%3D%22%23607cab%22%20stroke-width%3D%221.8%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22rotate(75%20200%20200)%22%3E%3Cpath%20d%3D%22M200%2037q-10%2012%200%2020q10-8%200-20z%20M200%2060v5%22%20fill%3D%22none%22%20stroke%3D%22%23607cab%22%20stroke-width%3D%221.8%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22rotate(90%20200%20200)%22%3E%3Cpath%20d%3D%22M200%2037q-10%2012%200%2020q10-8%200-20z%20M200%2060v5%22%20fill%3D%22none%22%20stroke%3D%22%23607cab%22%20stroke-width%3D%221.8%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22rotate(105%20200%20200)%22%3E%3Cpath%20d%3D%22M200%2037q-10%2012%200%2020q10-8%200-20z%20M200%2060v5%22%20fill%3D%22none%22%20stroke%3D%22%23607cab%22%20stroke-width%3D%221.8%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22rotate(120%20200%20200)%22%3E%3Cpath%20d%3D%22M200%2037q-10%2012%200%2020q10-8%200-20z%20M200%2060v5%22%20fill%3D%22none%22%20stroke%3D%22%23607cab%22%20stroke-width%3D%221.8%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22rotate(135%20200%20200)%22%3E%3Cpath%20d%3D%22M200%2037q-10%2012%200%2020q10-8%200-20z%20M200%2060v5%22%20fill%3D%22none%22%20stroke%3D%22%23607cab%22%20stroke-width%3D%221.8%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22rotate(150%20200%20200)%22%3E%3Cpath%20d%3D%22M200%2037q-10%2012%200%2020q10-8%200-20z%20M200%2060v5%22%20fill%3D%22none%22%20stroke%3D%22%23607cab%22%20stroke-width%3D%221.8%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22rotate(165%20200%20200)%22%3E%3Cpath%20d%3D%22M200%2037q-10%2012%200%2020q10-8%200-20z%20M200%2060v5%22%20fill%3D%22none%22%20stroke%3D%22%23607cab%22%20stroke-width%3D%221.8%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22rotate(180%20200%20200)%22%3E%3Cpath%20d%3D%22M200%2037q-10%2012%200%2020q10-8%200-20z%20M200%2060v5%22%20fill%3D%22none%22%20stroke%3D%22%23607cab%22%20stroke-width%3D%221.8%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22rotate(195%20200%20200)%22%3E%3Cpath%20d%3D%22M200%2037q-10%2012%200%2020q10-8%200-20z%20M200%2060v5%22%20fill%3D%22none%22%20stroke%3D%22%23607cab%22%20stroke-width%3D%221.8%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22rotate(210%20200%20200)%22%3E%3Cpath%20d%3D%22M200%2037q-10%2012%200%2020q10-8%200-20z%20M200%2060v5%22%20fill%3D%22none%22%20stroke%3D%22%23607cab%22%20stroke-width%3D%221.8%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22rotate(225%20200%20200)%22%3E%3Cpath%20d%3D%22M200%2037q-10%2012%200%2020q10-8%200-20z%20M200%2060v5%22%20fill%3D%22none%22%20stroke%3D%22%23607cab%22%20stroke-width%3D%221.8%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22rotate(240%20200%20200)%22%3E%3Cpath%20d%3D%22M200%2037q-10%2012%200%2020q10-8%200-20z%20M200%2060v5%22%20fill%3D%22none%22%20stroke%3D%22%23607cab%22%20stroke-width%3D%221.8%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22rotate(255%20200%20200)%22%3E%3Cpath%20d%3D%22M200%2037q-10%2012%200%2020q10-8%200-20z%20M200%2060v5%22%20fill%3D%22none%22%20stroke%3D%22%23607cab%22%20stroke-width%3D%221.8%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22rotate(270%20200%20200)%22%3E%3Cpath%20d%3D%22M200%2037q-10%2012%200%2020q10-8%200-20z%20M200%2060v5%22%20fill%3D%22none%22%20stroke%3D%22%23607cab%22%20stroke-width%3D%221.8%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22rotate(285%20200%20200)%22%3E%3Cpath%20d%3D%22M200%2037q-10%2012%200%2020q10-8%200-20z%20M200%2060v5%22%20fill%3D%22none%22%20stroke%3D%22%23607cab%22%20stroke-width%3D%221.8%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22rotate(300%20200%20200)%22%3E%3Cpath%20d%3D%22M200%2037q-10%2012%200%2020q10-8%200-20z%20M200%2060v5%22%20fill%3D%22none%22%20stroke%3D%22%23607cab%22%20stroke-width%3D%221.8%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22rotate(315%20200%20200)%22%3E%3Cpath%20d%3D%22M200%2037q-10%2012%200%2020q10-8%200-20z%20M200%2060v5%22%20fill%3D%22none%22%20stroke%3D%22%23607cab%22%20stroke-width%3D%221.8%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22rotate(330%20200%20200)%22%3E%3Cpath%20d%3D%22M200%2037q-10%2012%200%2020q10-8%200-20z%20M200%2060v5%22%20fill%3D%22none%22%20stroke%3D%22%23607cab%22%20stroke-width%3D%221.8%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22rotate(345%20200%20200)%22%3E%3Cpath%20d%3D%22M200%2037q-10%2012%200%2020q10-8%200-20z%20M200%2060v5%22%20fill%3D%22none%22%20stroke%3D%22%23607cab%22%20stroke-width%3D%221.8%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
.site-header { background: #fff9fb; }
.hero { position: relative; isolation: isolate; }
.hero-visual { background: #f4e1e8; border: 1px solid #ecd2dc; border-radius: 2.75rem .85rem 2.75rem .85rem; }
.table-art { background: var(--oliva-plate) center / auto 91% no-repeat, repeating-linear-gradient(135deg,#f6e7ed 0 22px,#f9eef2 22px 44px); }
.table-art i { display: none; }
.table-art b { inset: 34% auto auto 43%; width: 26%; height: 38%; border-radius: 15% 14% 25% 14%; transform: rotate(17deg); background: linear-gradient(142deg,#253d68 0 76%,#c77e95 76%); box-shadow: 0 6px 14px #27385626; }
#catalogo, .how, .contact { position: relative; isolation: isolate; }
#catalogo::before, .how::before, .contact::before { content: ""; position: absolute; z-index: -1; pointer-events: none; width: min(44vw, 280px); aspect-ratio: 1; background: var(--oliva-plate) center / contain no-repeat; opacity: .24; }
#catalogo::before { right: 0; top: 0; }
.how::before { left: 4%; bottom: 0; opacity: .16; }
.contact::before { right: 0; bottom: 0; opacity: .19; }
.category { background: #f6f9fe; }
.category:nth-child(even) { background: #fcf2f6; border-color: #ead8e1; }
.how { background: linear-gradient(105deg,#eef3fa,#f9eff4); }
.site-footer { background: #edf2fa; }
@media (max-width: 720px) {
  .hero-visual { border-radius: 1.65rem .6rem 1.65rem .6rem; }
  #catalogo::before, .contact::before { opacity: .15; }
}

.preview-notice { background: #f1f5fc; border-bottom: 1px solid var(--line); color: var(--muted); text-align: center; font-size: .83rem; padding: .4rem 1rem; }
.brand { display: block; width: clamp(104px, 11vw, 125px); aspect-ratio: 1.72; position: relative; overflow: hidden; }
.brand img { position: absolute; display: block; width: 100%; top: -36%; }
.category { min-height: 135px; }
.section h2 { max-width: 24ch; }
.contact textarea { resize: vertical; }
.contact-copy { max-width: 40ch; }
@media (max-width: 480px) {
  .header-inner { gap: .7rem; }
  .header-inner nav { gap: .4rem .85rem; }
  .header-inner nav a { font-size: .85rem; }
}

.hero-photo-frame { margin: 0; }
.hero-photo-frame figcaption { margin: .5rem .25rem 0; color: var(--muted); font-size: .8rem; }
.hero-photo { object-position: center 54%; }
.catalog-intro { max-width: 58ch; }
.catalog-confirmed { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(.8rem, 2.6vw, 1.7rem); }
.catalog-confirmed .category { padding: 0; overflow: hidden; }
.catalog-confirmed .category-photo { display: block; width: 100%; aspect-ratio: 2 / 1; object-fit: cover; object-position: center 57%; margin: 0; border-radius: 0; }
.category-details { padding: 1.2rem 1.4rem; }
.catalog-proposed { margin-top: clamp(2rem, 4vw, 3rem); }
.category-options { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .7rem; }
.category-options li { border: 1px solid var(--line); border-radius: .65rem; background: #fffafb; padding: .85rem 1rem; font-weight: 650; }
@media (max-width: 720px) { .category-options { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 480px) { .catalog-confirmed { grid-template-columns: 1fr; } }

/* Identidade editorial e papel timbrado */
:root { --ink: #1d3276; --paper: #fcfaf7; --cream: #f1e9e8; --muted: #515975; --line: #d9d9e4; --coral: #bd7d95; }
html { scroll-behavior: smooth; scroll-padding-top: 94px; }
body { background-color: var(--paper); background-image: repeating-linear-gradient(0deg,#7e634802 0 1px,transparent 1px 4px); }
.preview-notice { background: #ede7ed; font-size: .7rem; letter-spacing: .08em; padding: .28rem 1rem; }
.site-header { background: transparent; border: 0; }
.masthead { display: grid; grid-template-columns: 1fr minmax(240px,440px) 1fr; align-items: center; gap: 1rem; padding-block: 1rem .8rem; }
.brand { display: block; position: static; width: 100%; aspect-ratio: auto; overflow: visible; mix-blend-mode: multiply; }
.brand img { display: block; position: static; top: auto; width: 100%; height: auto; }
.masthead-note { font: italic 1.02rem/1.5 Georgia,serif; color: #6b748e; }
.masthead-contact { text-align: right; font-size: .69rem; text-decoration: none; letter-spacing: .03em; color: var(--muted); }
.masthead-contact span { color: var(--ink); }
.nav-wrap { position: sticky; top: 0; z-index: 10; background: #fcfaf74d; border-block: 1px solid #c4cce561; backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.glass-menu { display: flex; justify-content: center; align-items: center; gap: 2.6rem; padding-block: .8rem; }
.glass-menu a { text-decoration: none; font-size: .82rem; font-weight: 650; }
.glass-menu a:hover { text-decoration: underline; }
.menu-cta { border-left: 1px solid #a9b2c7; padding-left: 2.4rem; }
main { position: relative; isolation: isolate; overflow: clip; }
.paper-watermark { position: absolute; z-index: -1; top: 50px; left: -5%; width: 88%; height: 450px; background: url('casa-oliva-azul.png') center / contain no-repeat; opacity: .045; mix-blend-mode: multiply; pointer-events: none; transform: rotate(-12deg); }
.hero { gap: 5%; padding-block: 3.8rem 4.2rem; grid-template-columns: 1fr 1fr; }
h1 { font-weight: 400; font-size: clamp(2.8rem,4.8vw,4.5rem); line-height: 1.08; letter-spacing: -.047em; }
h2 { font-weight: 400; }
.hero-copy > p:not(.eyebrow) { font-size: 1.01rem; max-width: 34ch; }
.hero-visual { border: 6px solid #fffcf9; outline: 1px solid #cecddc; border-radius: 45% 45% 2px 2px; background: #eee2e5; box-shadow: 12px 16px 0 #efdfe7; }
.hero-photo { aspect-ratio: 1.2; }
.hero-photo-frame figcaption { margin-top: 1.35rem; text-align: right; font-size: .7rem; }
.button { border-radius: 3px; padding: .8rem 1.4rem; font-size: .88rem; }
.actions { gap: 1.5rem; }
.plain-link { font-size: .86rem; }
.section { padding-block: clamp(3rem,6vw,5rem); }
#catalogo { border-top: 1px solid #d5d4df; }
#catalogo::before { width: 440px; max-width: 70vw; top: -25px; right: -100px; opacity: .14; }
#catalogo::after { content: ""; position: absolute; z-index: -1; width: 65%; height: 220px; bottom: 30px; left: -12%; background: url('casa-oliva-azul.png') center/contain no-repeat; mix-blend-mode: multiply; opacity: .04; transform: rotate(-10deg); pointer-events: none; }
.catalog-intro { font-size: .9rem; }
.catalog-confirmed { margin-top: 2rem; gap: 1.8rem; }
.catalog-confirmed .category { border: 1px solid #ded9de; border-radius: 0; background: #ffffff73; box-shadow: 0 12px 24px #27375208; }
.catalog-confirmed .category:nth-child(even) { background: #f9f0f2a6; }
.catalog-confirmed .category-photo { aspect-ratio: 1.65; }
.category-details { padding: 1.4rem 1.5rem; }
.category-details h3 { font-weight: 400; font-size: 1.8rem; }
.category-details p { font-size: .85rem; }
.category-options li { border-radius: 2px; background: #fcf8fa8c; font-size: .84rem; }
.catalog-proposed h3 { font-weight: 400; }
.how { background: #eee9f08c; border-block: 1px solid #d4d5e0; }
.how::before { width: 390px; bottom: -85px; left: -70px; opacity: .2; }
.steps { margin-top: 2.3rem; column-gap: 2.5rem; }
.steps h3 { font-size: 1.4rem; font-weight: 400; }
.steps p { font-size: .9rem; }
.contact::before { background-image: url('casa-oliva-azul.png'); aspect-ratio: 3; width: 90%; max-width: none; bottom: 12%; right: -17%; transform: rotate(-12deg); mix-blend-mode: multiply; opacity: .04; }
.contact { gap: 6%; align-items: center; }
.contact form { padding: 1.7rem; border: 1px solid #d4d8e3; background: #ffffff8a; backdrop-filter: blur(8px); }
.contact label { font-size: .85rem; }
.contact input,.contact textarea { border-color: #bbc3d2; border-radius: 2px; background: #fffdfb; }
.site-footer { border-top: 1px solid #d2d5df; background: #e9edf2b8; padding-block: 1.5rem 4rem; font-size: .8rem; }
.whatsapp-float { position: fixed; z-index: 20; right: 22px; bottom: max(22px, env(safe-area-inset-bottom)); width: 58px; height: 58px; display: grid; place-items: center; background: #146b40; color: white; border: 3px solid #fff; border-radius: 50%; box-shadow: 0 5px 20px #172d462b; text-decoration: none; transition: transform .15s; }
.whatsapp-float svg { width: 30px; height: 30px; }
.whatsapp-float span { position: absolute; right: 68px; white-space: nowrap; background: #fffdfb; border: 1px solid #dce1e8; color: var(--ink); padding: .4rem .65rem; font-size: .76rem; border-radius: 3px; }
.whatsapp-float:hover { transform: translateY(-3px); }
@media (max-width: 760px) {
 .masthead { grid-template-columns: 1fr; gap: 0; padding: .9rem 0; justify-items: center; }
 .brand { width: min(370px,92%); }
 .masthead-note,.masthead-contact { display: none; }
 .glass-menu { gap: 1.3rem; padding-block: .8rem; }
 .glass-menu a { font-size: .77rem; }
 .menu-cta { padding-left: 1.2rem; }
 .hero { grid-template-columns: 1fr; padding-block: 2.5rem 3rem; gap: 2.5rem; }
 .hero-copy { text-align: center; }
 .hero-copy > p:not(.eyebrow) { margin-inline: auto; }
 .actions { justify-content: center; }
 .hero-photo-frame { width: min(420px,94%); justify-self: center; }
 .hero-visual { border-radius: 42% 42% 2px 2px; }
 .paper-watermark { width: 120%; left: -10%; top: -50px; height: 320px; opacity: .04; }
 .contact { grid-template-columns: 1fr; gap: 1.4rem; }
 .contact form { padding: 1.2rem; }
}
@media (max-width: 430px) {
 .glass-menu { gap: 1rem; flex-wrap: wrap; }
 .menu-cta { display: none; }
 .whatsapp-float { right: 16px; width: 54px; height: 54px; }
 .whatsapp-float span { display: none; }
 h1 { font-size: 2.65rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .whatsapp-float { transition: none; } }

[hidden] { display: none !important; }
.cart-link { white-space: nowrap; }
[data-cart-count] { display: inline-grid; place-items: center; min-width: 1.5rem; min-height: 1.5rem; background: #e9dce5; border-radius: 50%; font-size: .74rem; }
.categories.catalog-confirmed { grid-template-columns: repeat(3,minmax(0,1fr)); }
.category-tabs { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1.6rem 0 2rem; }
.category-tabs a { border: 1px solid #cbd0df; padding: .4rem .85rem; border-radius: 30px; text-decoration: none; font-size: .83rem; background: #fff9fbcc; }
.breadcrumb { display: inline-block; margin-bottom: 1.2rem; font-size: .83rem; }
.demo-note,.demo-tag { font-size: .81rem; color: var(--muted); }
.demo-note { max-width: 75ch; }
.demo-tag { display: inline-block; margin-bottom: .55rem; }
.product-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.6rem; }
.product-card { border: 1px solid #dbdbe5; background: #fffefa99; }
.product-image { display: block; overflow: hidden; }
.product-image img { display: block; width: 100%; aspect-ratio: 1.1; object-fit: cover; }
.product-info { padding: 1.1rem; }
.product-info h2 { font-size: 1.45rem; }
.product-info h2 a { text-decoration: none; }
.price { font-weight: 750; color: var(--ink); font-size: 1.4rem; }
.price span { font-weight: 400; font-size: .78rem; }
.product-controls { display: flex; gap: .5rem; align-items: stretch; margin-top: .4rem; }
.product-controls input { width: 72px; min-width: 0; border: 1px solid #b4bdd4; padding: .55rem; background: #fffdfa; color: var(--ink); font: inherit; }
.product-controls button { padding: .7rem .8rem; font-size: .8rem; }
.product-info label { font-size: .82rem; }
.product-detail { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: start; }
.product-detail figure { margin: 0; }
.product-detail figure img { width: 100%; max-height: 620px; object-fit: cover; }
.product-detail figcaption { font-size: .77rem; color: var(--muted); }
.product-detail h1 { font-size: clamp(2.1rem,4vw,3.4rem); }
.cart-rows { margin-top: 2rem; }
.cart-row { display: grid; grid-template-columns: 90px 1fr 170px 120px; gap: 1.2rem; align-items: center; border-block-end: 1px solid var(--line); padding: 1.25rem 0; }
.cart-row img { width: 90px; height: 90px; object-fit: cover; }
.cart-row h2 { font-size: 1.4rem; }
.cart-row p { font-size: .81rem; }
.cart-row label { font-size: .77rem; display: grid; gap: .25rem; }
.cart-row input { width: 90px; padding: .5rem; font: inherit; }
.row-total { display: grid; gap: .5rem; justify-items: end; }
.remove-item { padding: 0; border: 0; background: none; text-decoration: underline; color: #803d57; cursor: pointer; }
.cart-total { display: grid; justify-items: end; gap: .7rem; padding-block: 1.5rem; }
.cart-total p { color: var(--ink); font-size: 1.3rem; margin: .3rem 0; }
.cart-total span { color: var(--muted); font-size: .8rem; }
.cart-total strong { margin-left: 1.4rem; }
.empty-cart { margin-block: 2rem; padding: 2rem; background: #eef0f6; border: 1px solid #d4d9e5; }
.checkout-layout { display: grid; grid-template-columns: 1.2fr 1fr; gap: 3rem; margin-top: 2rem; align-items: start; }
#checkout-form { display: grid; gap: 1rem; }
#checkout-form > label { display: grid; gap: .35rem; font-size: .9rem; }
#checkout-form input:not([type=radio]),#checkout-form textarea { width: 100%; padding: .7rem; border: 1px solid #bbc3d2; border-radius: 2px; font: inherit; background: #fffdfb; color: var(--ink); }
#checkout-form fieldset { border: 1px solid var(--line); margin: 0; padding: 1rem; }
.payment-option { display: flex; align-items: center; gap: .6rem; margin-block: .6rem; }
.payment-help { font-size: .85rem; }
.checkout-summary { border: 1px solid var(--line); background: #f2eef5; padding: 1.5rem; }
.checkout-summary h2 { font-size: 1.8rem; }
.checkout-summary ul { list-style: none; padding: 0; }
.checkout-summary li { display: flex; justify-content: space-between; gap: 1rem; border-bottom: 1px solid #d7d8e1; padding: .8rem 0; font-size: .85rem; }
.summary-total { display: flex; justify-content: space-between; gap: 1rem; color: var(--ink); }
.form-error { color: #922349; }
.info-page > h2 { margin-top: 2.5rem; font-size: 2rem; }
.info-page > p { max-width: 65ch; }
.info-page > .button { margin-top: 1.5rem; }
.cart-toast { position: fixed; left: 50%; bottom: 1.3rem; transform: translateX(-50%); z-index: 25; width: min(560px,calc(100% - 6rem)); border: 1px solid #c4ccdf; padding: .85rem 1rem; background: #fffdfb; box-shadow: 0 8px 28px #172d4625; font-size: .85rem; }
.cart-toast a { font-weight: 700; }
@media (max-width: 950px) { .glass-menu { gap: 1.3rem; } .menu-cta { padding-left: 1.3rem; } }
@media (max-width: 760px) { .categories.catalog-confirmed,.product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .product-detail,.checkout-layout { grid-template-columns: 1fr; gap: 1.8rem; } .cart-row { grid-template-columns: 64px 1fr 90px; gap: .7rem; } .cart-row img { width: 64px; height: 80px; } .cart-row label { grid-column: 2; } .row-total { grid-column: 3; grid-row: 1 / span 2; } .cart-row h2 { font-size: 1.2rem; } .product-controls { flex-wrap: wrap; } .glass-menu { gap: .75rem; } .cart-toast { bottom: 4.7rem; width: calc(100% - 2rem); } }
@media (max-width: 430px) { .product-grid { grid-template-columns: 1fr; } .category-details { padding: .9rem; } .category-details h3 { font-size: 1.5rem; } .glass-menu { gap: .65rem; } .glass-menu a { font-size: .73rem; } .cart-total { justify-items: stretch; } }
.pix-panel{margin:24px 0;padding:24px;background:#fff;border:1px solid #dddce9;border-radius:18px}.pix-panel h2{font-size:1.5rem}.pix-panel img{display:block;max-width:100%;height:auto;background:white}.pix-panel strong{letter-spacing:.04em}

/* Identidade aprovada para a prévia no domínio Casa Oliva. */
:root { --ink:#12566b; --muted:#435d65; --paper:#fffdf8; }
body { background:#f7f0e6 url('fundo-oliveiras.png') repeat; background-size:720px auto; }
.site-header,.nav-wrap { background:rgba(255,253,248,.94); }
.masthead { grid-template-columns:1fr minmax(240px,440px) 1fr; }
.brand { position:relative; width:100%; aspect-ratio:2048 / 682; background:#12566b; -webkit-mask:url('logo-assinatura.png') center / contain no-repeat; mask:url('logo-assinatura.png') center / contain no-repeat; mix-blend-mode:normal; }
.brand img { opacity:0; position:static; width:100%; height:auto; }
@supports not (mask-image:url('logo-assinatura.png')) { .brand { background:transparent; } .brand img { opacity:1; filter:brightness(0) saturate(100%) invert(27%) sepia(34%) saturate(1111%) hue-rotate(148deg) brightness(94%) contrast(92%); } }
main { background:rgba(255,253,248,.94); }
.paper-watermark { display:none; }
@media(max-width:720px) { body {background-size:460px auto;} .masthead {grid-template-columns:1fr;} .brand {width:min(370px,92%);} }

/* Casa Oliva: cabeçalho limpo e fundo conforme referência enviada. */
body { background-size:1254px auto; background-position:center top; }
.site-header { background:rgba(255,253,248,.28); }
.masthead { display:grid; grid-template-columns:1fr; justify-items:center; padding-block:1.6rem 1.2rem; gap:0; }
.masthead-note,.masthead-contact { display:none; }
.brand { width:min(400px,86vw); aspect-ratio:2048 / 340; overflow:hidden; -webkit-mask-size:100% auto; mask-size:100% auto; -webkit-mask-position:center 40%; mask-position:center 40%; }
.nav-wrap { background:rgba(255,253,248,.88); }
.glass-menu { gap:1rem 1.8rem; padding-block:.75rem; }
.menu-cta { background:#12566b; color:#fff !important; border:0; padding:.65rem 1.1rem; border-radius:999px; }
main { background:rgba(255,253,248,.78); }
@media(max-width:720px) { body {background-size:800px auto;} .brand {width:min(330px,86vw);} .masthead {padding-block:1.2rem;} .glass-menu {gap:.6rem 1rem;} }

.inspiracoes-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:1rem;margin-block:2rem;}
.inspiracoes-grid .category {display:block;padding:1.4rem;border:1px solid #d9d5ca;background:#fffdf8;border-radius:.8rem;}
.inspiracoes-grid .category h3 {font-size:1.35rem;}
.inspiracoes-grid .category p {font-size:.95rem;}
.inspiracoes-grid .category a {font-weight:600;text-decoration:underline;}
.inspiracoes-page h1 {font-size:clamp(2.2rem,5vw,4.5rem);}
