/* VANILLA retail campaign system. Independent styling and content; no third-party assets. */
.vanilla-store{--v-ivory:#fff6e7;--v-ink:#000;--v-muted:#5a5248;--v-border:rgba(0,0,0,.17);--v-stage:#e7ddd0}
.vanilla-store .vanilla-announcement{min-height:35px!important;background:#0b0b0b!important;letter-spacing:.16em!important}
.vanilla-store .u-header,.vanilla-store .u-header.is-solid{position:sticky!important;top:0!important;z-index:100!important;background:var(--v-ivory)!important;border-bottom:1px solid var(--v-border)!important}
.vanilla-store .u-header__main{min-height:78px!important;max-width:none!important;grid-template-columns:minmax(146px,220px) 1fr auto!important;gap:clamp(15px,2.3vw,38px)!important;padding:0 clamp(17px,2.8vw,58px)!important}
.vanilla-store .u-brand{max-width:240px!important;justify-self:start!important}
.vanilla-store .u-departments{justify-content:flex-start!important;gap:clamp(14px,2.1vw,38px)!important}
.vanilla-store .u-departments a{font-size:13px!important;font-weight:750!important;letter-spacing:.015em!important;text-transform:uppercase!important;padding:28px 0!important;white-space:nowrap}
.vanilla-store .u-departments a:hover{text-underline-offset:9px!important}
.vanilla-store .u-actions{gap:clamp(9px,1.2vw,22px)!important}
.vanilla-store .u-actions .u-action span{font-size:10px!important;font-weight:700!important;letter-spacing:.015em!important}
.vanilla-store .u-v3-search{width:clamp(130px,12vw,220px)!important}
.vanilla-store .recipe-page{padding-top:0!important}
.vanilla-store .vanilla-campaign{min-height:clamp(590px,67vw,850px);max-height:1000px;position:relative;isolation:isolate;overflow:hidden;background:var(--v-stage);display:flex;align-items:flex-end}
.vanilla-campaign__visual,.vanilla-campaign__veil{position:absolute;inset:0;pointer-events:none}
.vanilla-campaign__visual img{width:100%;height:100%;object-fit:cover;object-position:center 31%;display:block}
.vanilla-campaign__veil{z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.19) 55%,transparent),linear-gradient(0deg,rgba(0,0,0,.2),transparent 55%)}
.vanilla-campaign__copy{position:relative;z-index:2;width:min(750px,70%);margin:0 0 clamp(72px,9vw,128px) clamp(24px,6.3vw,105px);color:#fff}
.vanilla-campaign__eyebrow{font-size:clamp(10px,1vw,13px);letter-spacing:.24em;line-height:1.5;font-weight:800;text-transform:uppercase;margin:0 0 14px}
.vanilla-store .vanilla-campaign h1{font-family:Arial,Helvetica,sans-serif!important;font-size:clamp(65px,9.2vw,148px)!important;line-height:.9!important;letter-spacing:-.082em!important;font-weight:900!important;text-transform:uppercase!important;max-width:780px!important;margin:0!important;color:inherit!important;text-wrap:balance}
.vanilla-campaign__description{font-size:clamp(14px,1.38vw,20px);font-weight:500;line-height:1.5;max-width:450px;margin:23px 0 26px;letter-spacing:-.015em}
.vanilla-campaign__actions{display:flex;flex-wrap:wrap;align-items:center;gap:11px}
.vanilla-campaign__actions a{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-width:155px;min-height:49px;padding:14px 20px;background:white!important;color:#000!important;border:1px solid #fff;text-transform:uppercase;text-decoration:none!important;font-size:12px;font-weight:800;letter-spacing:.025em;transition:background .18s,color .18s,border-color .18s}
.vanilla-campaign__actions a:hover{background:#000!important;color:white!important;border-color:#000}
.vanilla-campaign__index{position:absolute;z-index:2;right:clamp(22px,4vw,68px);bottom:35px;color:inherit;font-size:12px;letter-spacing:.12em;font-weight:700}
.vanilla-store .vanilla-campaign--photographic{color:#fff}
.vanilla-store .vanilla-campaign--typographic{background:#d8ccb9;color:#0c0c0c}
.vanilla-store .vanilla-campaign--typographic .vanilla-campaign__veil{background:linear-gradient(90deg,rgba(255,246,231,.92),rgba(255,246,231,.55) 46%,transparent)}
.vanilla-store .vanilla-campaign--typographic .vanilla-campaign__copy{color:#000}
.vanilla-store .vanilla-campaign--typographic .vanilla-campaign__actions a{background:#000!important;color:var(--v-ivory)!important;border-color:#000}
.vanilla-store .vanilla-campaign--typographic .vanilla-campaign__actions a:hover{background:var(--v-ivory)!important;color:#000!important}
.vanilla-campaign__editorial-art{position:absolute;inset:0;background:radial-gradient(circle at 78% 36%,#f8eddc 0 10%,transparent 11%),linear-gradient(129deg,#eadfcd 0 33%,#c2b4a0 33% 53%,#dfd0bd 53% 77%,#b19f89 77% 100%);overflow:hidden}
.vanilla-campaign__monogram{position:absolute;right:clamp(-20px,1vw,20px);top:48%;transform:translateY(-50%) rotate(-7deg);font-family:Arial,Helvetica,sans-serif;font-size:clamp(290px,47vw,820px);font-weight:950;line-height:.7;letter-spacing:-.14em;color:rgba(0,0,0,.2);user-select:none}
.vanilla-campaign__vertical{position:absolute;top:8%;right:3.4%;writing-mode:vertical-rl;color:rgba(0,0,0,.7);font-size:10px;letter-spacing:.34em;font-weight:800}
.vanilla-campaign__art-foot{position:absolute;bottom:27px;left:52%;font-weight:800;font-size:10px;letter-spacing:.2em;color:rgba(0,0,0,.65)}
.vanilla-campaign-categories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;min-height:93px;background:var(--v-ivory);border-bottom:1px solid var(--v-border)}
.vanilla-campaign-categories a{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:26px clamp(14px,3vw,50px);border-right:1px solid var(--v-border);font-size:clamp(12px,1.2vw,17px);font-weight:800;color:var(--v-ink)!important;text-decoration:none!important;transition:background .2s}
.vanilla-campaign-categories a:last-child{border-right:0}
.vanilla-campaign-categories a:hover{background:#e6dbc9}
.vanilla-campaign-categories a span:first-child{font-size:10px;font-weight:700;opacity:.6;letter-spacing:.12em}
.vanilla-campaign-categories a span:last-child{margin-left:auto;font-size:18px}
.vanilla-launch{padding:clamp(48px,7vw,102px) clamp(16px,3vw,54px) clamp(50px,7vw,100px);max-width:1750px;margin:auto}
.vanilla-launch__head{max-width:750px;margin:0 auto clamp(29px,4vw,62px);text-align:center}
.vanilla-launch__head h2{color:#050505;font-size:clamp(44px,6vw,91px);letter-spacing:-.074em;line-height:.97;font-weight:900;margin:0 0 25px}
.vanilla-launch__head>p:last-child{font-size:clamp(15px,1.5vw,19px);color:var(--v-muted);line-height:1.65;margin:0 auto;max-width:540px}
.vanilla-launch__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,2vw,27px)}
.vanilla-launch__tile{position:relative;display:flex;flex-direction:column;min-height:clamp(350px,38vw,610px);padding:clamp(22px,4vw,60px);justify-content:space-between;overflow:hidden;text-decoration:none!important;background:#d7c9b5;color:#000!important}
.vanilla-launch__tile:before{content:"V";position:absolute;right:-10%;bottom:-26%;font-size:clamp(380px,54vw,830px);font-family:Arial,sans-serif;line-height:.8;letter-spacing:-.12em;font-weight:950;color:rgba(0,0,0,.065);transform:rotate(-12deg);pointer-events:none}
.vanilla-launch__tile--dark{background:#161616;color:#fff6e7!important}
.vanilla-launch__tile--dark:before{color:rgba(255,246,231,.08)}
.vanilla-launch__tile>span:first-child{font-size:10px;letter-spacing:.18em;font-weight:800}
.vanilla-launch__tile strong{font-size:clamp(30px,4vw,64px);line-height:1.03;letter-spacing:-.055em;max-width:630px;z-index:1}
.vanilla-launch__tile-link{border-bottom:1px solid currentColor;padding-bottom:7px;align-self:flex-start;text-transform:uppercase;font-weight:800;font-size:11px;letter-spacing:.06em;z-index:1}
.vanilla-store .recipe-editorial,.vanilla-store .recipe-story{scroll-margin-top:100px}
.vanilla-store .recipe-story{padding:clamp(40px,6vw,85px) 16px!important}
.vanilla-store .u-footer{padding-top:clamp(30px,4vw,60px)}
@media(max-width:1200px){
  .vanilla-store .u-header__main{grid-template-columns:minmax(130px,190px) 1fr auto!important}
  .vanilla-store .u-departments{gap:18px!important}
  .vanilla-store .u-departments a{font-size:12px!important}
  .vanilla-store .u-v3-search{display:none!important}
}
@media(max-width:850px){
  .vanilla-store .u-header{position:sticky!important;top:0!important}
  .vanilla-store .u-header__main{min-height:65px!important;grid-template-columns:minmax(110px,180px) 1fr auto!important;padding:0 15px!important}
  .vanilla-store .u-departments{display:none!important}
  .vanilla-store .vanilla-campaign{min-height:720px;max-height:none;align-items:flex-end}
  .vanilla-campaign__copy{width:auto;max-width:90%;margin:0 22px 80px}
  .vanilla-store .vanilla-campaign h1{font-size:clamp(50px,11vw,97px)!important;max-width:700px!important}
  .vanilla-campaign__visual img{object-position:60% center}
  .vanilla-campaign__monogram{font-size:clamp(350px,75vw,650px);right:-10%;top:35%}
  .vanilla-store .vanilla-campaign--typographic .vanilla-campaign__veil{background:linear-gradient(0deg,#fff6e7 0,rgba(255,246,231,.9) 30%,transparent 72%)}
  .vanilla-campaign__art-foot{display:none}
  .vanilla-campaign-categories{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vanilla-campaign-categories a{min-height:72px;padding:16px 20px;border-bottom:1px solid var(--v-border);font-size:14px}
  .vanilla-launch__grid{gap:12px}
}
@media(max-width:560px){
  .vanilla-store .vanilla-campaign{min-height:680px}
  .vanilla-campaign__copy{max-width:none;margin:0 17px 74px}
  .vanilla-store .vanilla-campaign h1{font-size:clamp(48px,14vw,72px)!important;letter-spacing:-.075em!important}
  .vanilla-campaign__description{max-width:315px;font-size:14px}
  .vanilla-campaign__actions a{min-width:0;flex:1 1 130px;gap:12px;padding:14px 15px;font-size:11px}
  .vanilla-campaign__index{right:20px;bottom:25px}
  .vanilla-campaign-categories a{padding:17px 13px;font-size:12px;gap:6px}
  .vanilla-campaign-categories a span:first-child{font-size:9px}
  .vanilla-launch{padding:58px 14px}
  .vanilla-launch__head h2{font-size:48px}
  .vanilla-launch__grid{grid-template-columns:1fr}
  .vanilla-launch__tile{min-height:350px;padding:28px}
  .vanilla-launch__tile strong{font-size:40px}
}
@media(prefers-reduced-motion:reduce){.vanilla-store .vanilla-campaign *,.vanilla-launch__tile{transition:none!important;animation:none!important}}

/* Fashion-category mega navigation. Content is derived only from Vanilla's own catalog. */
.vanilla-store .u-departments .vanilla-nav-entry{display:flex;align-items:center;position:static}
.vanilla-store .u-departments .vanilla-nav-entry>a{display:flex;align-items:center;min-height:76px}
.vanilla-store .vanilla-mega{position:absolute;top:100%;left:0;right:0;z-index:120;background:var(--v-ivory);color:var(--v-ink);border-block:1px solid var(--v-border);box-shadow:0 18px 30px rgba(0,0,0,.12);visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-7px);transition:opacity .18s ease,transform .18s ease,visibility .18s}
.vanilla-store .vanilla-nav-entry:hover>.vanilla-mega,.vanilla-store .vanilla-nav-entry:focus-within>.vanilla-mega{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}
.vanilla-store .vanilla-mega__columns{display:grid;grid-template-columns:1fr minmax(240px,32%);max-width:1440px;margin:auto;gap:clamp(28px,5vw,90px);padding:30px clamp(20px,4vw,65px);max-height:min(75vh,640px);overflow-y:auto}
.vanilla-store .vanilla-mega__column{columns:2;column-gap:clamp(16px,3vw,55px)}
.vanilla-store .vanilla-mega__column h2{column-span:all;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--v-muted);margin:0 0 18px;font-weight:800}
.vanilla-store .vanilla-mega__column a{display:block!important;min-height:0!important;padding:7px 0!important;font-size:14px!important;font-weight:650!important;letter-spacing:0!important;text-transform:none!important;break-inside:avoid}
.vanilla-store .vanilla-mega__column a:hover{text-decoration:underline!important;text-underline-offset:3px!important}
.vanilla-store .vanilla-mega__editorial{display:flex;flex-direction:column;justify-content:space-between;gap:30px;min-height:285px;background:#151515;color:var(--v-ivory);padding:clamp(23px,3vw,45px)}
.vanilla-mega__editorial>span{font-size:10px;letter-spacing:.2em;font-weight:800}
.vanilla-mega__editorial>strong{font-size:clamp(25px,3vw,47px);line-height:1;letter-spacing:-.055em;font-weight:900}
.vanilla-store .vanilla-mega__editorial>a{font-size:11px!important;font-weight:800!important;color:var(--v-ivory)!important;letter-spacing:.04em!important;text-transform:uppercase!important;padding:0!important;min-height:0!important;align-self:flex-start;text-decoration:underline!important;text-underline-offset:5px}
@media(max-width:850px){.vanilla-store .vanilla-mega{display:none!important}.vanilla-store .u-departments .vanilla-nav-entry>a{min-height:0}}


/* Vanilla Retail brand fidelity: original supplied BLACK wordmark on #FFF6E7.
   The same exact SVG is used throughout; never invert/recolor the logo. */
body.vanilla-store.recipe-store--uniqlo-v3 .u-header .u-brand img.vanilla-brand__logo,
body.vanilla-store.recipe-store--uniqlo-v3 .u-header.is-solid .u-brand img.vanilla-brand__logo,
body.vanilla-store.recipe-store--uniqlo-v3 .u-header.u-header--overlay .u-brand img.vanilla-brand__logo,
body.vanilla-store .u-drawer .vanilla-drawer-brand__logo,
body.vanilla-store .u-footer img.u-footer__logo{
  filter:none!important;
  -webkit-filter:none!important;
  mix-blend-mode:normal!important;
  opacity:1!important
}
body.vanilla-store.recipe-store--uniqlo .u-footer,
body.vanilla-store.recipe-store--uniqlo-v3 .u-footer{
  background:#fff6e7!important;
  color:#000!important;
  border-top:1px solid rgba(0,0,0,.16)!important
}
body.vanilla-store.recipe-store--uniqlo .u-footer__main{
  background:#fff6e7!important;
  color:#000!important
}
body.vanilla-store.recipe-store--uniqlo .u-footer :is(a,p,span,small,h3,strong,li),
body.vanilla-store.recipe-store--uniqlo-v3 .u-footer :is(a,p,span,small,h3,strong,li){
  color:#000!important
}
body.vanilla-store.recipe-store--uniqlo .u-footer .u-footer__intro{
  color:#463e35!important
}
body.vanilla-store.recipe-store--uniqlo .u-footer__bottom,
body.vanilla-store.recipe-store--uniqlo-v3 .u-footer__bottom{
  background:#fff6e7!important;
  color:#000!important;
  border-top:1px solid rgba(0,0,0,.17)!important
}
body.vanilla-store.recipe-store--uniqlo .u-footer__bottom a:hover,
body.vanilla-store.recipe-store--uniqlo .u-footer a:hover{
  text-decoration:underline!important;
  text-underline-offset:4px
}
body.vanilla-store .u-footer img.u-footer__logo{
  display:block!important;
  width:clamp(170px,19vw,238px)!important;
  max-width:238px!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:left center!important;
  background:transparent!important
}
@media(max-width:850px){
  body.vanilla-store .u-footer img.u-footer__logo{
    width:clamp(170px,48vw,220px)!important
  }
  body.vanilla-store.recipe-store--uniqlo .u-footer__main{
    width:calc(100% - 36px)!important
  }
}

/* Match the viewport and Safari safe area to the Vanilla cream footer. The
   flex column also pushes the footer to the bottom of short pages. */
html{background-color:#fff6e7}
body.vanilla-store{
  margin:0!important;
  min-height:100vh;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
  background:#fff6e7!important
}
body.vanilla-store > [data-barba="wrapper"]{flex:1 0 auto;min-width:0}
body.vanilla-store > .u-footer{
  flex-shrink:0;
  margin-bottom:0!important;
  padding-bottom:env(safe-area-inset-bottom,0px);
  background:#fff6e7!important
}
