/* Widgets Apple: estilos isolados da vitrine nativa do tema. */
.cvt-storefront { --cvt-sf-accent:var(--cvt-sf-brand-accent,#f58b27); --cvt-sf-accent-ink:var(--cvt-sf-brand-ink,#fff); --cvt-sf-card:#fff; --cvt-sf-image:#f8f2ec; --cvt-sf-ink:#1d1d1f; --cvt-sf-muted:#787571; --cvt-sf-stars:#f5a623; --cvt-sf-radius:20px; --cvt-sf-gap:16px; --cvt-sf-columns:4; min-width:0; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--cvt-sf-ink); }
.cvt-storefront, .cvt-storefront * { box-sizing:border-box; }
.cvt-storefront a { text-decoration:none; color:inherit; }
.cvt-storefront button { font:inherit; text-transform:none; letter-spacing:normal; cursor:pointer; box-shadow:none; margin:0; }
.cvt-storefront svg { width:20px; height:20px; display:block; flex-shrink:0; }
.cvt-storefront :is(button,a,[tabindex]):focus-visible { outline:2px solid var(--cvt-sf-accent); outline-offset:3px; }
.cvt-sf-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.cvt-showcase .cvt-showcase-heading { display:flex; justify-content:space-between; align-items:baseline; gap:20px; margin:0 0 20px; padding:0; border:0; background:transparent; }
.cvt-showcase-heading h2 { color:inherit; font:600 24px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; margin:0; padding:0; text-transform:none; }
.cvt-showcase .cvt-showcase-all { display:inline-flex; align-items:center; gap:8px; font-size:14px; white-space:nowrap; }
.cvt-showcase-track { display:grid; grid-template-columns:repeat(var(--cvt-sf-columns),minmax(0,1fr)); gap:var(--cvt-sf-gap); min-width:0; }
.cvt-showcase-item { min-width:0; }
.cvt-showcase .cvt-product-card { padding:8px; background:var(--cvt-sf-card); color:var(--cvt-sf-ink); border-radius:var(--cvt-sf-radius); box-shadow:0 5px 16px rgba(90,60,35,.07); overflow:hidden; height:100%; margin:0; border:1px solid rgba(60,40,20,.025); transition:box-shadow .2s; }
.cvt-product-media { position:relative; aspect-ratio:1; overflow:hidden; border-radius:max(0px,calc(var(--cvt-sf-radius) - 7px)); background:var(--cvt-sf-image); }
.cvt-product-media > a { display:block; height:100%; }
.cvt-product-media img { display:block; width:100%; height:100%; object-fit:cover; margin:0; border:0; border-radius:0; transition:transform .3s ease; }
.cvt-showcase .cvt-product-favorite { position:absolute; display:grid; place-items:center; top:5px; right:5px; width:36px; height:36px; min-height:36px; border:0; padding:8px; border-radius:50%; background:rgba(255,255,255,.76); color:#787571; backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
.cvt-product-favorite[aria-pressed="true"] { color:var(--cvt-sf-accent); }
.cvt-product-favorite[aria-pressed="true"] svg { fill:currentColor; }
.cvt-product-copy { padding:10px 2px 2px; }
.cvt-showcase .cvt-product-name { font:600 14px/1.35 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:inherit; text-transform:none; letter-spacing:-.15px; margin:0 0 4px; }
.cvt-product-name a { display:block; color:inherit; }
.cvt-showcase .cvt-product-description { margin:0 0 9px; color:var(--cvt-sf-muted); font-size:12px; line-height:1.45; overflow-wrap:anywhere; }
.cvt-product-rating { display:flex; align-items:center; flex-wrap:wrap; gap:5px; margin:0 0 10px; line-height:1; }
.cvt-rating-stars { position:relative; display:inline-block; color:#e7e1d8; letter-spacing:1px; font-size:13px; white-space:nowrap; }
.cvt-rating-stars > span { position:absolute; inset:0 auto 0 0; overflow:hidden; color:var(--cvt-sf-stars); }
.cvt-product-rating small { color:var(--cvt-sf-muted); font-size:10px; }
.cvt-product-bottom { display:flex; justify-content:space-between; align-items:center; gap:6px; margin-top:12px; }
.cvt-product-price { color:inherit; font-size:15px; line-height:1.25; font-weight:650; min-width:0; }
.cvt-product-price :is(ins,.amount) { color:inherit; background:none; text-decoration:none; }
.cvt-product-price del { display:block; opacity:.5; font-size:11px; font-weight:400; }
.cvt-showcase .cvt-product-add { display:grid; place-items:center; width:38px; height:38px; min-width:38px; min-height:38px; padding:0; border:0; border-radius:50%; color:var(--cvt-sf-accent-ink); background:var(--cvt-sf-accent); text-align:center; line-height:1; font-size:26px; font-weight:400; }
.cvt-product-add.is-loading { opacity:.5; pointer-events:none; animation:cvt-sf-pulse .8s alternate infinite; }
.cvt-product-add.is-done > span { font-size:0; }
.cvt-product-add.is-done > span::after { content:"✓"; font-size:18px; }
.cvt-showcase--carousel .cvt-showcase-track { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; scroll-padding:2px; padding:4px 2px 18px; margin:-4px -2px -8px; }
.cvt-showcase--carousel .cvt-showcase-track::-webkit-scrollbar { display:none; }
.cvt-showcase--carousel .cvt-showcase-item { flex:0 0 calc((100% - (var(--cvt-sf-columns) - 1)*var(--cvt-sf-gap))/var(--cvt-sf-columns)); scroll-snap-align:start; }
.cvt-showcase-nav { display:flex; justify-content:flex-end; gap:8px; margin-top:14px; }
.cvt-showcase-nav button { display:grid; place-items:center; background:var(--cvt-sf-card); color:var(--cvt-sf-ink); border:1px solid #e9e5e0; border-radius:50%; padding:7px; width:36px; height:36px; }
.cvt-showcase-nav button:first-child svg { transform:rotate(180deg); }
.cvt-showcase-nav button:disabled { opacity:.3; cursor:default; }
.cvt-showcase--masonry .cvt-showcase-track { grid-auto-rows:8px; gap:0 var(--cvt-sf-gap); align-items:start; }
.cvt-showcase--masonry .cvt-product-card { height:auto; }
.cvt-showcase-empty { grid-column:1/-1; color:var(--cvt-sf-muted); padding:24px; margin:0; text-align:center; }
/* Banner: mídia ao fundo, texto e CTA com a mesma composição da referência. */
.cvt-banner { --cvt-banner-height:380px; --cvt-banner-radius:32px; --cvt-banner-padding:48px; --cvt-banner-copy-width:49%; --cvt-banner-bg:#f4e3d5; --cvt-banner-ink:#302820; --cvt-banner-wash:#f5e6da; --cvt-banner-button:#fff; --cvt-banner-badge-bg:rgba(255,255,255,.72); --cvt-banner-badge-ink:#8e5433; --cvt-banner-dot:var(--cvt-sf-accent); }
.cvt-banner-track { display:flex; width:100%; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; border-radius:var(--cvt-banner-radius); }
.cvt-banner-track::-webkit-scrollbar { display:none; }
.cvt-banner-slide { flex:0 0 100%; min-width:0; position:relative; isolation:isolate; overflow:hidden; min-height:var(--cvt-banner-height); border-radius:var(--cvt-banner-radius); background:var(--cvt-banner-bg); color:var(--cvt-banner-ink); scroll-snap-align:start; display:flex; align-items:center; margin:0; padding:0; border:0; }
.cvt-banner-media, .cvt-banner-wash { position:absolute; inset:0; z-index:-1; pointer-events:none; }
.cvt-banner-media :is(picture,img,video,iframe) { display:block; width:100%; height:100%; margin:0; border:0; border-radius:0; }
.cvt-banner-media :is(img,video) { object-fit:cover; object-position:center; }
.cvt-banner-media video:not([src]), .cvt-banner-media iframe:not([src]) { visibility:hidden; }
.cvt-banner-media iframe { position:absolute; inset:0; }
.cvt-banner-wash { background:linear-gradient(90deg,var(--cvt-banner-wash) 0%,transparent 85%); }
.cvt-banner-copy { width:var(--cvt-banner-copy-width); margin:var(--cvt-banner-padding); position:relative; z-index:1; }
.cvt-banner .cvt-banner-badge { display:inline-block; padding:7px 12px; border-radius:50px; background:var(--cvt-banner-badge-bg); color:var(--cvt-banner-badge-ink); font-size:11px; font-weight:650; line-height:1; margin-bottom:20px; }
.cvt-banner .cvt-banner-title { margin:0 0 14px; padding:0; color:inherit; font-family:Georgia,"Times New Roman",serif; font-size:clamp(26px,3.8vw,48px); font-weight:500; line-height:1.08; letter-spacing:-1.2px; text-transform:none; overflow-wrap:anywhere; }
.cvt-banner .cvt-banner-description { color:inherit; opacity:.78; font-size:15px; line-height:1.55; margin:0 0 24px; padding:0; overflow-wrap:anywhere; }
.cvt-banner .cvt-banner-cta { display:inline-flex; align-items:center; justify-content:space-between; gap:18px; min-height:46px; padding:7px 8px 7px 20px; border-radius:40px; color:var(--cvt-sf-accent); background:var(--cvt-banner-button); font-size:13px; font-weight:650; max-width:100%; }
.cvt-banner-cta-arrow { display:grid; place-items:center; border-radius:50%; min-width:31px; width:31px; height:31px; background:var(--cvt-sf-accent); color:var(--cvt-sf-accent-ink); }
.cvt-banner .cvt-banner-play { position:absolute; right:18px; bottom:18px; border:1px solid rgba(255,255,255,.65); border-radius:50%; width:38px; height:38px; padding:0; display:grid; place-items:center; background:rgba(255,255,255,.85); color:#302820; z-index:2; }
.cvt-banner .cvt-banner-play[hidden] { display:none !important; }
.cvt-banner-navigation { display:flex; justify-content:center; align-items:center; gap:12px; margin:14px 0 0; }
.cvt-banner-dots { display:flex; justify-content:center; gap:6px; }
.cvt-banner-dots button { width:22px; height:26px; padding:10px 4px; background:transparent; border:0; display:flex; justify-content:center; align-items:center; }
.cvt-banner-dots button::before { content:""; display:block; width:6px; height:6px; border-radius:10px; background:#ded6ce; transition:width .2s,background .2s; }
.cvt-banner-dots button[aria-current="true"]::before { width:20px; background:var(--cvt-banner-dot); }
.cvt-banner :is(.cvt-banner-prev,.cvt-banner-next,.cvt-banner-pause) { width:30px; height:30px; min-height:30px; padding:5px; border:0; border-radius:50%; color:var(--cvt-sf-muted); background:transparent; display:grid; place-items:center; }
.cvt-banner-prev svg { transform:rotate(180deg); }
@keyframes cvt-sf-pulse { to { opacity:.25; } }
@media (hover:hover) { .cvt-product-card:hover { box-shadow:0 8px 22px rgba(90,60,35,.1); } .cvt-product-card:hover .cvt-product-media img { transform:scale(1.025); } }
@media (max-width:1024px) { .cvt-storefront { --cvt-sf-columns:3; } .cvt-banner { --cvt-banner-padding:32px; } }
@media (max-width:767px) {
 .cvt-storefront { --cvt-sf-columns:2; --cvt-sf-gap:12px; --cvt-sf-radius:18px; }
 .cvt-showcase .cvt-showcase-heading { margin-bottom:16px; gap:12px; }
 .cvt-showcase-heading h2 { font-size:21px; }
 .cvt-showcase .cvt-showcase-all { font-size:12px; gap:5px; }
 .cvt-showcase-all svg { width:16px; }
 .cvt-product-copy { padding-top:9px; }
 .cvt-showcase .cvt-product-name { font-size:13px; }
 .cvt-product-price { font-size:14px; }
 .cvt-product-description { font-size:11px; }
 .cvt-showcase .cvt-product-add { width:34px; height:34px; min-width:34px; min-height:34px; font-size:24px; }
 .cvt-banner { --cvt-banner-height:340px; --cvt-banner-radius:26px; --cvt-banner-padding:24px; --cvt-banner-copy-width:58%; }
 .cvt-banner .cvt-banner-title { font-size:30px; letter-spacing:-.7px; }
 .cvt-banner .cvt-banner-description { font-size:13px; line-height:1.45; margin-bottom:20px; }
 .cvt-banner .cvt-banner-badge { font-size:10px; padding:6px 9px; margin-bottom:16px; }
 .cvt-banner-copy { max-width:calc(100% - 2*var(--cvt-banner-padding)); }
 .cvt-banner .cvt-banner-cta { gap:10px; padding-left:15px; font-size:12px; }
}
@media (prefers-reduced-motion:reduce) { .cvt-storefront *, .cvt-storefront *::before { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }
