/* Camada visual da loja, preservando os elementos da identidade original. */
@view-transition { navigation: auto; }
:root { --accent:#FF6600; --brand-dark:#38004d; --glass:rgba(255,255,255,.94); }
body { background:#faf8fc; }
.workspace { background:radial-gradient(ellipse at 100% 0, #621b7509, transparent 45%), #faf8fc; }
main { padding-bottom:28px; }
.original-header { view-transition-name:brand-header; }
.original-footer { view-transition-name:brand-footer; }
.sidebar { top:150px; bottom:0; background:var(--glass); backdrop-filter:blur(18px); padding:24px 18px; transition:width .25s, padding .25s, top .25s; scrollbar-width:thin; scrollbar-color:#dbc7e1 transparent; }
body.past-header .sidebar { top:0; }
.nav-label { color:#8a7192; font-size:9px; letter-spacing:2.3px; }
.sidebar nav a { position:relative; min-height:52px; transition:background .2s, color .2s, transform .2s; border:1px solid transparent; border-radius:12px; }
.sidebar nav a:hover { transform:translateX(3px); background:#f4ebf7; }
.sidebar nav a.active { background:linear-gradient(115deg,#621b75,#4a0e7e); color:#fff; box-shadow:0 5px 18px #621b7524; border-color:#ffffff20; }
.sidebar nav a.active::before { content:''; position:absolute; width:3px; height:20px; border-radius:3px; left:0; background:var(--accent); }
.sidebar nav a.active em { background:#ffffff20; color:#fff; }
.sidebar nav b { background:#ff6600; color:#fff; }
.nav-icon { width:21px; height:21px; flex:none; stroke:currentColor; stroke-width:1.6; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.sidebar nav a>.nav-text { width:auto; font-size:inherit; text-align:left; white-space:nowrap; }
.side-note { background:linear-gradient(145deg,#f6edf8,#fff); border-color:#e9daef; box-shadow:0 8px 24px #38004d05; }
.side-note h3 { font-size:16px; }
.side-bottom { white-space:normal; padding-top:24px; }
.sidebar-toggle { display:flex; gap:8px; align-items:center; justify-content:center; background:#fff; border:1px solid #e8ddeb; border-radius:8px; color:#621b75; padding:8px 12px; font-size:11px; }
.sidebar-toggle svg { width:16px; height:16px; }
.sidebar-toggle:hover { background:#f4ebf7; }
.sidebar-toggle-label { margin-right:auto; }
.sidebar-tools { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }
.sidebar-tools .nav-label { margin:0; }
.topbar { position:sticky; top:0; z-index:4; background:var(--glass); backdrop-filter:blur(18px); border-color:#e8deed; height:78px; box-shadow:0 4px 20px #38004d04; }
.search { height:46px; background:#fbf9fd; border-color:#e8ddec; transition:border-color .2s, box-shadow .2s; }
.search:focus-within { border-color:#9865a6; box-shadow:0 0 0 3px #621b7510; }
.search button { background:#621b75; color:#fff; border:0; border-radius:6px; padding:9px 14px; margin:5px; }
.search>span { display:flex; align-items:center; }
.pickup-link,.cart-icon { transition:transform .2s; }
.pickup-link:hover,.cart-icon:hover { transform:translateY(-2px); }
.cart-icon { display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:10px; border:1px solid #e8ddec; background:#fff; }
.cart-icon sup { color:#fff; right:-6px; top:-5px; min-width:17px; text-align:center; }
.reading-progress { position:fixed; top:0; left:0; right:0; height:3px; pointer-events:none; z-index:20; }
.reading-progress span { display:block; height:100%; background:linear-gradient(90deg,#621b75,#ff6600); transform:scaleX(0); transform-origin:left; }
.hero,.promo-banner { border-radius:20px; box-shadow:0 15px 35px #621b751a; border:1px solid #ffffff22; }
.promo-banner { background:radial-gradient(ellipse at 70% 30%,#853b963d,transparent 60%),linear-gradient(120deg,#621b75,#4a0e7e); position:relative; }
.promo-banner::after { content:''; position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px); background-size:32px 32px; mask-image:linear-gradient(90deg,transparent,#000); }
.promo-banner>div { position:relative; z-index:1; }
.sale-stamp { box-shadow:0 12px 35px #20042a33; }
.button { transition:transform .2s, box-shadow .2s, filter .2s; min-height:44px; }
.button.purple { background:linear-gradient(115deg,#621b75,#4a0e7e); box-shadow:0 5px 15px #621b751c; }
.button:hover { transform:translateY(-2px); box-shadow:0 9px 22px #621b7529; }
.button:active { transform:translateY(0); }
.panel,.benefits,.product-card { border-color:#eadfed; box-shadow:0 5px 20px #38004d04; }
.panel { border-radius:16px; }
.product-card { border-radius:14px; transition:transform .25s, box-shadow .25s, border-color .25s; }
.product-card:hover { transform:translateY(-5px); box-shadow:0 14px 30px #38004d10; border-color:#cba9d4; }
.product-picture { background:radial-gradient(ellipse at center,#f8f2fc,#fff 75%); }
.product-picture img { transition:transform .35s; }
.product-card:hover .product-picture img { transform:scale(1.055); }
.product-info h3 { font-weight:600; }
.add-button { min-height:39px; border:1px solid #ead9ef; transition:background .2s, color .2s; }
.add-button:hover { background:#621b75; color:white; }
.store-card { transition:transform .25s, box-shadow .25s; border-color:#621b75; }
.store-card:hover { transform:translateY(-4px); box-shadow:0 15px 26px #38004d1c; }
.city-tabs button { transition:background .2s, transform .2s, box-shadow .2s; }
.city-tabs .selected { box-shadow:0 4px 12px #621b7526; }
.city-tabs button:hover { transform:translateY(-2px); }
.filters>a { transition:color .2s, transform .2s; }
.filters>a:hover { color:#621b75; transform:translateX(3px); }
input:not([type=radio]),textarea,select { transition:border-color .2s, box-shadow .2s; }
input:not([type=radio]):focus,textarea:focus,select:focus { outline:0; border-color:#9760a5; box-shadow:0 0 0 3px #621b7510; }
.store-option { transition:border-color .2s, box-shadow .2s, background .2s; }
.store-option:hover { border-color:#ba92c5; }
.store-option:has(input:checked) { border-color:#621b75; box-shadow:0 0 0 2px #621b7509; }
.summary { top:98px; border-top:3px solid #ff6600; }
.summary-total strong:last-child { color:#621b75; }
.checkout-steps { display:flex; align-items:center; gap:12px; margin:25px 0 0; padding:16px 20px; border:1px solid #e8dcec; border-radius:12px; background:white; }
.checkout-steps a { display:flex; gap:9px; align-items:center; color:#807186; font-size:12px; font-weight:600; transition:color .2s; }
.checkout-steps a:hover { color:#621b75; }
.checkout-steps .step { margin:0; width:28px; height:28px; transition:background .2s, color .2s; }
.checkout-steps a.complete .step { background:#621b75; color:white; }
.checkout-steps a.complete { color:#621b75; }
.checkout-steps .step-connector { height:1px; background:#e8dcec; flex:1; }
.checkout-layout section[id] { scroll-margin-top:100px; }
.reveal-enter { animation:reveal-in .45s ease both; }
@keyframes reveal-in { from {opacity:0;transform:translateY(12px)} to {opacity:1;transform:translateY(0)} }
.toast-stack { position:fixed; right:24px; bottom:24px; z-index:30; max-width:min(360px,calc(100vw - 40px)); }
.toast-message { background:#38004d; color:#fff; border:1px solid #ffffff20; border-left:3px solid #ff6600; padding:14px 18px; border-radius:12px; box-shadow:0 10px 30px #38004d25; font-size:12px; animation:reveal-in .25s ease; }
.back-top { position:fixed; right:24px; bottom:24px; z-index:9; width:42px; height:42px; border-radius:12px; border:1px solid #eadfed; background:#fff; color:#621b75; box-shadow:0 5px 20px #38004d12; opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .2s,transform .2s,visibility .2s; }
.back-top.visible { opacity:1; visibility:visible; transform:none; }
.toast-stack:not(:empty)~.back-top { bottom:94px; }
body.sidebar-compact .sidebar { width:84px; padding:24px 12px; }
body.sidebar-compact .workspace { margin-left:84px; }
.workspace { transition:margin-left .25s; }
body.sidebar-compact .sidebar-tools { justify-content:center; }
body.sidebar-compact .sidebar-tools .nav-label,body.sidebar-compact .nav-text,body.sidebar-compact nav b,body.sidebar-compact nav em,body.sidebar-compact .side-note,body.sidebar-compact .side-bottom { display:none; }
body.sidebar-compact .sidebar nav a { justify-content:center; padding:14px; }
body.sidebar-compact .sidebar-toggle svg { transform:rotate(180deg); }
::view-transition-old(root) { animation:page-out .12s ease both; }
::view-transition-new(root) { animation:reveal-in .22s ease both; }
@keyframes page-out { to {opacity:0} }
@media(max-width:820px) {
 .sidebar,body.sidebar-compact .sidebar { position:relative; top:auto; bottom:auto; width:100%; padding:12px 20px; overflow:visible; backdrop-filter:none; display:block; }
 .sidebar-tools { display:none; }
 .sidebar nav { display:flex; justify-content:center; gap:10px; }
 .sidebar nav a { min-height:42px; }
 .sidebar nav a:hover { transform:none; }
 .sidebar .nav-text,body.sidebar-compact .nav-text { display:inline; }
 body.sidebar-compact nav em { display:block; }
 .workspace,body.sidebar-compact .workspace { margin-left:0; }
 .topbar { height:70px; }
 .summary { top:auto; }
 .nav-icon { width:18px; height:18px; }
 .sidebar nav b { display:none; }
 .checkout-steps a { font-size:11px; }
}
@media(max-width:560px) {
 .promo-banner>.sale-stamp { position:absolute; right:-34px; bottom:25px; }
 .promo-banner>div:first-child { max-width:100%; }
 .sidebar,body.sidebar-compact .sidebar { padding:10px 12px; }
 .sidebar nav { gap:5px; justify-content:space-between; }
 .sidebar nav a { font-size:10px; gap:7px; padding:10px 9px; }
 .topbar { padding:0 18px; gap:16px; }
 .search>span { padding:0 10px; }
 .search button { padding:9px 10px; }
 .checkout-steps { padding:12px; gap:7px; }
 .checkout-steps a { gap:6px; font-size:10px; }
 .checkout-steps .step { width:23px; height:23px; font-size:10px; }
 .product-card:hover { transform:none; }
 .back-top { right:16px; bottom:16px; }
 .toast-stack { right:16px; bottom:16px; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *,*::before,*::after { animation:none!important; transition:none!important; }
}

.campaign-product{display:flex;align-items:center;gap:25px;border-top:3px solid #ff6600}.campaign-product img{width:120px;height:120px;object-fit:contain;border-radius:12px;background:#faf6fc}.campaign-product h2{margin:10px 0;font-size:25px}.campaign-product p{margin:6px 0}.campaign-product strong{color:#621b75}@media(max-width:560px){.campaign-product{align-items:flex-start;gap:15px}.campaign-product img{width:75px;height:85px}.campaign-product h2{font-size:18px}.campaign-product p{font-size:11px}}

.product-info h3{height:56px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.product-headline{font-size:11px;font-weight:700;line-height:1.5;color:#621b75;min-height:32px;margin:10px 0}.variant-caption{font-size:10px;color:#84728a;margin:6px 0}.buy-direct{margin:0 17px 10px;font-size:11px}.product-card form{margin-top:0}.product-age{background:#f2e7f5;color:#621b75}.product-info .pickup-caption{margin-bottom:12px}.detail form{margin-top:20px}@media(max-width:560px){.buy-direct{margin:0 12px 10px;font-size:10px}.product-info h3{height:60px;font-size:11px}.product-headline{font-size:10px;min-height:40px}}
.filters form { margin-bottom:24px; }
.filters form label { display:block; font-size:13px; margin-bottom:10px; }
.filters form select { width:100%; border:1px solid #e9e6ed; border-radius:10px; background:#fff; padding:11px 12px; color:#38004d; }
.filters form small { display:block; font-size:11px; color:#77727f; line-height:1.6; margin-top:9px; }
@media(max-width:640px) { .filters { flex-wrap:wrap; } .filters form { flex:0 0 100%; margin-bottom:8px; } .filters form small { display:none; } }

/* Numbered navigation shared by the catalog and product administration. */
#catalogo { scroll-margin-top:110px; }
.catalog-pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; margin:24px 0; padding:18px; border:1px solid #e9e1ed; border-radius:14px; background:#faf7fc; }
.catalog-pagination.is-compact { margin:0 0 20px; padding:14px; }
.pagination-summary { display:flex; flex-direction:column; gap:5px; }
.pagination-summary strong { font-size:12px; color:#621b75; }
.pagination-summary small { font-size:11px; color:#77727f; }
.catalog-pagination .pagination-pages { display:flex; flex-wrap:wrap; align-items:center; gap:6px; padding:0; margin:0; list-style:none; }
.catalog-pagination .pagination-pages li>a,.catalog-pagination .pagination-pages li>span { display:flex; align-items:center; justify-content:center; gap:7px; min-width:42px; min-height:42px; padding:0 12px; border:1px solid #e5dbe9; border-radius:10px; background:white; color:#621b75; font-size:13px; font-weight:700; transition:background .15s,border-color .15s,box-shadow .15s; }
.catalog-pagination .pagination-pages li>a:hover { background:#efe5f4; border-color:#621b75; box-shadow:0 3px 9px #621b7514; }
.catalog-pagination .pagination-pages li>a:focus-visible { outline:3px solid #ff6600; outline-offset:3px; }
.catalog-pagination .pagination-pages li>.page-current { background:#621b75; border-color:#621b75; color:white; box-shadow:0 3px 10px #621b7525; }
.catalog-pagination .pagination-pages li>[aria-disabled=true] { background:#f1edf3; color:#aaa1af; border-color:transparent; }
.catalog-pagination .pagination-pages li>.page-ellipsis { background:transparent; border:0; min-width:24px; padding:0 4px; }
@media(max-width:560px) { .catalog-pagination { padding:14px 10px; justify-content:center; gap:12px; } .pagination-summary { text-align:center; flex-basis:100%; } .catalog-pagination .pagination-pages { gap:5px; justify-content:center; } .catalog-pagination .pagination-pages li>a,.catalog-pagination .pagination-pages li>span { min-width:40px; min-height:44px; padding:0 9px; } .catalog-pagination .page-direction>span { display:none; } .catalog-pagination .pagination-pages .page-direction { font-size:23px; } #catalogo { scroll-margin-top:85px; } }
.catalog-pagination .page-direction>span { width:auto; font-size:12px; }
.pix-sale-notice { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; margin-bottom:24px; padding:18px 22px; border-radius:12px; background:linear-gradient(110deg,#621b75,#8c309c); color:white; border-left:5px solid #ff6600; }
.pix-sale-notice strong { font-size:19px; }.pix-sale-notice>span { font-size:12px; color:#ffe5c9; }
@media(max-width:560px) { .pix-sale-notice { padding:15px; }.pix-sale-notice strong { font-size:17px; } }

.product-gallery { display:grid; grid-template-columns:68px minmax(0,1fr); align-content:start; gap:14px; min-width:0; }
.gallery-thumbnails { display:flex; flex-direction:column; gap:9px; max-height:610px; overflow:auto; padding:3px; }
.gallery-thumbnail { flex:none; width:60px; height:65px; padding:4px; border:1px solid #e5dbe9; border-radius:8px; background:white; }
.gallery-thumbnail img { width:100%; height:100%; object-fit:contain; }
.gallery-thumbnail.is-selected { border:2px solid #621b75; box-shadow:0 0 0 2px #eee4f3; }
.gallery-main { position:relative; display:flex; align-items:center; justify-content:center; width:100%; height:440px; padding:20px 10px 45px; border:0; border-radius:12px; background:white; cursor:zoom-in; }
.gallery-main>img { width:100%; height:100%; object-fit:contain; }
.gallery-expand { position:absolute; right:12px; bottom:12px; padding:7px 12px; border-radius:20px; background:#f4edf7; font-size:11px; color:#621b75; }
.gallery-controls,.gallery-dialog-controls { display:flex; justify-content:center; align-items:center; gap:16px; padding:10px; font-size:12px; color:#621b75; }
.gallery-controls button,.gallery-dialog-controls button { border:1px solid #e5dbe9; border-radius:9px; background:white; padding:8px 14px; color:#621b75; min-height:42px; }
.gallery-display>small { display:block; color:#77727f; text-align:center; font-size:11px; }
.gallery-dialog { width:min(1100px,96vw); max-width:96vw; max-height:94dvh; padding:20px; border:0; border-radius:16px; color:#38004d; }
.gallery-dialog::backdrop { background:#190720d9; }
.gallery-dialog-header { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:15px; }
.gallery-dialog-header strong { font-size:14px; }.gallery-dialog-header button { border:0; background:#f3edf6; border-radius:50%; width:42px; height:42px; font-size:28px; color:#621b75; flex:none; }
.gallery-zoom-area { height:min(64dvh,700px); overflow:auto; text-align:center; background:#fff; }
.gallery-zoom-area img { height:100%; width:100%; object-fit:contain; }
.gallery-zoom-area.is-zoomed img { width:200%; height:200%; max-width:none; object-fit:contain; }
body.gallery-modal-open { overflow:hidden; }
@media(max-width:640px) { .product-gallery { display:flex; flex-direction:column-reverse; gap:12px; }.gallery-thumbnails { flex-direction:row; max-height:none; width:100%; }.gallery-main { height:330px; }.gallery-dialog { padding:12px; }.gallery-dialog-header strong { font-size:12px; }.gallery-zoom-area { height:57dvh; }.gallery-dialog-controls { gap:8px; }.gallery-dialog-controls button { padding:8px 11px; } }
.admin-gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:15px 0 25px; }.admin-gallery-grid label { border:1px solid #e5dbe9; border-radius:10px; padding:10px; margin:0; }.admin-gallery-grid img { width:100%; height:110px; object-fit:contain; }.admin-gallery-grid span { display:flex; gap:6px; align-items:center; font-size:10px; margin-top:10px; }@media(max-width:560px) { .admin-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.gallery-zoom-area img { display:block; }
