/* Scoped to the homepage carousel. Existing navigation and product sizes stay intact. */
.tm-campaigns{margin-top:0;margin-bottom:52px;min-width:0;color:#201912}
.tm-campaigns *{box-sizing:border-box}
.tm-campaigns [hidden]{display:none!important}
.tm-campaign-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.tm-campaign-viewport{position:relative;border-radius:24px;overflow:hidden;isolation:isolate;touch-action:pan-y}
.tm-campaign-slide{position:relative;min-width:0;background:#f2e4d2;--campaign-fg:#25180e;--campaign-soft:#5e4b3a;--campaign-button:#25180e;--campaign-button-text:#fff;--campaign-bg:#f2e4d2;color:var(--campaign-fg)}
.tm-campaign--orange{--campaign-bg:#ee6909;--campaign-fg:#211208;--campaign-soft:#3d230f;--campaign-button:#211208;background:#ee6909}
.tm-campaign--cream{--campaign-bg:#fff3e1;background:#fff3e1}
.tm-campaign--sand{--campaign-bg:#eadfce;background:#eadfce}
.tm-campaign--blue{--campaign-bg:#e5eeff;--campaign-fg:#122146;--campaign-soft:#30466d;--campaign-button:#122146;background:#e5eeff}
.tm-campaign--dark{--campaign-bg:#20282d;--campaign-fg:#fff;--campaign-soft:#e4e9eb;--campaign-button:#fff;--campaign-button-text:#20282d;background:#20282d}
.tm-campaign-link{position:relative;display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:520px;padding:45px 54px;gap:20px;align-items:center;color:inherit!important;text-decoration:none!important;overflow:hidden}
.tm-campaign-copy{position:relative;z-index:3;min-width:0;max-width:570px;text-align:left}
.tm-campaign-eyebrow{font-size:12px;line-height:1.5;font-weight:800;letter-spacing:.13em;margin:0 0 15px;color:var(--campaign-fg)}
.tm-campaign-title{font-size:clamp(30px,3.6vw,54px);line-height:1.07;letter-spacing:-.045em;font-weight:850;margin:0 0 18px;white-space:pre-line;color:inherit}
.tm-campaign-description{font-size:16px;line-height:1.55;max-width:440px;margin:0 0 16px;color:var(--campaign-soft)}
.tm-campaign-features{display:flex;flex-wrap:wrap;list-style:none;padding:0;margin:0 0 16px;gap:6px}
.tm-campaign-features:empty{display:none}
.tm-campaign-features li{font-size:12px;line-height:1.4;padding:6px 10px;border:1px solid currentColor;border-radius:999px;font-weight:650;color:var(--campaign-fg)}
.tm-campaign-prices{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 12px;margin:0 0 18px}
.tm-campaign-old-price{width:100%;color:var(--campaign-soft);font-size:15px;line-height:1.4}
.tm-campaign-price{font-size:clamp(28px,3vw,40px);line-height:1.15;font-weight:850;letter-spacing:-.035em;color:var(--campaign-fg)}
.tm-campaign-stock{font-size:12px;font-weight:750;line-height:1.4;white-space:nowrap;border-radius:999px;background:#ffffffa6;padding:5px 9px;color:#27372b}
.tm-campaign-cta{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 20px;border-radius:999px;background:var(--campaign-button);color:var(--campaign-button-text);font-size:14px;line-height:1.4;font-weight:750}
.tm-campaign-note{font-size:11px;line-height:1.55;max-width:350px;margin:12px 0 0;color:var(--campaign-soft)}
.tm-campaign-art{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.tm-campaign-art::before{content:"";position:absolute;width:470px;height:470px;border:1px solid #ffffff50;border-radius:50%;right:-30px;top:-40px;box-shadow:0 0 0 45px #ffffff12,0 0 0 90px #ffffff0d}
.tm-campaign-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--campaign-bg) 0%,var(--campaign-bg) 35%,transparent 64%)}
.tm-campaign-background{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.tm-campaign-photos{position:relative;z-index:2;align-self:stretch;min-width:0;min-height:270px;display:flex;align-items:center;justify-content:center;gap:12px}
.tm-campaign-photos:empty{min-height:0}
.tm-campaign-product{display:block;width:61%;max-height:330px;height:auto;aspect-ratio:1/1;object-fit:contain;background:transparent;border-radius:0;padding:0;box-shadow:none}
.tm-campaign-product--2{width:40%;align-self:flex-end;max-height:240px;margin:0 0 25px -15%}
.tm-campaign-accent{position:absolute;z-index:1;right:8%;top:50%;transform:translateY(-50%) rotate(-8deg);font-size:clamp(80px,14vw,180px);font-weight:900;letter-spacing:-.08em;line-height:1;color:#ee6909}
.tm-campaign-accent:empty{display:none}
.tm-campaign-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;margin:12px 0 0;min-width:0}
.tm-campaign-controls button{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font:inherit;border:1px solid #ded8d2;background:#fff;color:#33251a;cursor:pointer;border-radius:50%;padding:0}
.tm-campaign-controls [data-campaign-play]{border-radius:999px;font-size:12px;font-weight:650;padding:0 13px;min-width:100px;margin-left:10px}
.tm-campaign-controls button:disabled{opacity:.65;cursor:default}
.tm-campaign-controls [data-campaign-prev],.tm-campaign-controls [data-campaign-next]{font-size:25px}
.tm-campaign-dots{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0}
.tm-campaign-controls .tm-campaign-dot{border:0;background:transparent;min-width:32px;width:32px;min-height:44px;border-radius:8px}
.tm-campaign-dot::after{content:"";width:7px;height:7px;background:#a99889;border-radius:50%}
.tm-campaign-dot[aria-pressed="true"]::after{width:21px;background:#ee6909;border-radius:999px}
.tm-campaign-counter{font-size:12px;font-weight:600;color:#68584b;min-width:32px;text-align:center;margin:0 5px}
.tm-campaigns a:focus-visible,.tm-campaigns button:focus-visible{outline:3px solid #6d2c00;outline-offset:3px}
.tm-campaign-link:focus-visible{outline-offset:-5px!important}
@media(min-width:761px){.tm-campaign-slide:not([hidden]) .tm-campaign-copy{animation:tm-campaign-appear .25s ease-out}.tm-campaign-controls button:hover{background:#fff5eb}}
@keyframes tm-campaign-appear{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:1000px){.tm-campaign-link{padding:34px;min-height:520px}.tm-campaign-title{font-size:38px}.tm-campaign-description{font-size:15px}}
@media(max-width:760px){
 .tm-campaigns{margin-bottom:32px}.tm-campaign-viewport{border-radius:20px}
 .tm-campaign-link{display:flex!important;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:14px;min-height:650px;padding:27px 24px 20px}
 .tm-campaign-copy{max-width:none}.tm-campaign-eyebrow{font-size:10px;letter-spacing:.11em;margin-bottom:11px}
 .tm-campaign-title{font-size:32px;line-height:1.08;letter-spacing:-.04em;margin-bottom:13px}
 .tm-campaign-description{font-size:14px;line-height:1.5;max-width:480px;margin-bottom:12px}
 .tm-campaign-features{gap:5px;margin-bottom:12px}.tm-campaign-features li{font-size:11px;padding:5px 8px}
 .tm-campaign-price{font-size:30px}.tm-campaign-old-price{font-size:13px}.tm-campaign-prices{gap:4px 10px;margin-bottom:14px}
 .tm-campaign-cta{min-height:44px;font-size:13px;padding:10px 18px}
 .tm-campaign-photos{align-self:stretch;flex:1;min-height:170px;max-height:220px;justify-content:center;margin-top:2px}
 .tm-campaign-product{width:auto;max-width:62%;height:190px;max-height:100%;padding:0;border-radius:0}
 .tm-campaign-product--2{height:145px;max-width:43%;margin:0 0 5px -8%;align-self:flex-end}
 .tm-campaign-art::after{background:linear-gradient(180deg,var(--campaign-bg) 0%,var(--campaign-bg) 42%,transparent 80%)}
 .tm-campaign-background{object-position:70% center}.tm-campaign-art::before{top:auto;bottom:-70px;right:-170px;width:390px;height:390px}
 .tm-campaign-accent{top:auto;bottom:36px;right:15%;transform:rotate(-8deg);font-size:120px}
 .tm-campaign-note{font-size:10px;max-width:100%;line-height:1.5}
 .tm-campaign-controls{gap:2px 4px}.tm-campaign-controls [data-campaign-play]{margin-left:0}.tm-campaign-counter{display:none}
 .tm-campaign-controls .tm-campaign-dot{width:28px;min-width:28px}
}
@media(max-width:359px){.tm-campaign-link{padding:24px 19px 18px;min-height:690px}.tm-campaign-title{font-size:30px}.tm-campaign-price{font-size:28px}.tm-campaign-controls [data-campaign-play]{flex-basis:110px}.tm-campaign-product{height:165px}.tm-campaign-product--2{height:135px}}
@media(prefers-reduced-motion:reduce){.tm-campaigns *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.tm-campaign--midnight{--campaign-bg:#071523;--campaign-fg:#fff;--campaign-soft:#d8e7f5;--campaign-button:#fff;--campaign-button-text:#071523;background:#071523}
.tm-campaign-product:only-child{width:72%;max-height:365px}
.tm-campaign--midnight .tm-campaign-product{background:transparent;box-shadow:none;padding:0;max-height:380px;height:380px;width:auto;max-width:90%;aspect-ratio:auto}
@media(max-width:760px){.tm-campaign-product:only-child{width:auto;height:210px;max-width:85%;max-height:220px}.tm-campaign--midnight .tm-campaign-product{height:220px;max-height:220px;max-width:90%}}

/* DualSense color options are distinct links with live SKU prices. */
.tm-campaign-link--collection{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.tm-campaign-variants{position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0}
.tm-campaign-variant{display:flex;flex-direction:column;align-items:center;min-width:0;padding:12px 10px;text-align:center;color:var(--campaign-fg)!important;text-decoration:none!important;border:1px solid #ffffff30;border-radius:16px;background:#07152355}
.tm-campaign-variant-image{display:block;width:100%;height:100px;object-fit:contain;margin-bottom:8px}
.tm-campaign-variant-name{font-size:14px;line-height:1.3;margin-bottom:5px;overflow-wrap:anywhere}
.tm-campaign-variant-old{font-size:13px;line-height:1.4;color:var(--campaign-soft)}
.tm-campaign-variant-price{font-size:24px;line-height:1.25;font-weight:850;letter-spacing:-.035em;max-width:100%;overflow-wrap:anywhere;white-space:normal}
.tm-campaign-variant-cta{font-size:12px;line-height:1.4;margin-top:7px;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.tm-campaign-link--collection{min-height:650px}.tm-campaign-variants{gap:10px;margin-top:4px}.tm-campaign-variant{padding:10px 7px;border-radius:12px}.tm-campaign-variant-image{height:78px;margin-bottom:6px}.tm-campaign-variant-name{font-size:12px}.tm-campaign-variant-cta{font-size:11px}}
