:root{--brown:#3e2c23;--brown-light:#6d4a35;--sand:#c99a74;--cream:#f9f6f2;--beige:#eadfd3;--line:#ded2c6}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;max-width:100%;overflow-x:hidden;color:var(--brown);background:var(--cream);font-family:Montserrat,Arial,sans-serif}.topbar{background:var(--brown);color:#fff9f3;font-size:.68rem;letter-spacing:.12em;padding:.55rem}.bg-cream{background:var(--cream)}.navbar{padding:1rem 0}.brand-mark{display:inline-flex;align-items:center;color:var(--brown);text-decoration:none;line-height:0;margin-left:0}.brand-mark img{display:block;width:142px;height:auto}.nav-link{color:var(--brown);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.nav-link:hover,.text-link:hover{color:var(--sand)}.icon-button{position:relative;display:inline-flex;align-items:center;gap:.45rem;border:1px solid transparent;background:none;color:var(--brown);padding:.18rem;border-radius:2rem;transition:background .2s ease,border-color .2s ease,color .2s ease}.icon-button i{display:grid;place-items:center;width:1.85rem;height:1.85rem;border:1px solid var(--sand);border-radius:50%;font-size:.9rem;color:var(--brown-light);transition:background .2s ease,color .2s ease}.icon-button:hover,.icon-button:focus-visible{background:var(--beige);border-color:var(--line);outline:none}.icon-button:hover i,.icon-button:focus-visible i{background:var(--brown);color:#fff}.icon-button span:not(.bag-count){font:500 .78rem/1 "Playfair Display",serif;letter-spacing:.02em;color:var(--brown);max-width:100px}.bag-count{position:absolute;top:-.3rem;right:-.3rem;background:var(--brown);color:#fff;border-radius:50%;font-size:.55rem;width:1.05rem;height:1.05rem;display:grid;place-items:center;border:2px solid var(--cream)}.hero-image{display:block;width:100%;height:auto;max-height:620px;object-fit:cover}.benefits{background:#fff}.benefit{display:flex;align-items:center;justify-content:center;gap:.75rem;border-right:1px solid var(--line)}.benefit:last-child{border:0}.benefit i{font-size:1.45rem;color:var(--sand)}.benefit strong,.benefit small{display:block;text-align:left}.benefit strong{font-size:.69rem}.benefit small{font-size:.62rem;color:#887d74;margin-top:.2rem}.section-space{padding-top:5.5rem;padding-bottom:5.5rem}.eyebrow{color:var(--sand);font-size:.68rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;margin-bottom:.8rem}.section-heading h1,.section-title{font:600 2.5rem/1.15 "Playfair Display",serif}.muted{color:#7f756c;font-size:.9rem;line-height:1.8}.category-card{height:350px;padding:2rem;display:flex;align-items:end;position:relative;overflow:hidden;color:#fff;background-size:cover;background-position:center}.category-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(42,25,15,.75),transparent 70%)}.category-card>div{position:relative}.category-card p{font-size:.65rem;letter-spacing:.13em;text-transform:uppercase}.category-card h2{font:500 1.7rem/1.1 "Playfair Display",serif}.category-card a{color:#fff;text-decoration:none;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.card-one{background-image:url("assets/identidade-serena.jpeg");background-position:left bottom}.card-two{background-image:url("assets/hero-serena.jpeg");background-position:center}.card-three{background-image:url("assets/logo-serena.jpeg");background-position:center}.categories-section{background:var(--beige)}.text-link{color:var(--brown);text-decoration:none;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.category-pill{background:var(--cream);min-height:130px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;color:var(--brown);text-decoration:none;transition:.2s}.category-pill:hover{background:var(--brown);color:#fff}.category-pill i{font-size:1.7rem;color:var(--sand)}.category-pill span{text-transform:uppercase;font-size:.68rem;letter-spacing:.12em}.about-image{width:100%;max-height:390px;object-fit:cover;object-position:center 53%}.about-copy{max-width:460px}.btn-serena{border:1px solid var(--brown);border-radius:0;background:var(--brown);color:#fff;padding:.9rem 1.45rem;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.btn-serena:hover{background:var(--brown-light);color:#fff}.newsletter-section{background:#fff}.newsletter-form{display:flex;max-width:570px}.newsletter-form .form-control{border:1px solid var(--line);border-radius:0;padding:.9rem 1rem;font-size:.8rem}.newsletter-form .btn{white-space:nowrap}.form-message{font-size:.75rem;color:var(--brown-light);min-height:1.2rem;margin-top:1rem}.footer{background:var(--brown);color:#f7eee6;padding:1.4rem 0}.footer .brand-mark img{width:122px}.footer p{font-size:.7rem;letter-spacing:.07em}.heart{color:var(--sand);font-size:1rem}.socials{display:flex;gap:1rem}.socials a{color:#fff;text-decoration:none;font-size:1.05rem}@media(max-width:767px){.benefit{border:0}.benefit strong{font-size:.61rem}.benefit small{font-size:.56rem}.section-space{padding-top:3.5rem;padding-bottom:3.5rem}.section-heading h1,.section-title{font-size:2rem}.hero-image{min-height:250px;object-fit:cover}.newsletter-form{display:block}.newsletter-form .btn{width:100%;margin-top:.6rem}.footer{ text-align:center}.footer .container{justify-content:center!important}.about-image{max-height:280px}}
.sunflower-button{border:0;background:transparent;color:#f2bd51;font-size:1rem;line-height:1;padding:0;opacity:.8;cursor:pointer}.sunflower-button:hover{opacity:1;transform:scale(1.1)}
.admin-product-actions{display:flex;gap:.5rem;flex-wrap:wrap}.admin-delete-button{border:1px solid #b66c5c;background:transparent;color:#9a4f42;padding:.75rem 1rem;font:600 .64rem Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.04em}.admin-delete-button:hover{background:#9a4f42;color:#fff}
.admin-variants{border:1px solid var(--line);padding:1rem;background:rgba(255,255,255,.35)}.admin-variants legend{float:none;width:auto;padding:0 .35rem;font-size:.65rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.admin-variant-row{display:flex;flex-direction:column;gap:.6rem;margin-top:.8rem;padding:.9rem;background:rgba(255,255,255,.62);border:1px solid #e7ddd4}.admin-variant-row label{min-width:0;line-height:1.3}.admin-variant-row input{padding:.65rem;font-size:.75rem}.admin-variant-row input[type=file]{padding:.35rem;font-size:.68rem}.admin-remove-variant,.admin-add-variant{border:1px solid var(--line);background:transparent;color:var(--brown-light);padding:.6rem .75rem;font-size:.65rem;white-space:nowrap;cursor:pointer}.admin-remove-variant:hover,.admin-add-variant:hover{background:var(--beige)}.admin-add-variant{margin-top:.7rem}
.admin-variant-row-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:.5rem;border-bottom:1px solid var(--line)}.admin-variant-row-title{font-size:.65rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--brown-light)}.admin-remove-variant{border-color:#e2c9c2;color:#9a4f42;padding:.4rem .55rem}.admin-remove-variant:hover{background:#f4e3df}
.admin-variant-photo-preview{width:100%;max-height:150px;object-fit:cover;border:1px solid var(--line);background:#fff}
.admin-size-stock-label{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:var(--brown-light);margin-top:.2rem}
.admin-size-stock-list{display:flex;flex-wrap:wrap;gap:.4rem}.admin-size-empty{margin:0;color:#8a7c70;font-size:.68rem;font-style:italic}
.admin-variant-row .admin-size-chip{display:inline-flex;align-items:center;gap:.35rem;flex:0 0 auto;border:1px solid var(--line);background:#fff;padding:.3rem .3rem .3rem .6rem;border-radius:999px;transition:.15s}.admin-variant-row .admin-size-chip:hover{border-color:var(--sand)}.admin-variant-row .admin-size-chip span{flex:0 0 auto;font-size:.66rem;font-weight:700;text-transform:uppercase;color:var(--brown);min-width:1.1em;text-align:center}.admin-variant-row .admin-size-chip input{flex:0 0 auto;width:2.6rem;border:1px solid var(--line);border-radius:999px;padding:.2rem .3rem;font-size:.68rem;text-align:center;background:var(--cream)}.admin-variant-row .admin-size-chip input:focus{outline:1px solid var(--sand);background:#fff}.admin-size-remove{flex:0 0 auto;border:0;background:none;color:#b3776a;padding:.15rem;font-size:.7rem;line-height:1;cursor:pointer;display:flex;border-radius:50%}.admin-size-remove:hover{color:#9a4f42;background:#f4e3df}
.admin-size-stock-add{display:flex;gap:.5rem;align-items:center;margin-top:.3rem}.admin-size-stock-add input{width:auto;padding:.55rem;font-size:.7rem}.admin-size-stock-add input[data-variant=newSize]{flex:1 1 auto;min-width:0}.admin-size-stock-add input[data-variant=newStock]{flex:0 0 5rem}.admin-size-add-button{flex:0 0 auto;border:1px solid var(--brown);background:var(--brown);color:#fff;padding:.55rem .9rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;cursor:pointer}.admin-size-add-button:hover{background:var(--brown-light)}
.admin-add-button{border:1px solid var(--brown);background:var(--brown);color:#fff;padding:.6rem 1rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;cursor:pointer}.admin-add-button:hover{background:var(--brown-light)}
.admin-cancel-button{border:0;background:none;color:var(--brown-light);font-size:.68rem;text-decoration:underline;white-space:nowrap;cursor:pointer}
.admin-empty{margin:0;color:#8a7c70;font-size:.75rem;padding:1rem 0;text-align:center}
.admin-product-list{display:flex;flex-direction:column;gap:.6rem;max-height:340px;overflow-y:auto;padding-right:.2rem}
.admin-product-row{display:flex;align-items:center;gap:.8rem;border:1px solid var(--line);background:rgba(255,255,255,.5);padding:.6rem}.admin-product-row img{width:52px;height:52px;object-fit:cover;flex-shrink:0;border:1px solid var(--line)}
.admin-product-row-info{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1}.admin-product-row-info strong{font-size:.78rem;color:var(--brown);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-product-row-info small{font-size:.66rem;color:#8a7c70;text-transform:uppercase;letter-spacing:.03em}
.admin-product-row-actions{display:flex;gap:.4rem;flex-shrink:0}
.admin-icon-button{border:1px solid var(--line);background:#fff;color:var(--brown-light);width:2.1rem;height:2.1rem;display:flex;align-items:center;justify-content:center;cursor:pointer}.admin-icon-button:hover{background:var(--beige)}.admin-icon-danger{color:#9a4f42;border-color:#e2c9c2}.admin-icon-danger:hover{background:#f4e3df}
@media(max-width:575px){.admin-size-stock-add{flex-direction:column;align-items:stretch}.admin-size-stock-add input{flex:1 1 auto}.admin-product-row{flex-wrap:wrap}.admin-product-row-info{flex-basis:100%;order:3}}
.file-help{color:#8a7c70;font-size:.62rem;text-transform:none;letter-spacing:0}.new-product-preview{width:100%;max-height:170px;object-fit:cover;border:1px solid var(--line);background:#fff}
.admin-modal{display:none;position:fixed;inset:0;z-index:1070;align-items:center;justify-content:center;padding:1rem}.admin-modal.is-open{display:flex}.admin-backdrop{position:absolute;inset:0;background:rgba(62,44,35,.45)}.admin-panel{position:relative;z-index:1;width:min(760px,calc(100vw - 2rem));max-height:92vh;overflow:auto;background:var(--cream);padding:clamp(1rem,3vw,2rem);box-shadow:0 18px 45px rgba(62,44,35,.25);animation:modalUp .25s ease}.admin-panel h2{font:500 1.8rem "Playfair Display",serif;margin:.2rem 0 .45rem}.admin-panel h3{font:500 1.2rem "Playfair Display",serif;margin:0}.admin-help,.admin-warning{display:block;color:#7f756c;font-size:.72rem;line-height:1.55}.admin-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.4rem}.admin-product-count{border:1px solid var(--line);padding:.45rem .65rem;color:var(--brown-light);font-size:.62rem;white-space:nowrap}.admin-section{border:1px solid var(--line);background:rgba(255,255,255,.28);padding:1.1rem;margin-top:1rem}.admin-section-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.admin-section-heading p{margin:.3rem 0 0;color:#7f756c;font-size:.68rem;line-height:1.45}.admin-section-heading>i{color:var(--brown-light);font-size:1.1rem}.admin-form{display:grid;gap:.8rem;margin-top:1rem}.admin-form label{display:grid;gap:.3rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.05em}.admin-form input,.admin-form select,.admin-form textarea{box-sizing:border-box;width:100%;border:1px solid var(--line);background:#fff;padding:.7rem;font:400 .8rem Montserrat,sans-serif;color:var(--brown);resize:vertical}.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.admin-message{min-height:1rem;margin:0;color:var(--brown-light);font-size:.7rem}.admin-warning{margin-top:1.5rem}.admin-logout{border:0;background:none;color:var(--brown-light);font-size:.7rem;margin-top:1rem;text-decoration:underline}.admin-new-product{margin-top:1.2rem}
.admin-form{gap:.65rem}.admin-section{padding:1rem}.admin-variants .file-help{margin:.25rem 0 .5rem}.admin-variant-row input{padding:.6rem;font-size:.72rem}.admin-remove-variant,.admin-add-variant{padding:.5rem .6rem}.admin-add-variant{margin-top:.65rem}
@media(max-width:575px){.admin-modal{padding:.5rem}.admin-panel{width:calc(100vw - 1rem);padding:.9rem}.admin-form-grid{grid-template-columns:1fr}.admin-variant-row{grid-template-columns:1fr;gap:.55rem;padding:.7rem}.admin-remove-variant{justify-self:start}.admin-variants{padding:.7rem}.admin-heading{display:block}.admin-product-count{display:inline-block;margin-top:.6rem}}
.product-meta{display:grid;gap:.35rem;margin:1rem 0;color:#7f756c;font-size:.72rem;line-height:1.5}.product-meta b{color:var(--brown);font-weight:600}
.product-gallery{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.65rem}.product-gallery-thumb{width:58px;height:68px;padding:0;border:1px solid var(--line);background:#fff;overflow:hidden}.product-gallery-thumb.is-selected{border:2px solid var(--brown)}.product-gallery-thumb img{width:100%;height:100%;object-fit:cover}.variant-image-name{display:block;color:#8a7c70;font-size:.55rem;text-transform:none;letter-spacing:0;line-height:1.3}
.product-options{display:grid;gap:1rem;margin:1.15rem 0}.product-option-group{border:0;padding:0;margin:0}.product-option-group legend{font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.45rem}.product-option{border:1px solid var(--line);background:#fff;color:var(--brown);padding:.55rem .8rem;margin:0 .4rem .4rem 0;font-size:.72rem;min-width:3rem}.product-option:hover:not(:disabled),.product-option.is-selected{border-color:var(--brown);background:var(--brown);color:#fff}.product-option:disabled{color:#a69c94;background:#eeeae6;border-color:#e1d9d1;cursor:not-allowed;text-decoration:line-through}.product-selection-message{color:#9a4f42;font-size:.68rem;min-height:1rem;margin:.65rem 0 0}
.customer-access-switch{display:flex;border-bottom:1px solid var(--line);margin:1.2rem 0 1rem}.customer-access-tab{border:0;background:transparent;color:var(--brown-light);padding:.65rem .8rem;font:600 .65rem Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.06em}.customer-access-tab.is-active{color:var(--brown);border-bottom:2px solid var(--brown)}
.search-modal{display:none;position:fixed;inset:0;z-index:1080;align-items:flex-start;justify-content:center;padding:6.5rem 1rem 1rem}.search-modal.is-open{display:flex}.search-backdrop{position:absolute;inset:0;background:rgba(62,44,35,.45)}.search-panel{position:relative;z-index:1;width:min(620px,100%);max-height:min(620px,calc(100vh - 8rem));overflow:auto;background:var(--cream);padding:1.8rem;box-shadow:0 18px 45px rgba(62,44,35,.25);animation:modalUp .2s ease}.search-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.search-header h2{font:500 1.8rem "Playfair Display",serif;margin:.15rem 0 .8rem}.search-input-wrap{display:flex;align-items:center;gap:.7rem;border:1px solid var(--line);background:#fff;padding:.8rem 1rem}.search-input-wrap i{color:var(--brown-light)}.search-input-wrap input{width:100%;border:0;outline:0;background:transparent;color:var(--brown);font:400 .8rem Montserrat,sans-serif}.search-results{display:grid;gap:.5rem;margin-top:1rem}.search-result{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:.8rem;width:100%;border:1px solid transparent;background:rgba(255,255,255,.35);padding:.5rem;text-align:left;color:var(--brown);transition:.2s}.search-result:hover{border-color:var(--line);background:#fff}.search-result img{width:52px;height:62px;object-fit:cover}.search-result strong,.search-result small{display:block}.search-result strong{font:500 .9rem "Playfair Display",serif}.search-result small{margin-top:.25rem;color:#7f756c;font-size:.62rem;text-transform:capitalize}.search-result>i{color:var(--sand);padding:.5rem}.search-empty{margin:.8rem 0;color:#7f756c;font-size:.75rem;text-align:center}
@media(max-width:767px){.search-modal{padding:5.5rem .65rem .65rem}.search-panel{padding:1.2rem}.search-header h2{font-size:1.55rem}}
@media(max-width:575px){.admin-form-grid{grid-template-columns:1fr}.admin-heading{display:block}.admin-product-count{display:inline-block;margin-top:.7rem}}
.customer-modal{display:none;position:fixed;inset:0;z-index:1060;align-items:center;justify-content:center;padding:1rem;overflow-x:hidden}.customer-modal.is-open{display:flex}.customer-backdrop{position:absolute;inset:0;background:rgba(62,44,35,.45)}.customer-panel{position:relative;z-index:1;width:min(620px,calc(100% - 2rem));max-height:92vh;overflow-x:hidden;overflow-y:auto;background:var(--cream);padding:2rem;box-shadow:0 18px 45px rgba(62,44,35,.25);animation:modalUp .25s ease}.customer-panel h2{font:500 1.8rem "Playfair Display",serif;margin:.2rem 0 .7rem}.customer-panel h3{font:500 1.25rem "Playfair Display",serif}.customer-form{display:grid;gap:1rem;margin-top:1.2rem;min-width:0}.customer-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.8rem;min-width:0}.customer-form label{display:grid;min-width:0;gap:.3rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.05em}.customer-form input{display:block;width:100%;min-width:0;border:1px solid var(--line);background:#fff;padding:.7rem;font:400 .8rem Montserrat,sans-serif;color:var(--brown)}.customer-full{grid-column:1/-1}.customer-message{min-height:1rem;margin:0;color:var(--brown-light);font-size:.7rem;text-align:center}.customer-account-button{display:flex;align-items:center;gap:.35rem}.customer-account-button span{font-size:.62rem;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-account-code{background:var(--beige);padding:.8rem;font-size:.7rem;color:var(--brown-light)}.customer-account-actions{display:grid;gap:.6rem;margin:1.2rem 0}.customer-history-button{border:1px solid var(--brown);background:transparent;color:var(--brown);padding:.9rem 1.45rem;font:600 .7rem Montserrat,sans-serif;letter-spacing:.08em;text-transform:uppercase}.customer-history{border-top:1px solid var(--line);padding-top:1rem;color:var(--brown-light);font-size:.75rem;line-height:1.6}

/* Visual mais simples e direto, mantendo a paleta da marca. */
.topbar{font-size:.62rem;letter-spacing:.06em;padding:.45rem}
.navbar{padding:.7rem 0}
.nav-link{font-size:.68rem;letter-spacing:.05em}
.hero-image{max-height:540px}
.hero{background:var(--beige);overflow:hidden}.hero-image{width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;image-rendering:auto}
.benefit{gap:.55rem}
.benefit i{font-size:1.15rem}
.section-space{padding-top:3.8rem;padding-bottom:3.8rem}
@media(max-width:767px){.hero-image{width:100%;height:auto;min-height:0;object-fit:contain}}
.eyebrow{font-size:.62rem;letter-spacing:.1em;margin-bottom:.5rem}
.section-heading h1,.section-title{font-size:2.15rem;font-weight:500}
.muted{font-size:.84rem;line-height:1.6}
.category-card{height:290px;padding:1.4rem}
.category-card:before{background:rgba(62,44,35,.42)}
.category-card h2{font-size:1.45rem}
.category-card p,.category-card a{font-size:.6rem;letter-spacing:.06em}
.category-pill{min-height:105px;gap:.45rem}
.category-pill i{font-size:1.35rem}
.category-pill span{font-size:.6rem;letter-spacing:.06em}
.about-image{max-height:310px}
.btn-serena{padding:.75rem 1.1rem;font-size:.64rem;letter-spacing:.06em}
.newsletter-form{max-width:520px}
.footer{padding:1rem 0}

.catalog-section{background:#fff}
.catalog-controls{display:flex;flex-wrap:wrap;gap:.35rem}
.catalog-filter{border:1px solid var(--line);background:transparent;color:var(--brown);padding:.45rem .7rem;font:500 .62rem Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.04em}
.catalog-filter:hover,.catalog-filter.active{background:var(--brown);border-color:var(--brown);color:#fff}
.catalog-wrap{position:relative;padding:0 2.5rem}
.product-catalog{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:.25rem 0 .7rem}
.product-catalog::-webkit-scrollbar{display:none}
.product-card{background:var(--cream);flex:0 0 220px;scroll-snap-align:start;overflow:hidden}
.product-card img{display:block;width:100%;height:280px;object-fit:cover}
.product-info{padding:.8rem .85rem 1rem}
.product-info span{color:var(--sand);font-size:.58rem;text-transform:uppercase;letter-spacing:.08em}
.product-info h3{font:500 1.05rem "Playfair Display",serif;margin:.35rem 0 .6rem}
.product-info strong{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.catalog-arrow{position:absolute;top:43%;z-index:2;border:1px solid var(--line);background:var(--cream);color:var(--brown);width:2rem;height:2rem;border-radius:50%}
.catalog-arrow:hover{background:var(--brown);color:#fff}
.catalog-prev{left:0}.catalog-next{right:0}
.product-card[hidden]{display:none}
.product-card{cursor:pointer;transition:transform .2s,box-shadow .2s}
.product-card:hover{transform:translateY(-4px);box-shadow:0 8px 18px rgba(62,44,35,.12)}
.product-modal{display:none;position:fixed;inset:0;z-index:1050;align-items:center;justify-content:center;padding:1rem}
.product-modal.is-open{display:flex}
.product-modal-backdrop{position:absolute;inset:0;background:rgba(62,44,35,.45);animation:fadeIn .2s ease}
.product-modal-content{position:relative;z-index:1;width:min(760px,100%);max-height:90vh;overflow:auto;background:var(--cream);animation:modalUp .3s ease;box-shadow:0 18px 45px rgba(62,44,35,.25)}
.modal-close{position:absolute;z-index:2;right:.8rem;top:.8rem;border:0;background:#fff;color:var(--brown);width:2rem;height:2rem;border-radius:50%}
.modal-product-image{display:block;width:100%;height:460px;object-fit:cover}
.modal-product-details{padding:3rem 2.4rem;display:flex;flex-direction:column;justify-content:center}
.modal-product-details>span{color:var(--sand);font-size:.62rem;text-transform:uppercase;letter-spacing:.1em}
.modal-product-details h2{font:500 2rem "Playfair Display",serif;margin:.5rem 0 1rem}
.modal-product-details p{color:#7f756c;font-size:.82rem;line-height:1.6}
.modal-product-price{font:600 1.05rem;color:var(--brown);margin-top:.5rem}
body.modal-open{overflow:hidden}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes modalUp{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.cart-drawer{display:none;position:fixed;inset:0;z-index:1060}.cart-drawer.is-open{display:block}.cart-backdrop{position:absolute;inset:0;background:rgba(62,44,35,.35)}.cart-panel{position:absolute;right:0;top:0;height:100%;width:min(410px,100%);background:var(--cream);display:flex;flex-direction:column;animation:slideCart .25s ease;box-shadow:-8px 0 25px rgba(62,44,35,.15)}.cart-header{display:flex;justify-content:space-between;align-items:center;padding:1.3rem 1.25rem;border-bottom:1px solid var(--line)}.cart-header h2{font:500 1.65rem "Playfair Display",serif;margin:0}.cart-items{padding:1rem 1.25rem;overflow:auto;flex:1}.cart-empty{text-align:center;color:#8a7c70;font-size:.8rem;margin-top:3rem}.cart-item{display:flex;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--line)}.cart-item img{width:75px;height:95px;object-fit:cover}.cart-item-info{display:flex;flex-direction:column;min-width:0;flex:1}.cart-item-info strong{font:500 1rem "Playfair Display",serif}.cart-item-info small,.cart-item-info>span{font-size:.65rem;color:#8a7c70;margin-top:.2rem}.quantity-control{display:flex;align-items:center;gap:.65rem;margin-top:auto}.quantity-control button{border:1px solid var(--line);background:transparent;color:var(--brown);height:1.6rem;min-width:1.6rem}.quantity-control .remove-item{border:0;margin-left:auto;font-size:.6rem;width:auto}.cart-footer{padding:1.2rem 1.25rem;border-top:1px solid var(--line)}.cart-total{display:flex;justify-content:space-between;margin-bottom:1rem;font-size:.8rem}.cart-total strong{font-weight:600}.cart-total-final{padding-top:.5rem;border-top:1px solid var(--line);font-size:.9rem}.cart-note{display:block;color:#8a7c70;font-size:.62rem;text-align:center;margin-top:.75rem}.cart-footer .btn:disabled{opacity:.55}@keyframes slideCart{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(max-width:767px){.catalog-controls{width:100%}.catalog-filter{flex:1}.catalog-wrap{padding:0 1.8rem}.product-card{flex-basis:190px}.product-card img{height:245px}.catalog-arrow{width:1.8rem;height:1.8rem}}
@media(max-width:767px){.product-modal-content{max-height:92vh}.modal-product-image{height:300px}.modal-product-details{padding:1.5rem}.modal-product-details h2{font-size:1.7rem}.customer-panel{padding:1.5rem}.customer-form-grid{grid-template-columns:1fr}.customer-full{grid-column:auto}}
.customer-modal{overflow:hidden}
.customer-panel{box-sizing:border-box;width:min(620px,calc(100vw - 2rem));max-width:620px;overflow-x:hidden}
.customer-form,.customer-form-grid{width:100%;min-width:0}
.customer-form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.customer-form label{min-width:0}
.customer-form input{box-sizing:border-box;width:100%;max-width:100%;min-width:0}
@media(max-width:767px){.customer-panel{padding:1.25rem}.customer-form-grid{grid-template-columns:minmax(0,1fr)}.customer-full{grid-column:auto}.shipping-box{width:100%;box-sizing:border-box}}
@media(max-width:575px){.customer-modal{padding:.5rem}.customer-panel{max-width:calc(100vw - 1rem);padding:1rem}.customer-form{gap:.85rem}.customer-form-grid{gap:.7rem}}
@media(min-width:768px){.customer-panel{width:min(720px,calc(100vw - 2rem));max-width:720px;max-height:calc(100vh - 2rem);padding:1.5rem}.customer-form{gap:.75rem;margin-top:.9rem}.customer-form-grid{gap:.65rem}.customer-form input{padding:.6rem}.customer-panel hr{margin:.5rem 0}.customer-panel h3{margin-bottom:.35rem}.shipping-box{padding:.8rem}}
.nav-actions{align-items:center}
@media(max-width:767px){.customer-account-button span{max-width:70px;font-size:.72rem}.customer-account-button{padding-right:.3rem}.nav-actions{gap:.45rem!important}}
.nav-actions>.customer-account-button{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.4rem;width:auto;min-width:0;padding:.16rem .5rem .16rem .18rem}
.nav-actions>.customer-account-button span{display:block;line-height:1;transform:translateY(1px)}
.field-status{min-height:.8rem;color:var(--brown-light);font-size:.62rem;text-transform:none;letter-spacing:0}.shipping-box{display:grid;grid-template-columns:1fr auto;gap:.7rem;align-items:center;padding:1rem;background:var(--beige);font-size:.72rem}.shipping-box strong,.shipping-box small{display:block}.shipping-box small{margin-top:.25rem;color:#7f756c;font-size:.62rem}.shipping-box .customer-history-button{padding:.7rem .8rem;font-size:.6rem}.shipping-result{grid-column:1/-1;margin:0;color:var(--brown-light);font-size:.7rem}.shipping-result:empty{display:none}
.cart-shipping-box{grid-template-columns:1fr;margin-bottom:1rem}.cart-shipping-box label{display:grid;gap:.25rem;font-size:.6rem;text-transform:uppercase;letter-spacing:.05em}.cart-shipping-box input{border:1px solid var(--line);background:#fff;padding:.55rem;font:400 .75rem Montserrat,sans-serif;color:var(--brown)}.cart-shipping-box .customer-history-button{width:100%}
@media(max-width:767px){.shipping-box{grid-template-columns:1fr}.shipping-box .customer-history-button{width:100%}}

.checkout-form{border:0;border-radius:.35rem}.checkout-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--line)}.checkout-header .eyebrow{margin:0 0 .25rem}.checkout-header h2{font:500 1.6rem "Playfair Display",serif;margin:0}.checkout-section{padding:1.1rem 1.5rem}.checkout-section h3,.checkout-payment legend{font:600 .78rem Montserrat,sans-serif;margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.06em}.checkout-address{font-size:.78rem;line-height:1.6;color:#77695f;margin:0}.checkout-items{list-style:none;padding:0;margin:0 0 .8rem}.checkout-items li,.checkout-total{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0;font-size:.75rem}.checkout-items li span{min-width:0}.checkout-items li strong,.checkout-total strong{white-space:nowrap}.checkout-grand-total{border-top:1px solid var(--line);margin-top:.35rem;padding-top:.8rem;font-size:.9rem}.checkout-payment{min-width:0;margin:0}.checkout-payment-option{display:flex;align-items:flex-start;gap:.65rem;padding:.75rem;border:1px solid var(--line);background:#fff;margin:.45rem 0;cursor:pointer;transition:border-color .15s,background .15s}.checkout-payment-option:has(input:checked){border-color:var(--sand);background:var(--beige)}.checkout-payment-option input{margin-top:.2rem;accent-color:var(--brown)}.checkout-payment-option span,.checkout-payment-option small{display:block}.checkout-payment-option strong{font-size:.75rem}.checkout-payment-option small{margin-top:.2rem;color:#81766d;font-size:.65rem;line-height:1.45}.checkout-message{min-height:1.2rem;margin:.75rem 1.5rem 0;color:var(--brown-light);font-size:.72rem;line-height:1.5}.checkout-actions{justify-content:flex-end;align-items:center;padding:1rem 1.5rem}.checkout-actions .customer-history-button,.checkout-actions .btn{min-width:9rem;padding:.75rem 1rem;font-size:.65rem}@media(max-width:575px){.checkout-modal{padding:.5rem}.checkout-container{width:100%;max-height:94vh}.checkout-header,.checkout-section{padding:1rem}.checkout-message{margin:.6rem 1rem 0}.checkout-actions{padding:.8rem 1rem;gap:.5rem}.checkout-actions .customer-history-button,.checkout-actions .btn{min-width:0;flex:1}}

/* =============================================
   MODELO DE CHECKOUT - ESTILOS
   ============================================= */

.checkout-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 1065;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.checkout-modal.is-open {
  display: flex;
}

.checkout-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(62, 44, 35, .45);
  animation: fadeIn .2s ease;
}

.checkout-container {
  position: relative;
  z-index: 1;
  width: min(740px, 100%);
  max-height: 90vh;
  overflow: auto;
  background: var(--cream);
  animation: modalUp .3s ease;
  box-shadow: 0 18px 45px rgba(62, 44, 35, .25);
}

.checkout-section {
  padding: 1.75rem 1.85rem;
  border-bottom: 1px solid var(--line);
}

.checkout-section:last-child {
  border-bottom: 0;
  padding-bottom: 2rem;
}

.checkout-section h3 {
  font-size: 1.08rem;
  color: var(--brown);
  margin-bottom: 1.25rem;
  font-weight: 600;
}

.customer-form .form-group {
  margin-bottom: 1.35rem;
}

.customer-form label {
  display: block;
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--brown-light);
  font-weight: 600;
  margin-bottom: .35rem;
}

.customer-form input {
  width: 100%;
  padding: .75rem;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--brown);
  font: 400 .85rem Montserrat, sans-serif;
  border-radius: 8px;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.customer-form input:focus {
  outline: none;
  border-color: var(--sand);
  box-shadow: 0 0 0 3px rgba(199, 158, 126, .15);
}

.customer-form input::placeholder {
  color: #c4b8ae;
}

.form-help {
  display: block;
  margin-top: .4rem;
  color: #8a7c70;
  font-size: .62rem;
  text-transform: none;
  letter-spacing: 0;
}

.address-search h4 {
  font-size: .95rem;
  margin-bottom: 1rem;
  color: var(--brown);
  font-weight: 500;
}

.summary-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: .75rem;
  border-bottom: 1px dashed var(--line);
  font-size: .68rem;
  color: #8a7c70;
}

.summary-header span:first-child {
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 500;
  color: var(--brown-light);
}

.summary-header span:last-child {
  background: rgba(255, 255, 255, .6);
  padding: .3rem .75rem;
  border-radius: 18px;
  font-weight: 500;
}

.summary-items {
  margin-top: 1.25rem;
  max-height: 420px;
  overflow-y: auto;
}

.summary-item {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: .85rem;
  padding: .9rem 0;
  border-bottom: 1px solid var(--line);
  align-items: center;
}

.summary-item img {
  width: 70px;
  height: 90px;
  object-fit: cover;
  background: #f2ede6;
  border-radius: 6px;
}

.summary-item-info h4 {
  font-size: .85rem;
  margin-bottom: .15rem;
  color: var(--brown);
}

.summary-item-info small {
  font-size: .62rem;
  color: #8a7c70;
}

.summary-item-price {
  text-align: right;
}

.summary-item-price strong {
  display: block;
  font-size: .95rem;
  color: var(--brown);
}

.summary-item-price small {
  font-size: .65rem;
  color: #8a7c70;
}

.summary-totals {
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 2px solid var(--brown);
}

.total-row {
  display: flex;
  justify-content: space-between;
  font-size: .8rem;
  padding: .4rem 0;
  color: #7f756c;
}

.total-row:last-child {
  border-top: 1px solid var(--brown);
  margin-top: .5rem;
  padding-top: .9rem;
  font-weight: 600;
}

.total-row.highlight label {
  color: var(--brown-light);
  text-transform: none;
  letter-spacing: 0;
}

.total-row.final label,
.total-row.final span {
  color: var(--brown);
  font-weight: 600;
  font-size: 1.2rem;
}

.payment-options {
  display: grid;
  gap: .85rem;
  margin-bottom: 1rem;
}

.payment-option {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding: 1.25rem;
  border: 2px solid var(--line);
  border-radius: 12px;
  cursor: pointer;
  transition: all .2s ease;
}

.payment-option:hover {
  border-color: var(--sand);
  background: rgba(199, 158, 126, .08);
}

.payment-option[aria-checked="true"] {
  border-color: var(--brown);
  background: rgba(62, 44, 35, .06);
}

.payment-option i {
  font-size: 1.8rem;
  color: var(--brown-light);
}

.payment-option span {
  font-weight: 500;
  flex: 1;
  text-align: left;
}

.payment-option small {
  display: block;
  font-size: .62rem;
  color: #8a7c70;
  margin-top: .3rem;
  text-transform: none;
  letter-spacing: 0;
  line-height: 1.4;
}

.payment-option[aria-checked="true"] i {
  color: var(--brown);
}

.pix-payment {
  margin-top: 1.5rem;
  padding: 1.5rem;
  background: #fff;
  border-radius: 12px;
  text-align: center;
}

#pixQRCode {
  width: 240px;
  height: 240px;
  margin: 1rem auto;
  padding: .5rem;
  background: #fff;
  border: 3px dashed var(--brown);
  border-radius: 8px;
}

.pix-payment small {
  display: block;
  color: var(--brown-light);
  font-size: .72rem;
  margin-top: .5rem;
}

.checkout-actions {
  display: flex;
  gap: .8rem;
  padding: 1.5rem 1.85rem;
  background: var(--beige);
}

@media(max-width:767px) {
  .checkout-container {
    max-height: 92vh;
  }
  
  .checkout-section {
    padding: 1.4rem 1.35rem;
  }
  
  .customer-form input {
    padding: .65rem;
  }
  
  .summary-item img {
    width: 60px;
    height: 78px;
  }
}
