/* Compact catalogue. Original brand stylesheet remains unchanged. */
.catalog-page{--catalog-muted:#adb0c2}

.catalog-page .hero.hero-typo{min-height:0;
  padding:112px 24px 32px}

.catalog-page .hero-brand-name{font-size:clamp(56px,7.2vw,104px);
  letter-spacing:6px}

.catalog-page .hero-tagline{color:#c8c5d9;margin:0;font-size:clamp(1.125rem,1.5vw,1.375rem);font-weight:400;line-height:1.65}

/* Both actions occupy row three and align at its bottom edge. */
.catalog-page .hero-typo-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,320px);grid-template-rows:auto auto auto;gap:12px 40px;max-width:1152px;width:100%;align-items:end;text-align:left}
.catalog-page .hero-main{display:contents}
.catalog-page .hero-brand-name{grid-column:1;grid-row:1;margin-bottom:0}
.catalog-page .hero-tagline{grid-column:1;grid-row:2}
.catalog-page .hero-typo-content .hero-cta{grid-column:1;grid-row:3;align-self:end;margin:0;justify-content:flex-start}
.catalog-page .hero-cta .btn{min-height:48px;box-sizing:border-box;line-height:24px;padding:12px 28px}
.catalog-page .hero-cta .btn:hover{transform:none}
.catalog-page .nav-inner{gap:32px}
.catalog-page .nav-links{margin-left:auto}
.catalog-page .nav-actions{flex:0 0 auto}
.catalog-page .nav-account{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 16px;box-sizing:border-box;border:1px solid #9673b5;border-radius:999px;color:#f5efff;text-decoration:none;font-size:14px;white-space:nowrap}
.catalog-page .nav-account:hover{background:rgba(168,85,247,.12);border-color:#c4a0e0}
.catalog-page .nav-account:focus-visible{outline:2px solid #e4baff;outline-offset:4px}
.catalog-page .account-label-small{display:none}
@media(max-width:900px){.catalog-page .nav-inner{gap:12px;padding:0 16px}.catalog-page .nav-actions{margin-left:auto;gap:8px}.catalog-page .nav-account{padding:8px 10px;font-size:13px}.catalog-page .account-label-wide{display:none}.catalog-page .account-label-small{display:inline}}
@media(max-width:380px){.catalog-page .nav-logo{gap:8px}.catalog-page .logo-text{font-size:16px;letter-spacing:2px}}


.catalog-page .products{padding:24px 0 64px;
  scroll-margin-top:64px}

.catalog-page .section-desc{color:var(--catalog-muted);
  font-size:1rem;
  line-height:1.75}

.catalog-grid{display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px}

.catalog-card{opacity:1;visibility:visible;transform:none;min-width:0;min-height:210px;overflow:hidden;border:1px solid rgba(192,132,252,.18);border-radius:16px;background:linear-gradient(140deg,rgba(192,132,252,.035),rgba(255,255,255,.015)),#131321;display:flex;flex-direction:row;align-items:center;gap:20px;padding:20px;box-shadow:0 6px 22px rgba(0,0,0,.12)}

.catalog-image{width:160px;height:160px;flex:0 0 160px;aspect-ratio:1;border-radius:12px;background:rgba(192,132,252,.035);display:grid;place-items:center;overflow:hidden}

.catalog-image img{display:block;
  width:100%;
  height:100%;
  max-height:100%;
  object-fit:contain;
  min-height:0}

.catalog-concept{display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  gap:8px;
  color:#bdb0d2;
  background:radial-gradient(ellipse at center,rgba(192,132,252,.1),transparent 70%)}

.catalog-concept svg{width:52%;
  max-height:170px;
  stroke:#b19dc7;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round}

.catalog-concept span{font-size:.875rem;
  line-height:1.6}

.catalog-copy{min-width:0;padding:0;display:flex;flex:1;flex-direction:column;gap:8px}

.catalog-copy h3{font-size:1.375rem;
  line-height:1.4;
  letter-spacing:0;
  font-weight:600;
  margin:0}

.catalog-copy>p{font-size:1rem;
  line-height:1.75;
  color:var(--catalog-muted);
  margin:0}

.catalog-action{margin-top:auto;
  padding-top:6px;
  min-height:50px;
  display:flex;
  align-items:center}

.catalog-status{display:inline-flex;
  align-items:center;
  min-height:44px;
  margin:0;
  color:#c8a9e9;
  font-size:.875rem;
  line-height:1.6}

.catalog-action .btn{min-height:44px;
  padding:10px 22px;
  font-size:.875rem}

.catalog-page .footer{padding:28px 0}

.catalog-page .footer-inner{gap:18px;
  flex-wrap:wrap}

.catalog-page .footer-brand{color:inherit;
  text-decoration:none}

.footer-links{display:flex;
  gap:4px 22px;
  flex-wrap:wrap}

.footer-links a{display:inline-flex;
  align-items:center;
  min-height:44px;
  font-size:.875rem;
  color:#c5bed5}

.catalog-page .footer-copy{width:100%;
  font-size:.875rem;
  color:var(--catalog-muted);
  line-height:1.75;
  margin:0}

.catalog-page .lang-current{font:inherit;
  font-size:.875rem;
  min-height:44px;
  cursor:pointer}

.catalog-page .lang-option{font-size:.875rem;
  min-height:44px}

.catalog-page .lang-switcher:hover:not(.open) .lang-dropdown{visibility:hidden;
  opacity:0}

.catalog-page .nav-links a{font-size:.875rem;
  min-height:44px;
  display:inline-flex;
  align-items:center}

.catalog-page .nav-burger{min-width:44px;
  min-height:44px;
  justify-content:center;
  align-items:center}

.catalog-page a:focus-visible,.catalog-page button:focus-visible{outline:2px solid #c084fc;
  outline-offset:4px}

@media(max-width:900px){.catalog-page .nav-links.open{padding:16px 24px;
  gap:6px}
.catalog-page .nav-links.open a{width:100%}
}

@media(max-width:640px){.catalog-page .hero.hero-typo{min-height:0;
  padding:96px 20px 24px}
.catalog-page .hero-brand-name{font-size:clamp(44px,11vw,64px);
  letter-spacing:4px}
.catalog-page .hero-tagline{font-size:1.125rem;
  margin:0}
.catalog-page .products{padding:20px 0 44px}
.catalog-grid{grid-template-columns:1fr;
  gap:20px}
.catalog-card{min-height:188px;padding:16px;gap:16px}.catalog-image{width:112px;height:112px;flex-basis:112px}
.catalog-concept svg{max-height:120px}
.catalog-copy{padding:0;gap:6px}
.catalog-copy h3{font-size:1.25rem}
.catalog-page .footer-inner{text-align:left;
  align-items:flex-start}
.footer-links{gap:0 18px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{animation:none!important;
  transition:none!important}
}


/* The description sits outside an outlined, fully clickable secondary CTA. */
.catalog-page .hero-tools-description{grid-column:2;grid-row:2;align-self:end;margin:0;font-size:.875rem;line-height:1.6;color:#adb0c2}
.catalog-page .hero-tools-link{grid-column:2;grid-row:3;align-self:end;justify-self:start;display:inline-flex;align-items:center;justify-content:center;min-height:48px;box-sizing:border-box;padding:11px 28px;border:1px solid transparent;border-radius:50px;background:linear-gradient(120deg,#1a1529,#171323) padding-box,linear-gradient(120deg,#c084fc,#ff6b9d) border-box;text-decoration:none;cursor:pointer;transition:filter .2s,box-shadow .2s}
.catalog-page .hero-tools-label{font-size:1rem;font-weight:600;line-height:24px;color:#ead5fc}
.catalog-page .hero-tools-link:hover{filter:brightness(1.15);box-shadow:0 4px 18px rgba(192,132,252,.14)}

@media(min-width:641px) and (max-width:1050px){.catalog-card{gap:16px;padding:18px}.catalog-image{width:112px;height:112px;flex-basis:112px}}
@media(max-width:380px){.catalog-card{gap:12px;padding:14px}.catalog-image{width:88px;height:104px;flex-basis:88px}}

@media(max-width:820px){
.catalog-page .hero-typo-content{grid-template-columns:1fr;grid-template-rows:repeat(5,auto);gap:12px}
.catalog-page .hero-tools-description{grid-column:1;grid-row:4}
.catalog-page .hero-tools-link{grid-column:1;grid-row:5}
.catalog-page .hero-cta{align-items:flex-start}
}

.catalog-page .hero-tagline{max-width:600px;text-wrap:balance}

/* A compact navigation entry keeps mobile gifts separate from desktop products. */
.mobile-gift-dialog{position:fixed;inset:0;margin:auto;width:min(400px,calc(100vw - 32px));max-height:calc(100dvh - 32px);box-sizing:border-box;overflow:auto;padding:28px;border:1px solid #9873b5;border-radius:20px;background:#171323;color:#f5efff;box-shadow:0 20px 64px rgba(0,0,0,.4)}
.mobile-gift-dialog::backdrop{background:rgba(7,5,15,.75)}
.mobile-gift-dialog h2{padding-right:40px;margin:0 0 12px;font-size:1.5rem;line-height:1.4;font-weight:600}
.mobile-gift-dialog p{margin:0 0 20px;font-size:1rem;line-height:1.75;color:#c8c5d9}
.mobile-gift-close{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:44px;height:44px;border:1px solid #9873b5;border-radius:50%;background:transparent;color:#f5efff;font:inherit;font-size:1.75rem;cursor:pointer}
.mobile-gift-close:hover{background:rgba(192,132,252,.12)}
.mobile-gift-qr{display:block;width:224px;max-width:100%;height:auto;margin:0 auto 20px;border-radius:8px;background:#fff}
.mobile-gift-dialog .mobile-gift-open{display:flex;min-height:48px;box-sizing:border-box;width:100%;max-width:none;line-height:1.6;padding:12px 18px;text-align:center}
@media(max-width:380px){.mobile-gift-dialog{padding:24px 20px}.mobile-gift-dialog h2{font-size:1.25rem}}

/* Account overlay: the local-only identity flow stays inside the native dialog. */
.catalog-page [hidden]{display:none!important}
.account-dialog{position:fixed;inset:0;margin:auto;padding:0;width:min(400px,calc(100vw - 32px));max-height:calc(100dvh - 32px);border:1px solid #9873b5;border-radius:20px;background:#131321;color:#f8fafc;box-shadow:0 20px 64px rgba(0,0,0,.4);overflow:auto}
.account-dialog::backdrop{background:rgba(0,0,0,.6);backdrop-filter:blur(4px)}
.account-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px 0 24px}
.account-dialog-header h2{font:600 24px/1.4 system-ui;margin:0}
.account-dialog .account-dialog-header button{display:grid;place-items:center;width:44px;height:44px;flex:0 0 auto;padding:0;border:0;border-radius:10px;background:transparent;color:#c8c5d9;font:28px/1 system-ui;box-shadow:none;outline:none;cursor:pointer}
.account-dialog .account-dialog-header button:hover{background:rgba(192,132,252,.1);color:#f8fafc}
.account-dialog .account-dialog-header button:focus-visible{outline:2px solid #c084fc;outline-offset:-4px}
.account-dialog button:focus-visible{outline:2px solid #c084fc;outline-offset:-4px;border-radius:10px}
.account-dialog iframe{display:block;border:0;width:100%;height:280px}
.account-status{padding:16px 24px 28px;color:#c8c5d9;font-size:14px}
@media(max-width:380px){.catalog-page .nav-inner{gap:8px}.catalog-page .nav-actions{gap:4px}.catalog-page .nav-account{padding:8px}.catalog-page .logo-icon{font-size:24px}.catalog-page .logo-text{font-size:15px;letter-spacing:1px}}
