/* Product browsing and scheduled campaigns, exclusive to the V2 storefront. */
.v2-rail-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:22px; }
.v2-rail-heading h2 { margin:4px 0 0; color:var(--v2-navy); font-size:25px; letter-spacing:-.6px; line-height:1.2; }
.v2-rail-eyebrow { font-size:12px; color:#606873; }
.v2-rail-heading h2::before { content:""; display:inline-block; width:24px; height:3px; margin:0 12px 7px 0; background:var(--v2-orange); }
.v2-rail-controls { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.v2-rail-controls button { display:flex; align-items:center; justify-content:center; width:40px; height:40px; border:1px solid #dedede; border-radius:50%; background:#fff; color:#333; font-size:22px; }
.v2-rail-controls button:hover { border-color:var(--v2-orange); color:#f78400; }
.v2-rail-controls button[aria-disabled=true] { opacity:.35; cursor:default; }
.v2-rail-position { min-width:68px; padding-right:8px; color:#606873; font-size:12px; text-align:right; font-variant-numeric:tabular-nums; }
.v2-rail-track { --rail-columns:4; --rail-gap:18px; display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - (var(--rail-columns) - 1) * var(--rail-gap)) / var(--rail-columns)); gap:var(--rail-gap); overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-padding-inline:0; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:#c7c7c7 transparent; padding:4px 0 12px; }
.v2-rail-track::-webkit-scrollbar { height:4px; }
.v2-rail-track::-webkit-scrollbar-thumb { background:#c7c7c7; border-radius:4px; }
.v2-js .v2-rail-track { scrollbar-width:none; }
.v2-js .v2-rail-track::-webkit-scrollbar { display:none; }
.v2-rail-track.is-moving { scroll-snap-type:none; }
.v2-rail-track>.v2-product-card { min-width:0; scroll-snap-align:start; display:flex; flex-direction:column; }
.v2-rail-track .v2-product-visual { height:205px; }
.v2-rail-track .v2-product-copy { display:flex; flex-direction:column; flex:1; }
.v2-rail-track .v2-product-copy h3 { margin-bottom:18px; }
.v2-rail-track .v2-product-bottom { margin-top:auto; }
.v2-product-rail { border-block:1px solid #e5e5e5; }
.v2-business { background:linear-gradient(19deg,#f2f3f3,#dedede); color:#333; }
.v2-business-heading>div>span, .v2-business h2, .v2-business p, .v2-business ul { color:#333; }
.v2-business p, .v2-business ul { color:#333; }
.v2-business-icon { background:#ffffffc7; }
.v2-business .v2-button-primary { background:#333; border-color:#333; color:#fff; }
.v2-business .v2-button-primary:hover { background:#232f3e; border-color:#232f3e; }
.v2-business .v2-button-outline { background:#fff; border-color:#fff; color:#333; }
.v2-business .v2-button-outline:hover { background:#f2f3f3; border-color:#333; }
.v2-business li i { background:#333; color:#fff; }
#produtos-v2 { background:#f2f3f3; }
#procurados-v2 { background:#fff; }
#novidades-v2 { background:#f2f3f3; }
.v2-campaigns { padding:22px 0 30px; background:#fff; }
.v2-campaign-grid { align-items:stretch; gap:20px; }
.v2-campaign-slot { min-width:0; display:flex; }
.v2-campaign-slot>.v2-campaign { width:100%; margin:0; padding:28px; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:16px; align-items:center; min-height:325px; border:1px solid #e5e5e5; border-radius:12px; }
.v2-campaign-slot .v2-campaign-copy { width:auto; min-width:0; }
.v2-campaign-tone-0 { color:#333; background:linear-gradient(120deg,#f2f3f3,#f2f3f3); }
.v2-campaign-tone-1 { color:#333; background:linear-gradient(120deg,#eceef0,#f2f3f3); }
.v2-campaign-label { display:inline-block; color:#f78400; font-size:10px!important; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.v2-campaign-slot h2 { margin:10px 0 12px; font-size:22px; line-height:1.23; letter-spacing:-.5px; overflow-wrap:anywhere; }
.v2-campaign-copy>p { margin:0 0 12px; font-size:13px; line-height:1.6; color:#606873; }
.v2-campaign-slot .v2-campaign-visual { display:flex; align-items:center; justify-content:center; width:100%; height:210px; padding:12px; border-radius:10px; background:#fff; }
.v2-campaign-slot .v2-campaign-visual img { position:static; width:100%; height:100%; object-fit:contain; filter:none; }
.v2-campaign-new-price { display:block; margin:0 0 18px; font-size:19px; color:#f78400; }
.v2-campaign-slot .v2-campaign-cta { display:inline-flex; align-items:center; gap:10px; min-height:40px; padding:10px 14px; border-radius:5px; background:var(--v2-orange); color:#fff; font-size:12px; font-weight:700; }
.v2-campaign-promotion { color:#fff; background:#333; border-color:#333!important; }
.v2-campaign-promotion .v2-campaign-label { color:#f78400; }
.v2-campaign-preview-notice { margin-bottom:20px; padding:16px 20px; border:1px solid #f78400; border-radius:8px; background:#f2f3f3; color:#333; font-size:13px; }
.v2-campaign-preview-notice p { margin:7px 0; line-height:1.5; }
.v2-campaign-preview-notice a { color:#f78400; text-decoration:underline; }
.v2-campaign-preview-badge { display:block; width:fit-content; margin:10px 0; padding:5px 8px; border:1px solid #ffffff55; border-radius:4px; color:#fff; font-size:10px; }
.v2-scheduled-campaign .v2-campaign-saving { color:#f78400; font-size:12px; line-height:1.5; }
.v2-campaign-slot>.v2-campaign-flash { grid-template-columns:minmax(0,1fr); background:radial-gradient(ellipse at right top,#f78400,transparent 68%),#333; }
.v2-campaign-flash .v2-campaign-label { color:#f78400; }
.v2-flash-percentage { margin:10px 0 12px; color:#fff; font-size:68px; line-height:1; font-weight:800; letter-spacing:-3px; }
.v2-flash-percentage>span { font-size:36px; letter-spacing:-1px; }
.v2-flash-percentage>small { display:block; margin-top:8px; font-size:14px; line-height:1.4; letter-spacing:0; font-weight:400; }
.v2-campaign-copy>.v2-campaign-explanation { color:#e5e5e5; }
.v2-campaign-terms { margin:12px 0; color:#e5e5e5; font-size:12px; line-height:1.5; }
.v2-campaign-terms summary { cursor:pointer; min-height:30px; }
.v2-campaign-terms p { margin:6px 0 12px; }
.v2-campaign-copy>.v2-campaign-disclaimer { margin:12px 0 16px; padding-left:10px; border-left:2px solid #f78400; color:#eceef0; font-size:11px; }
.v2-scheduled-campaign a:focus-visible,.v2-scheduled-campaign summary:focus-visible { outline:3px solid #f78400; outline-offset:3px; }
.v2-campaign-prices { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; margin:8px 0 14px; }
.v2-campaign-prices strong { font-size:23px; color:#fff; }
.v2-campaign-prices del { font-size:13px; color:#c7c7c7; }
.v2-countdown { display:flex; gap:6px; margin:0 0 12px; }
.v2-countdown>span { display:flex; flex:1; flex-direction:column; min-width:0; max-width:56px; padding:8px 4px; border:1px solid #ffffff28; border-radius:6px; text-align:center; background:#ffffff0c; }
.v2-countdown b { font-size:20px; line-height:1; font-variant-numeric:tabular-nums; }
.v2-countdown small { margin-top:6px; color:#c7c7c7; font-size:9px; text-transform:uppercase; }
.v2-campaign-copy .v2-campaign-deadline { color:#c7c7c7; font-size:10px; line-height:1.5; }
.v2-brand-marquee { overflow:hidden; padding:12px 0; mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent); }
.v2-brand-belt { display:flex; width:max-content; }
.v2-brand-group { display:flex; align-items:center; gap:16px; flex-shrink:0; padding-right:16px; }
.v2-brand-item { display:flex; justify-content:center; align-items:center; flex:0 0 156px; width:156px; height:82px; padding:15px; border:1px solid #e5e5e5; border-radius:8px; color:#333; font-size:22px; font-weight:700; letter-spacing:-.5px; background:#fff; }
.v2-brand-item img { display:block; width:100%; height:48px; object-fit:contain; }
.v2-brand-item:hover { border-color:#f78400; color:#f78400; }
.v2-brand-marquee.is-running .v2-brand-belt { animation:v2-brands-marquee var(--v2-brand-duration,45s) linear infinite; }
@keyframes v2-brands-marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }
/* A focused link must remain stationary and reachable by keyboard. */
.v2-brand-marquee:focus-within { overflow-x:auto; mask-image:none; }
.v2-brand-marquee:focus-within .v2-brand-belt { animation:none; transform:none; }
@media(max-width:1023px) {
    .v2-rail-track { --rail-columns:3; --rail-gap:16px; }
    .v2-campaign-slot>.v2-campaign { padding:22px; gap:12px; }
    .v2-campaign-slot h2 { font-size:20px; }
    .v2-campaign-slot .v2-campaign-visual { height:180px; }
}
@media(max-width:760px) {
    .v2-rail-track { --rail-columns:2; --rail-gap:14px; }
    .v2-rail-heading { align-items:center; gap:12px; }
    .v2-rail-heading h2 { font-size:22px; }
    .v2-rail-heading h2::before { display:none; }
    .v2-rail-position { display:none; }
    .v2-rail-controls { gap:5px; }
    .v2-rail-controls button { width:36px; height:36px; }
    .v2-rail-track .v2-product-visual { height:185px; }
    .v2-campaign-slot>.v2-campaign { min-height:290px; }
    .v2-brand-item { flex-basis:138px; width:138px; height:74px; font-size:20px; }
}
@media(max-width:479px) {
    .v2-rail-track { --rail-columns:2; --rail-gap:10px; }
    .v2-rail-track .v2-product-visual { height:145px; padding:10px; }
    .v2-rail-track .v2-product-copy { padding:0 9px 10px; }
    .v2-rail-track .v2-product-bottom { flex-direction:row; align-items:center; flex-wrap:wrap; gap:6px; }
    .v2-rail-track .v2-product-bottom strong { font-size:13px; }
    .v2-rail-track .v2-product-action { flex-shrink:0; }
    .v2-rail-heading h2 { font-size:20px; }
    .v2-rail-eyebrow { font-size:11px; }
    .v2-campaign-slot>.v2-campaign { grid-template-columns:minmax(0,1fr); padding:22px; gap:18px; }
    .v2-campaign-slot .v2-campaign-visual { height:180px; grid-row:1; }
    .v2-campaign-slot h2 { font-size:23px; }
    .v2-campaign-copy>p { font-size:13px; }
    .v2-campaign-new-price { font-size:20px; }
}
@media(prefers-reduced-motion:reduce) {
    .v2-brand-marquee { overflow-x:auto; mask-image:none; }
    .v2-brand-marquee.is-running .v2-brand-belt { animation:none; }
    .v2-brand-group[aria-hidden=true] { display:none; }
}
