

@font-face {
  font-family: 'Cartis';
  src: url('../Cartis_Beautyful_serif.ttf') format('truetype');
  font-weight: 300 700;
  font-display: swap;
}

:root {
  --pr:   #BBADF8;
  --prd:  #9074DD;
  --pdk:  #6F57A6;
  --bs:   #FDEEEC;
  --bsd:  #F4DDD9;
  --bk:   #160E2A;
  --tx:   #2E1F52;
  --tm:   #7A6899;
  --tl:   #B5A8CC;
  --sl:   #C0BCCA;
  --wh:   #FFFFFF;
  --btn-hover: #5B3E8C;
  --font-d: 'Cartis', 'Cormorant Garamond', Georgia, serif;
  --font-u: 'Instrument Sans', system-ui, sans-serif;
  --font-m: 'DM Mono', monospace;
  --r-card: 20px;
  --r-pill: 100px;
  --shadow: 0 8px 32px rgba(111,87,166,.14);
  --shadow-lg: 0 24px 64px rgba(22,14,42,.18);
  --tr: .3s cubic-bezier(.4,0,.2,1);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font-u);
  font-size: 16px; 
  color: var(--tx);
  background: #FAFAFA;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

input, button, select, textarea { font-size: 16px; }
h1,h2,h3,h4,h5,h6 { font-family: var(--font-d); font-weight: 300; line-height: 1.05; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--pdk); text-decoration: none; transition: color var(--tr); }
a:hover { color: var(--prd); }

::-webkit-scrollbar { width: 3px; }
::-webkit-scrollbar-track { background: var(--bs); }
::-webkit-scrollbar-thumb { background: var(--pr); border-radius: 2px; }

.inner {
  width: 100%;
  max-width: 1640px;
  margin: 0 auto;
  padding: 0 clamp(24px, 5vw, 100px);
}

.btn-main {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: var(--pdk);
  color: #fff;
  padding: 15px 36px;
  border-radius: var(--r-pill);
  font-size: 10.5px;
  letter-spacing: .2em;
  text-transform: uppercase;
  font-weight: 500;
  font-family: var(--font-u);
  border: 2px solid var(--pdk);
  cursor: pointer;
  transition: all var(--tr);
  text-decoration: none;
  position: relative;
  overflow: hidden;
}
.btn-main:hover { background: var(--btn-hover); border-color: var(--btn-hover); color: #fff; transform: translateY(-2px); box-shadow: 0 12px 28px rgba(111,87,166,.25); }
.btn-main .arr { width: 19px; height: 19px; border: 1.5px solid currentColor; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 10px; transition: transform .3s; }
.btn-main:hover .arr { transform: rotate(45deg); }

.btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: transparent;
  color: var(--pdk);
  padding: 13px 32px;
  border-radius: var(--r-pill);
  font-size: 10.5px;
  letter-spacing: .2em;
  text-transform: uppercase;
  font-weight: 500;
  font-family: var(--font-u);
  border: 1.5px solid var(--pr);
  cursor: pointer;
  transition: all var(--tr);
  text-decoration: none;
}
.btn-outline:hover { background: var(--pdk); color: #fff; border-color: var(--pdk); }
.btn-outline.light { color: rgba(255,255,255,.85); border-color: rgba(255,255,255,.4); }
.btn-outline.light:hover { background: rgba(255,255,255,.15); color: #fff; }

.btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  color: var(--tm);
  padding: 10px 20px;
  border-radius: var(--r-pill);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 500;
  font-family: var(--font-u);
  border: 1.5px solid var(--bsd);
  cursor: pointer;
  transition: all var(--tr);
  text-decoration: none;
}
.btn-ghost:hover { border-color: var(--prd); color: var(--pdk); }

.eye {
  font-size: 9px;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--prd);
  display: block;
  margin-bottom: 12px;
  font-weight: 400;
}
.ttl {
  font-family: var(--font-d);
  font-size: clamp(28px, 2.9vw, 58px);
  line-height: 1.04;
  color: var(--tx);
  letter-spacing: -.015em;
  font-weight: 300;
}
.ttl em { font-style: italic; color: var(--prd); }

.sec { padding: 96px 0; }
@media (max-width: 640px) { .sec { padding: 64px 0; } .inner { padding: 0 18px; } }

body.woocommerce-page #page,
body.woocommerce-page #content,
body.woocommerce-page #primary,
body.woocommerce-page .site-content,
body.woocommerce-page .site-main,
body.is-homepage #page,
body.is-homepage #content,
body.is-homepage #primary,
body.is-homepage .site-content,
body.is-homepage .site-main {
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.woocommerce-page .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
body.is-homepage .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: none !important;
}

body { max-width: 100vw; overflow-x: hidden; }
main, #main-content { width: 100%; max-width: 100% !important; overflow-x: hidden; }

.reveal { opacity: 0; transform: translateY(26px); transition: opacity .8s ease, transform .8s ease; }
.reveal.in { opacity: 1; transform: none; }

.cat-grid .cat-card.reveal,
.cat-card.reveal {
  opacity: 1 !important;
  transform: none !important;
}

#igigi-toast {
  position: fixed;
  bottom: 90px;
  left: 50%;
  transform: translateX(-50%) translateY(20px);
  background: var(--bk);
  color: #fff;
  font-family: var(--font-u);
  font-size: 12px;
  letter-spacing: .06em;
  padding: 12px 22px;
  border-radius: var(--r-pill);
  z-index: 9999;
  opacity: 0;
  transition: all .35s cubic-bezier(.34,1.2,.64,1);
  pointer-events: none;
  white-space: nowrap;
  box-shadow: var(--shadow-lg);
  border-left: 3px solid var(--pr);
}
#igigi-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

#wa-btn {
  position: fixed;
  bottom: 92px;
  right: 18px;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #25D366;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 850;
  box-shadow: 0 6px 24px rgba(37,211,102,.38);
  transition: transform .3s, box-shadow .3s;
}
@media (min-width: 769px) {
  #wa-btn { bottom: 28px; right: 28px; }
}

@supports (padding-bottom: env(safe-area-inset-bottom)) {
  #wa-btn { bottom: calc(92px + env(safe-area-inset-bottom)); }
  @media (min-width: 769px) {
    #wa-btn { bottom: calc(28px + env(safe-area-inset-bottom)); }
  }
}
#wa-btn:hover { transform: scale(1.08); box-shadow: 0 8px 28px rgba(37,211,102,.5); }
#wa-btn svg { width: 28px; height: 28px; fill: #fff; }

.is-style-imgigi-editorial {
  font-family: var(--font-d) !important;
  font-style: italic;
  font-size: 22px;
  line-height: 1.45;
  border-left: 3px solid var(--pr);
  padding-left: 24px !important;
  color: var(--tm) !important;
}
.is-style-imgigi-pill .wp-block-button__link {
  background: transparent !important;
  color: var(--pdk) !important;
  border: 1.5px solid var(--pdk) !important;
}
.is-style-imgigi-pill .wp-block-button__link:hover {
  background: var(--pdk) !important;
  color: #fff !important;
}
.is-style-imgigi-rounded img {
  border-radius: 24px;
}
.is-style-imgigi-eyebrow {
  font-family: var(--font-u) !important;
  font-size: 11px !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
  color: var(--prd) !important;
  font-weight: 500 !important;
}

#popup-wrap{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;background:rgba(22,14,42,.65);backdrop-filter:blur(14px);opacity:0;pointer-events:none;transition:opacity .5s ease;}
#popup-wrap.open{opacity:1;pointer-events:all;}
.popup-box{background:var(--wh);border-radius:28px;overflow:hidden;max-width:860px;width:90%;display:grid;grid-template-columns:1fr 1fr;box-shadow:0 40px 100px rgba(111,87,166,.3);transform:translateY(24px) scale(.97);transition:transform .5s cubic-bezier(.34,1,.64,1);}
#popup-wrap.open .popup-box{transform:none;}
.popup-img{background:var(--bs);position:relative;min-height:420px;overflow:hidden;}
.popup-img img{width:100%;height:100%;object-fit:cover;object-position:center top;}
.popup-badge{position:absolute;top:20px;left:20px;background:var(--pdk);color:#fff;font-size:9px;letter-spacing:.2em;padding:6px 14px;border-radius:100px;}
.popup-body{padding:48px 44px;display:flex;flex-direction:column;justify-content:center;position:relative;}
.popup-eyebrow{font-size:10px;letter-spacing:.28em;color:var(--prd);margin-bottom:16px;}
.popup-title{font-family:'Cartis','Cormorant Garamond',serif;font-size:40px;line-height:1.08;color:var(--pdk);margin-bottom:12px;font-style:italic;}
.popup-title em{color:var(--prd);}
.popup-sub{font-size:13px;color:var(--tm);line-height:1.75;margin-bottom:28px;font-weight:300;}
.popup-form{display:flex;flex-direction:column;gap:12px;}
.popup-input{border:1.5px solid var(--bsd);border-radius:100px;padding:13px 20px;font-family:'Instrument Sans',sans-serif;font-size:13px;color:var(--tx);outline:none;transition:border .3s;width:100%;}
.popup-input:focus{border-color:var(--prd);}
.popup-form .btn-main{justify-content:center;}
.popup-no{text-align:center;font-size:11px;color:var(--tl);margin-top:10px;cursor:pointer;background:none;border:none;font-family:'Instrument Sans',sans-serif;letter-spacing:.06em;}
.popup-no:hover{color:var(--tm);}

html, body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}
