:root{
  --ps-pink:#ae5283;
  --ps-pink-dark:#8d3e69;
  --ps-pink-soft:#f6e8f0;
  --ps-blue:#3954a4;
  --ps-orange:#ff9364;
  --ps-ink:#1d1d1b;
  --ps-muted:#6e676b;
  --ps-surface:#fff;
  --ps-background:#faf7f8;
  --ps-line:#eadde4;
  --ps-header-height:76px;
}

body.has-brand-shell.brand-popsushi{
  margin:0;
  padding-top:var(--ps-header-height);
  background:var(--ps-background);
  color:var(--ps-ink);
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
}

body.has-brand-shell.brand-popsushi.is-brand-menu-open{overflow:hidden}

.ps-header,
.ps-header *,
.ps-footer,
.ps-footer *{box-sizing:border-box}

.ps-header{
  position:fixed;
  z-index:9999;
  top:0;
  left:0;
  right:0;
  min-height:var(--ps-header-height);
  border-bottom:1px solid rgba(29,29,27,.08);
  background:rgba(255,255,255,.97);
  box-shadow:0 10px 30px rgba(39,25,33,.08);
  color:var(--ps-ink);
  backdrop-filter:blur(14px);
}

.ps-header__inner{
  display:grid;
  width:min(1440px,100%);
  min-height:var(--ps-header-height);
  margin:0 auto;
  padding:10px clamp(18px,4vw,58px);
  grid-template-columns:minmax(150px,210px) minmax(320px,1fr) auto;
  align-items:center;
  gap:clamp(20px,3vw,48px);
}

.ps-header a,
.ps-footer a{color:inherit;text-decoration:none}

.ps-header__brand{display:inline-flex;align-items:center;width:min(190px,100%)}
.ps-header__brand img{display:block;width:100%;height:auto;max-height:54px;object-fit:contain;object-position:left center}

.ps-header__nav{display:flex;align-items:center;justify-content:center;gap:clamp(19px,2.4vw,38px)}
.ps-header__nav a{position:relative;color:var(--ps-ink);font-size:14px;font-weight:650;white-space:nowrap}
.ps-header__nav a::after{position:absolute;right:0;bottom:-8px;left:0;height:2px;border-radius:999px;background:var(--ps-pink);content:"";transform:scaleX(0);transform-origin:center;transition:transform .18s ease}
.ps-header__nav a:hover::after,
.ps-header__nav a:focus-visible::after{transform:scaleX(1)}

.ps-header__actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.ps-header__instagram{display:grid;width:48px;height:48px;place-items:center;border-radius:12px;color:var(--ps-pink);transition:background .18s ease,transform .18s ease}
.ps-header__instagram:hover{background:var(--ps-pink-soft);transform:translateY(-1px)}
.ps-header__instagram svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.9}

.ps-header__button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;gap:8px;padding:0 22px;border:2px solid var(--ps-pink);border-radius:10px;font-size:14px;font-weight:750;line-height:1;white-space:nowrap;transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}
.ps-header__button-icon,
.ps-mobile-menu__button-icon{position:relative;display:block;width:28px;height:28px;flex:0 0 28px;overflow:hidden;border-radius:10px;background:#fff}
.ps-header__button-icon img,
.ps-mobile-menu__button-icon img{position:absolute;top:50%;left:50%;display:block;width:174%;height:174%;max-width:none;object-fit:contain;transform:translate(-50%,-37%)}
.ps-header__button:hover{transform:translateY(-1px)}
.ps-header__button--secondary{color:var(--ps-pink);background:#fff}
.ps-header__button--secondary:hover{color:var(--ps-pink-dark);background:var(--ps-pink-soft)}
.ps-header__button--primary{color:#fff;background:var(--ps-pink);box-shadow:0 7px 18px rgba(174,82,131,.22)}
.ps-header__button--primary:hover{border-color:var(--ps-pink-dark);color:#fff;background:var(--ps-pink-dark);box-shadow:0 10px 24px rgba(174,82,131,.29)}
/* Le CTA rose conserve un texte blanc dans tous ses etats. */
a.ps-header__button.ps-header__button--primary,
a.ps-header__button.ps-header__button--primary:visited,
a.ps-header__button.ps-header__button--primary:hover,
a.ps-header__button.ps-header__button--primary:focus-visible,
a.ps-header__button.ps-header__button--primary:active{color:#fff !important;}

.ps-header__menu-button{display:none;width:48px;height:48px;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:1px solid var(--ps-line);border-radius:12px;background:#fff;color:var(--ps-ink);cursor:pointer}
.ps-header__menu-button span{display:block;width:22px;height:2px;border-radius:999px;background:currentColor;transition:transform .18s ease,opacity .18s ease}
.is-brand-menu-open .ps-header__menu-button span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.is-brand-menu-open .ps-header__menu-button span:nth-child(2){opacity:0}
.is-brand-menu-open .ps-header__menu-button span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.ps-mobile-menu{position:fixed;z-index:-1;top:var(--ps-header-height);right:0;left:0;max-height:calc(100svh - var(--ps-header-height));padding:18px;overflow:auto;border-top:1px solid var(--ps-line);background:#fff;box-shadow:0 22px 50px rgba(39,25,33,.16);opacity:0;pointer-events:none;transform:translateY(-18px);transition:opacity .18s ease,transform .18s ease}
.ps-mobile-menu.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}
.ps-mobile-menu__nav{display:grid;width:min(620px,100%);margin:0 auto;gap:8px}
.ps-mobile-menu__nav a{display:flex;min-height:48px;align-items:center;padding:0 15px;border-radius:10px;background:#fff;color:var(--ps-ink);font-size:15px;font-weight:700}
.ps-mobile-menu__nav a:hover{background:var(--ps-pink-soft);color:var(--ps-pink-dark)}
.ps-mobile-menu__nav a.is-primary{justify-content:center;gap:8px;margin-top:7px;color:#fff;background:var(--ps-pink)}

.ps-footer{
  position:relative;
  padding:68px 20px 38px;
  border-top:1px solid rgba(29,29,27,.08);
  background:#fff;
  color:var(--ps-ink);
}

.ps-footer__inner{display:flex;width:min(760px,100%);margin:0 auto;align-items:center;flex-direction:column;text-align:center}
.ps-footer__logo{display:block;width:min(190px,58vw)}
.ps-footer__logo img{display:block;width:100%;height:auto}
.ps-footer__menu{margin-top:42px}
.ps-footer__menu ul{display:flex;margin:0;padding:0;align-items:center;justify-content:center;gap:clamp(25px,5vw,48px);list-style:none}
.ps-footer__menu a{font-size:15px;font-weight:800}
.ps-footer__menu a:hover,
.ps-footer__menu a:focus-visible,
.ps-footer__email:hover,
.ps-footer__email:focus-visible,
.ps-footer__copyright a:hover,
.ps-footer__copyright a:focus-visible{color:var(--ps-pink-dark)!important}
.ps-footer__download{display:flex;margin-top:36px;align-items:center;flex-direction:column}
.ps-footer__download>strong{color:var(--ps-pink-dark);font-size:19px;font-weight:850}
.ps-footer__store-links{display:flex;margin-top:18px;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}
.ps-footer__store-links a{display:block;transition:transform .18s ease}
.ps-footer__store-links a:hover{transform:translateY(-2px)}
.ps-footer__store-links img{display:block;width:150px;height:auto}
.ps-footer__social-links{display:flex;margin-top:42px;align-items:center;justify-content:center;gap:15px}
.ps-footer__social-links a{display:grid;width:44px;height:44px;place-items:center;border:1px solid rgba(174,82,131,.28);border-radius:50%;color:var(--ps-pink);transition:background .18s ease,color .18s ease,transform .18s ease}
.ps-footer__social-links a:hover{background:var(--ps-pink);color:#fff;transform:translateY(-2px)}
.ps-footer__social-links svg{width:20px;height:20px;fill:currentColor}
.ps-footer__social-links svg rect,
.ps-footer__social-links svg circle{fill:none;stroke:currentColor;stroke-width:1.9}
.ps-footer__social-links svg .is-filled{fill:currentColor;stroke:0}
.ps-footer__email{margin-top:38px;color:var(--ps-ink)!important;font-size:14px;font-weight:700}
.ps-footer__copyright{margin:18px 0 0;color:var(--ps-muted);font-size:12px;font-weight:600}
.ps-footer__copyright a{color:inherit}

@media(max-width:1180px){
  .ps-header__inner{grid-template-columns:minmax(145px,190px) minmax(280px,1fr) auto;gap:20px}
  .ps-header__nav{gap:18px}
  .ps-header__nav a{font-size:13px}
  .ps-header__button{padding:0 15px;font-size:12px}
  .ps-header__instagram{width:42px;height:42px}
}

@media(max-width:960px){
  :root{--ps-header-height:70px}
  .ps-header__inner{grid-template-columns:minmax(145px,190px) 1fr auto;min-height:var(--ps-header-height);padding-block:8px}
  .ps-header__nav,
  .ps-header__actions{display:none}
  .ps-header__menu-button{display:flex;grid-column:3}
}

@media(max-width:620px){
  .ps-header__inner{padding-inline:15px}
  .ps-header__brand{width:155px}
  .ps-footer{padding:52px 18px 32px}
  .ps-footer__menu{margin-top:34px}
  .ps-footer__menu ul{gap:22px}
  .ps-footer__store-links{gap:10px}
  .ps-footer__store-links img{width:138px}
}
