/* GKDOLL homepage-only design layer. Scoped to body.home for safe rollback. */
body.home {
  --gk-ink: #211e20;
  --gk-muted: #756d71;
  --gk-accent: #b53162;
  --gk-accent-dark: #7f1f46;
  --gk-soft: #f5f3f1;
  --gk-line: #e4dedb;
  --gk-surface: #ffffff;
  --gk-surface-soft: #f7f5f3;
  --gk-surface-tint: #efebe8;
  --gk-radius: 18px;
  --gk-content-width: 1500px;
  --gk-hero-width: 1600px;
  --gk-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --gk-font-display: "Iowan Old Style", Baskerville, "Times New Roman", Times, serif;
  color: var(--gk-ink);
  background: #fff;
  font-family: var(--gk-font-sans);
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.home :is(button, input, select, textarea) {
  font-family: var(--gk-font-sans);
}

body.home .site-content {
  overflow: hidden;
}

body.home .gkdoll-announcement {
  position: relative;
  z-index: 60;
  color: #fff;
  background: linear-gradient(90deg, #4b2838 0%, #7f1f46 52%, #4b2838 100%);
}

body.home .gkdoll-announcement__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 34px;
  min-height: 36px;
  padding: 7px 20px;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: .035em;
  text-align: center;
}

body.home .gkdoll-announcement__inner span + span::before,
body.home .gkdoll-announcement__inner a::before {
  content: "•";
  margin-right: 34px;
  opacity: .65;
}

body.home .gkdoll-announcement a {
  color: #fff;
  text-decoration: none;
}

body.home .gkdoll-announcement a:hover {
  color: #fff;
  text-decoration: underline;
}

/* Header: keep navigation separate from the artwork for clarity and contrast. */
body.home #masthead {
  position: relative !important;
  z-index: 50;
  background: #fff;
  box-shadow: 0 6px 24px rgba(42, 36, 39, .08);
}

body.home .ast-primary-header-bar {
  min-height: 82px;
  border: 0;
  border-bottom: 1px solid #e4dedb;
  background: linear-gradient(90deg, #fff 0%, #f3f0ee 100%) !important;
}

body.home :is(.site-primary-header-wrap, .ast-builder-grid-row, #ast-hf-menu-1) {
  min-height: 82px;
}

body.home .site-primary-header-wrap {
  max-width: var(--gk-content-width);
  margin-inline: auto;
}

body.home .site-branding {
  padding: 11px 0;
}

body.home .custom-logo-link img {
  width: 158px;
  max-width: 158px;
  height: auto;
}

body.home #ast-hf-menu-1 > .menu-item > .menu-link {
  min-height: 82px;
  padding-inline: 12px;
  color: #383235;
  font-size: 13px;
  font-weight: 650;
  letter-spacing: .025em;
  white-space: nowrap;
}

body.home #ast-hf-menu-1 > .menu-item:hover > .menu-link,
body.home #ast-hf-menu-1 > .current-menu-item > .menu-link {
  color: var(--gk-accent-dark);
}

body.home :is(.ast-header-woo-cart, .ast-header-account-wrap) {
  color: #383235;
}

body.home .ast-header-woo-cart .ast-woo-header-cart-info-wrap,
body.home .ast-header-woo-cart .ast-icon,
body.home .ast-header-account-wrap .ast-header-account-type-icon {
  color: #383235 !important;
}

/* New editorial hero. The old carousel stays in Elementor and is hidden. */
body.home .elementor-element-152a32c,
body.home .elementor-element-627856b,
body.home .elementor-element-d6bb591 {
  display: none !important;
}

body.home .gkdoll-editorial-hero {
  display: grid;
  grid-template-columns: minmax(360px, .78fr) minmax(0, 1.22fr);
  width: min(var(--gk-hero-width), calc(100% - 32px));
  min-height: 590px;
  margin: 28px auto 0;
  overflow: hidden;
  border: 1px solid #e4dedb;
  border-radius: 28px;
  background: linear-gradient(145deg, #fff 0%, #f1edeb 100%);
  box-shadow: 0 24px 70px rgba(42, 36, 39, .10);
}

body.home .gkdoll-editorial-hero__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(50px, 6vw, 90px);
}

body.home .gkdoll-editorial-hero__eyebrow {
  margin-bottom: 20px;
  color: var(--gk-accent-dark);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .2em;
}

body.home .gkdoll-editorial-hero h1 {
  max-width: 650px;
  margin: 0 0 24px;
  color: #211e20;
  font-family: var(--gk-font-display);
  font-size: clamp(42px, 5vw, 72px);
  font-weight: 500;
  line-height: .98;
  letter-spacing: -.045em;
  text-wrap: balance;
}

body.home .gkdoll-editorial-hero__copy > p:not(.gkdoll-editorial-hero__note) {
  max-width: 580px;
  margin: 0;
  color: #6f676b;
  font-size: 17px;
  line-height: 1.75;
}

body.home .gkdoll-editorial-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
}

body.home .gkdoll-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 13px 24px;
  border: 1px solid #9d2e6d;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 750;
  letter-spacing: .025em;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

body.home .gkdoll-button:hover {
  transform: translateY(-2px);
}

body.home .gkdoll-button--primary {
  color: #fff;
  background: linear-gradient(135deg, var(--gk-accent), var(--gk-accent-dark));
  box-shadow: 0 10px 24px rgba(186, 33, 106, .22);
}

body.home .gkdoll-button--primary:hover {
  color: #fff;
  box-shadow: 0 14px 30px rgba(186, 33, 106, .3);
}

body.home .gkdoll-button--secondary {
  color: #70234f;
  background: rgba(255, 255, 255, .72);
}

body.home .gkdoll-button--secondary:hover {
  color: #70234f;
  background: #fff;
}

body.home .gkdoll-editorial-hero__note {
  margin: 22px 0 0;
  color: #7a6975;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: .045em;
}

body.home .gkdoll-editorial-hero__visual {
  position: relative;
  display: block;
  min-height: 590px;
  overflow: hidden;
  background: #16131a;
}

body.home .gkdoll-editorial-hero__visual::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(29, 20, 28, .16), transparent 30%);
  pointer-events: none;
}

body.home .gkdoll-editorial-hero__visual img {
  width: 100%;
  height: 100%;
  min-height: 590px;
  object-fit: cover;
  object-position: center;
  transition: transform .6s ease;
}

body.home .gkdoll-editorial-hero__visual:hover img {
  transform: scale(1.025);
}

body.home .gkdoll-editorial-hero__visual span {
  position: absolute;
  z-index: 2;
  right: 24px;
  bottom: 22px;
  padding: 9px 14px;
  border: 1px solid rgba(255, 255, 255, .45);
  border-radius: 999px;
  color: #fff;
  background: rgba(20, 14, 20, .5);
  backdrop-filter: blur(8px);
  font-size: 12px;
  font-weight: 700;
}

body.home .gkdoll-quick-trust {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: min(var(--gk-hero-width), calc(100% - 32px));
  margin: 18px auto clamp(38px, 4.5vw, 60px);
  border: 1px solid var(--gk-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(65, 31, 53, .06);
}

body.home .gkdoll-quick-trust > div {
  position: relative;
  padding: 23px 26px 22px 48px;
}

body.home .gkdoll-quick-trust > div + div {
  border-left: 1px solid var(--gk-line);
}

body.home .gkdoll-quick-trust > div::before {
  content: '✓';
  position: absolute;
  top: 24px;
  left: 23px;
  color: var(--gk-accent-dark);
  font-weight: 900;
}

body.home .gkdoll-quick-trust strong,
body.home .gkdoll-quick-trust span {
  display: block;
}

body.home .gkdoll-quick-trust strong {
  color: #382733;
  font-size: 13px;
}

body.home .gkdoll-quick-trust span {
  margin-top: 3px;
  color: #837480;
  font-size: 11px;
}

body.home .elementor-element-627856b {
  padding-top: clamp(44px, 6vw, 82px);
  padding-bottom: 10px;
}

body.home .elementor-element-d6bb591 {
  padding-bottom: clamp(46px, 6vw, 80px);
}

body.home .elementor-element-627856b h1 {
  max-width: 960px;
  margin-inline: auto;
  font-size: clamp(30px, 3.3vw, 48px);
  line-height: 1.08;
  letter-spacing: -.035em;
  text-wrap: balance;
}

body.home .elementor-element-69a986f {
  max-width: 940px;
  margin-inline: auto;
  color: var(--gk-muted);
  font-size: clamp(16px, 1.45vw, 20px);
  line-height: 1.75;
}

body.home :is(.elementor-element-b339ae9, .elementor-element-067194d, .elementor-element-2c5ddb8, .elementor-element-ac51442, .elementor-element-fc43d10, .elementor-element-0532def) h1 {
  color: var(--gk-ink);
  font-family: var(--gk-font-display);
  font-size: clamp(32px, 3vw, 46px);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -.035em;
  text-wrap: balance;
}

/* The blog heading is linked; keep the anchor from reverting to theme typography. */
body.home .elementor-element-ac51442 h1,
body.home .elementor-element-ac51442 h1 a {
  color: var(--gk-ink) !important;
  font-family: var(--gk-font-display) !important;
  font-size: 26px !important;
  font-weight: 500 !important;
  line-height: 1.08 !important;
  letter-spacing: -.035em !important;
  text-transform: uppercase;
  text-decoration: none !important;
}

body.home :is(.elementor-element-b339ae9, .elementor-element-067194d, .elementor-element-ac51442, .elementor-element-fc43d10, .elementor-element-0532def)::before {
  display: block;
  margin-bottom: 10px;
  color: var(--gk-accent-dark);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .18em;
  text-align: center;
}

body.home .elementor-element-b339ae9::before {
  content: "SÉLECTION LORIBEAR";
}

body.home .elementor-element-067194d::before {
  content: "DÉCOUVRIR PAR UNIVERS";
}

body.home .elementor-element-ac51442::before {
  content: "CONSEILS & CULTURE";
}

body.home .elementor-element-fc43d10::before {
  content: "POURQUOI NOUS CHOISIR";
  color: var(--gk-accent-dark);
}

body.home .elementor-element-0532def::before {
  content: "BESOIN D’AIDE ?";
}

body.home :is(.elementor-element-9378e89, .elementor-element-2c4922d, .elementor-element-d2ef512, .elementor-element-a052355, .elementor-element-2403e88, .elementor-element-eae5c07) {
  padding-top: clamp(40px, 5vw, 64px);
  padding-bottom: 16px;
}

body.home :is(.elementor-element-b2abfbd, .elementor-element-49b3d15, .elementor-element-a1c8feb, .elementor-element-46bbaca) > .e-con-inner,
body.home .elementor-element-b2abfbd,
body.home .elementor-element-46bbaca {
  width: min(var(--gk-content-width), calc(100% - 48px));
  max-width: var(--gk-content-width);
  margin-inline: auto;
}

/* Align the featured-product module with the wider homepage hero. */
body.home .elementor-element-9378e89 > .e-con-inner,
body.home .elementor-element-b2abfbd,
body.home .elementor-element-b2abfbd > .e-con-inner {
  width: min(var(--gk-hero-width), calc(100% - 32px)) !important;
  max-width: var(--gk-hero-width) !important;
  margin-inline: auto !important;
}

/* A restrained background rhythm: one color per complete section. */
body.home :is(.elementor-element-9378e89, .elementor-element-d26489d) {
  background: var(--gk-surface-soft) !important;
}

body.home .elementor-element-d26489d {
  padding-bottom: clamp(42px, 5vw, 66px);
}

body.home :is(.elementor-element-2c4922d, .elementor-element-49b3d15, .elementor-element-a1c8feb, .elementor-element-d2ef512) {
  background: var(--gk-surface) !important;
}

body.home :is(.elementor-element-a052355, .elementor-element-7e16c49) {
  background: var(--gk-surface-soft) !important;
}

body.home .elementor-element-a052355 {
  margin-top: clamp(42px, 5vw, 66px);
  border-top: 0;
}

body.home .elementor-element-7e16c49 {
  padding-bottom: clamp(42px, 5vw, 66px);
}

body.home :is(.elementor-element-2403e88, .elementor-element-9779fac) {
  background: var(--gk-surface) !important;
}

body.home .elementor-element-2403e88 h1 {
  color: var(--gk-ink);
}

body.home .elementor-element-9779fac {
  padding-bottom: clamp(40px, 5vw, 64px);
}

body.home :is(.elementor-element-eae5c07, .elementor-element-3f0ed1d) {
  background: var(--gk-surface) !important;
}

body.home .elementor-element-eae5c07 > .e-con-inner,
body.home .elementor-element-0532def {
  background-color: #fff !important;
  background-image: none !important;
}

body.home .elementor-element-eae5c07,
body.home .elementor-element-eae5c07 > .e-con-inner,
body.home .elementor-element-eae5c07 .elementor-element-0532def,
body.home .elementor-element-eae5c07 .elementor-widget-container {
  background-color: #fff !important;
  background-image: none !important;
}

body.home .gkdoll-featured-worlds,
body.home .gkdoll-shop-guide,
body.home .elementor-element-b9c57cc {
  isolation: isolate;
}

/* Five curated products use the full desktop row without leaving a gap. */
body.home .elementor-element-b2abfbd ul.products {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 20px !important;
}

body.home .elementor-element-b2abfbd li.product {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 0 0 20px !important;
  overflow: hidden;
  border: 1px solid var(--gk-line);
  border-radius: var(--gk-radius);
  background: #fff;
  box-shadow: 0 12px 34px rgba(40, 20, 34, .07);
  transition: transform .22s ease, box-shadow .22s ease;
}

/* Keep the curated row stable as more sale products are added. */
body.home .elementor-element-b2abfbd li.product:nth-child(n + 6) {
  display: none !important;
}

body.home .elementor-element-b2abfbd li.product:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 44px rgba(40, 20, 34, .13);
}

body.home .elementor-element-b2abfbd li.product > :not(.astra-shop-thumbnail-wrap) {
  margin-left: 18px;
  margin-right: 18px;
}

body.home .elementor-element-b2abfbd .astra-shop-thumbnail-wrap,
body.home .elementor-element-b2abfbd .woocommerce-loop-product__link {
  display: block;
}

body.home .elementor-element-b2abfbd img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  margin: 0 0 18px !important;
}

body.home .elementor-element-b2abfbd .woocommerce-loop-product__title {
  min-height: 2.8em;
  color: var(--gk-ink);
  font-family: var(--gk-font-sans);
  font-size: 15px !important;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: -.012em;
}

body.home .elementor-element-b2abfbd .star-rating {
  display: none;
}

/* Match the homepage sale pricing to the product archive palette. */
body.home .elementor-element-b2abfbd .price {
  color: #7f1f46 !important;
}

body.home .elementor-element-b2abfbd .price ins {
  color: #7f1f46 !important;
  text-decoration: none;
}

body.home .elementor-element-b2abfbd .price del {
  color: #958d90 !important;
}

body.home .elementor-element-b2abfbd :is(.button, .added_to_cart) {
  width: calc(100% - 36px);
  margin: 9px 18px 0 !important;
  padding: 12px 14px !important;
  border-radius: 999px !important;
  text-align: center;
  font-size: 13px !important;
  font-weight: 700;
  letter-spacing: .03em;
}

body.home .elementor-element-b2abfbd .button {
  color: #fff !important;
  background: linear-gradient(135deg, var(--gk-accent), var(--gk-accent-dark)) !important;
}

/* Keep one clear conversion action on the homepage product cards. */
body.home .elementor-element-b2abfbd a.button.product_type_simple.ajax_add_to_cart {
  display: none !important;
}

/* Category tiles. */
body.home :is(.elementor-element-49b3d15, .elementor-element-a1c8feb) .elementor-widget-slides {
  overflow: hidden;
  border-radius: var(--gk-radius);
  box-shadow: 0 12px 34px rgba(20, 16, 24, .12);
}

body.home :is(.elementor-element-49b3d15, .elementor-element-a1c8feb) .swiper-slide-inner {
  background: linear-gradient(180deg, transparent 36%, rgba(12, 9, 14, .82) 100%);
}

/* Give the category rows an editorial collage rhythm. */
body.home .elementor-element-49b3d15 > .e-con-inner,
body.home .elementor-element-a1c8feb > .e-con-inner {
  display: grid !important;
  gap: 22px !important;
}

body.home .elementor-element-49b3d15 > .e-con-inner {
  grid-template-columns: 1.35fr 1fr 1fr !important;
}

body.home .elementor-element-a1c8feb > .e-con-inner {
  grid-template-columns: 1fr 1fr 1.35fr !important;
}

body.home :is(.elementor-element-49b3d15, .elementor-element-a1c8feb) > .e-con-inner > * {
  width: auto !important;
  min-width: 0;
}

/* Large editorial collection cards add a visual pause after the product grid. */
body.home .gkdoll-featured-worlds {
  width: min(var(--gk-content-width), calc(100% - 48px));
  margin: clamp(46px, 6vw, 78px) auto;
}

body.home .gkdoll-featured-worlds__heading {
  max-width: 740px;
  margin: 0 auto 34px;
  text-align: center;
}

body.home .gkdoll-featured-worlds__heading > span {
  display: block;
  margin-bottom: 10px;
  color: var(--gk-accent-dark);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .2em;
}

body.home .gkdoll-featured-worlds__heading h2 {
  margin: 0;
  color: var(--gk-ink);
  font-family: var(--gk-font-display);
  font-size: 26px;
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -.035em;
  text-transform: uppercase;
}

body.home .gkdoll-featured-worlds__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

body.home .gkdoll-featured-worlds__card {
  position: relative;
  display: block;
  min-height: 430px;
  overflow: hidden;
  border-radius: 24px;
  color: #fff;
  background: #17131a;
  box-shadow: 0 18px 48px rgba(34, 20, 30, .14);
}

body.home .gkdoll-featured-worlds__card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 34%, rgba(15, 9, 14, .88) 100%);
}

body.home .gkdoll-featured-worlds__card img {
  width: 100%;
  height: 100%;
  min-height: 430px;
  object-fit: cover;
  transition: transform .55s ease;
}

body.home .gkdoll-featured-worlds__card:hover img {
  transform: scale(1.035);
}

body.home .gkdoll-featured-worlds__card > span {
  position: absolute;
  z-index: 2;
  right: 30px;
  bottom: 28px;
  left: 30px;
}

body.home .gkdoll-featured-worlds__card small,
body.home .gkdoll-featured-worlds__card strong,
body.home .gkdoll-featured-worlds__card em {
  display: block;
}

body.home .gkdoll-featured-worlds__card small {
  margin-bottom: 7px;
  color: #f3bfd8;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .18em;
}

body.home .gkdoll-featured-worlds__card strong {
  font-family: var(--gk-font-display);
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 500;
}

body.home .gkdoll-featured-worlds__card em {
  margin-top: 13px;
  font-size: 13px;
  font-style: normal;
  font-weight: 750;
}

/* Guided shopping component between categories and the editorial story. */
body.home .gkdoll-shop-guide {
  width: min(var(--gk-content-width), calc(100% - 48px));
  margin: clamp(46px, 6vw, 78px) auto;
  padding: clamp(46px, 6vw, 78px);
  border: 1px solid #e7d9e2;
  border-radius: 28px;
  background: linear-gradient(135deg, #2c1d28 0%, #5b2947 100%);
  box-shadow: 0 24px 70px rgba(45, 25, 40, .14);
}

body.home .gkdoll-shop-guide__heading {
  display: grid;
  grid-template-columns: minmax(0, .75fr) minmax(340px, 1.25fr);
  column-gap: 48px;
  align-items: end;
  margin-bottom: 42px;
}

body.home .gkdoll-shop-guide__heading > span {
  grid-column: 1 / -1;
  margin-bottom: 13px;
  color: #f4a8cd;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .2em;
}

body.home .gkdoll-shop-guide__heading h2 {
  margin: 0;
  color: #fff;
  font-family: var(--gk-font-display);
  font-size: clamp(34px, 4vw, 56px);
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -.035em;
}

body.home .gkdoll-shop-guide__heading p {
  margin: 0 0 4px;
  color: #d9c8d3;
  font-size: 16px;
  line-height: 1.75;
}

body.home .gkdoll-shop-guide__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

body.home .gkdoll-shop-guide__steps a {
  display: flex;
  flex-direction: column;
  min-height: 260px;
  padding: 28px;
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 18px;
  color: #fff;
  background: rgba(255, 255, 255, .075);
  text-decoration: none;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

body.home .gkdoll-shop-guide__steps a:hover {
  transform: translateY(-5px);
  border-color: rgba(255, 255, 255, .35);
  color: #fff;
  background: rgba(255, 255, 255, .12);
}

body.home .gkdoll-shop-guide__steps b {
  margin-bottom: 34px;
  color: #f4a8cd;
  font-family: var(--gk-font-display);
  font-size: 22px;
  font-weight: 500;
}

body.home .gkdoll-shop-guide__steps strong {
  margin-bottom: 10px;
  font-size: 19px;
}

body.home .gkdoll-shop-guide__steps span {
  color: #d9c8d3;
  font-size: 14px;
  line-height: 1.65;
}

body.home .gkdoll-shop-guide__steps em {
  margin-top: auto;
  padding-top: 24px;
  color: #fff;
  font-size: 13px;
  font-style: normal;
  font-weight: 750;
}

/* Editorial story panel. */
body.home .elementor-element-b9c57cc {
  max-width: 1240px;
  margin: 0 auto;
  padding: clamp(40px, 5vw, 72px) !important;
  border: 1px solid var(--gk-line);
  border-radius: 24px;
  background:
    radial-gradient(circle at 92% 8%, rgba(232, 62, 145, .09), transparent 30%),
    linear-gradient(145deg, #fff 0%, var(--gk-soft) 100%);
  box-shadow: 0 22px 60px rgba(40, 20, 34, .08);
}

body.home .elementor-element-ef74fd5 {
  max-width: 980px;
  margin-inline: auto;
  color: var(--gk-muted);
  font-size: 18px;
  line-height: 1.9;
}

/* Blog cards. */
body.home .elementor-element-46bbaca .elementor-post {
  overflow: hidden;
  border: 1px solid var(--gk-line);
  border-radius: var(--gk-radius);
  background: #fff;
  box-shadow: 0 10px 30px rgba(40, 20, 34, .06);
  transition: border-color .2s ease, box-shadow .2s ease;
}

body.home .elementor-element-46bbaca .elementor-posts-container {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
}

body.home .elementor-element-46bbaca .elementor-post:nth-child(n + 4) {
  display: none !important;
}

body.home .elementor-element-46bbaca .elementor-post__text {
  padding: 6px 18px 22px;
}

body.home .elementor-element-46bbaca .elementor-post__title {
  font-family: var(--gk-font-display);
  font-size: clamp(21px, 1.6vw, 27px);
  font-weight: 500;
  line-height: 1.16;
  letter-spacing: -.025em;
}

body.home .elementor-element-46bbaca .elementor-post__meta-data,
body.home .elementor-element-46bbaca .elementor-post__read-more {
  font-family: var(--gk-font-sans);
  letter-spacing: .035em;
}

body.home .elementor-element-46bbaca .elementor-post__thumbnail img {
  left: calc(50% + 1px);
  top: calc(50% + 1px);
  transform: scale(1.01) translate(-50%, -50%) !important;
  transition: none !important;
}

body.home .elementor-element-46bbaca .elementor-post:hover {
  border-color: #ddc4d3;
  box-shadow: 0 12px 30px rgba(40, 20, 34, .09);
}

body.home .elementor-element-46bbaca .elementor-post:hover .elementor-post__thumbnail img {
  transform: scale(1.01) translate(-50%, -50%) !important;
}

body.home .elementor-element-46bbaca.elementor-posts__hover-zoom-in .elementor-post__card:hover .elementor-post__thumbnail:not(.elementor-fit-height) img {
  width: 100% !important;
}

body.home .elementor-element-46bbaca.elementor-posts__hover-zoom-in .elementor-post__card:hover .elementor-post__thumbnail.elementor-fit-height img {
  height: 100% !important;
}

body.home .gkdoll-blog-action {
  display: flex;
  justify-content: center;
  padding: 24px 20px clamp(42px, 5vw, 66px);
  background: var(--gk-surface-soft);
}

body.home .gkdoll-blog-action a {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  min-height: 48px;
  padding: 12px 24px;
  border: 1px solid #9d2e6d;
  border-radius: 999px;
  color: #70234f;
  background: #fff;
  font-size: 13px;
  font-weight: 750;
  text-decoration: none;
}

body.home .gkdoll-blog-action a:hover {
  color: #fff;
  background: #9d2e6d;
}

/* Trust benefits were accidentally one column on desktop. */
body.home .elementor-element-9779fac {
  display: block !important;
}

body.home .elementor-element-9779fac > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

body.home .elementor-element-9779fac .elementor-widget-image-box {
  width: auto !important;
  height: auto !important;
  align-self: stretch;
  padding: 34px 24px;
  border: 1px solid var(--gk-line);
  border-radius: var(--gk-radius);
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 14px 36px rgba(74, 43, 70, .09);
}

body.home .elementor-element-9779fac .elementor-image-box-title {
  color: var(--gk-ink);
  font-family: var(--gk-font-display);
  font-size: 21px;
  font-weight: 500;
  letter-spacing: -.02em;
}

body.home .elementor-element-9779fac .elementor-image-box-description {
  color: var(--gk-muted);
  line-height: 1.65;
}

/* FAQ: tighter reading width and clearer interaction. */
body.home .elementor-element-3f0ed1d {
  width: min(1120px, calc(100% - 48px));
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 0 clamp(48px, 6vw, 78px);
}

body.home .elementor-element-bb40b38 .e-n-accordion-item-title {
  padding: 22px 24px;
  border: 1px solid var(--gk-line);
  border-radius: 14px;
  background: #fff;
  font-family: var(--gk-font-sans);
  font-weight: 700;
  letter-spacing: -.01em;
}

body.home .elementor-element-bb40b38 .e-n-accordion-item + .e-n-accordion-item {
  margin-top: 10px;
}

body.home .elementor-element-bb40b38 .e-n-accordion-item[open] {
  border-radius: 14px;
  background: #fbf5f9;
  box-shadow: 0 12px 32px rgba(55, 29, 46, .07);
}

body.home .elementor-element-bb40b38 .e-n-accordion-item[open] .e-n-accordion-item-title {
  border-color: #dfc4d3;
  color: #872559;
  background: #fff8fb;
}

/* A clear closing action bridges the FAQ and footer. */
body.home .gkdoll-prefooter {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) auto;
  gap: 48px;
  align-items: center;
  width: min(var(--gk-hero-width), calc(100% - 32px));
  margin: 0 auto 22px;
  padding: clamp(38px, 5vw, 64px);
  border-radius: 24px;
  color: #fff;
  background:
    radial-gradient(circle at 90% 15%, rgba(244, 168, 205, .22), transparent 30%),
    linear-gradient(135deg, #35202f 0%, #70234f 100%);
  box-shadow: 0 22px 60px rgba(50, 25, 42, .17);
}

body.home .gkdoll-prefooter__copy > span {
  display: block;
  margin-bottom: 11px;
  color: #f3b1d1;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .2em;
}

body.home .gkdoll-prefooter h2 {
  margin: 0;
  color: #fff;
  font-family: var(--gk-font-display);
  font-size: clamp(34px, 4vw, 54px);
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: -.035em;
}

body.home .gkdoll-prefooter p {
  margin: 14px 0 0;
  color: #e6d5df;
  font-size: 15px;
}

body.home .gkdoll-prefooter__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-end;
}

body.home .gkdoll-prefooter__actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 13px 22px;
  border: 1px solid rgba(255, 255, 255, .58);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 750;
  text-decoration: none;
}

body.home .gkdoll-prefooter__primary {
  color: #70234f;
  background: #fff;
}

body.home .gkdoll-prefooter__secondary {
  color: #fff;
  background: transparent;
}

body.home .site-footer {
  color: #ddced8;
  background: #211820;
}

body.home .site-footer :is(.site-primary-footer-wrap, .site-below-footer-wrap) {
  border: 0;
  background: #211820 !important;
}

body.home .site-footer .site-primary-footer-inner-wrap {
  width: min(var(--gk-content-width), calc(100% - 48px));
  margin-inline: auto;
  padding-top: 58px;
  padding-bottom: 42px;
}

body.home .site-footer :is(h2, h4) {
  color: #fff;
  font-family: var(--gk-font-display);
  font-weight: 500;
  letter-spacing: -.02em;
}

body.home .site-footer :is(a, p, li, .widget-title) {
  color: #ddced8;
}

body.home .site-footer a:hover {
  color: #fff;
}

body.home .site-footer input[type='email'] {
  min-height: 48px;
  border-color: rgba(255, 255, 255, .2);
  border-radius: 999px;
  color: #fff;
  background: rgba(255, 255, 255, .08);
}

body.home .site-footer button[type='submit'] {
  min-height: 46px;
  border-radius: 999px !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--gk-accent), var(--gk-accent-dark)) !important;
}

/* Tag clouds add visual noise and offer little value on the homepage. */
body.home :is(.elementor-element-839d4b3, .elementor-element-bcd7a0f, .elementor-element-bfc954f) {
  display: none !important;
}

@media (max-width: 1024px) {
  body.home .gkdoll-editorial-hero {
    grid-template-columns: .9fr 1.1fr;
    min-height: 520px;
  }

  body.home .gkdoll-editorial-hero__copy {
    padding: 44px 36px;
  }

  body.home .gkdoll-editorial-hero__visual,
  body.home .gkdoll-editorial-hero__visual img {
    min-height: 520px;
  }

  body.home .gkdoll-quick-trust {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.home .gkdoll-quick-trust > div:nth-child(3) {
    border-left: 0;
  }

  body.home .gkdoll-quick-trust > div:nth-child(n + 3) {
    border-top: 1px solid var(--gk-line);
  }

  body.home .gkdoll-shop-guide__heading {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  body.home .gkdoll-shop-guide__steps {
    grid-template-columns: 1fr;
  }

  body.home .gkdoll-shop-guide__steps a {
    min-height: 220px;
  }

  body.home .elementor-element-b2abfbd ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.home .elementor-element-9779fac > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  body.home .gkdoll-announcement__inner {
    min-height: 34px;
    padding-inline: 12px;
    font-size: 11px;
  }

  body.home .gkdoll-announcement__inner span:nth-child(2),
  body.home .gkdoll-announcement__inner a {
    display: none;
  }

  body.home .ast-primary-header-bar,
  body.home :is(.site-primary-header-wrap, .ast-builder-grid-row) {
    min-height: 64px;
  }

  body.home .site-primary-header-wrap {
    padding-inline: 16px;
  }

  body.home .custom-logo-link img {
    width: 118px !important;
    max-width: 118px !important;
  }

  body.home .ast-mobile-menu-trigger-minimal {
    border-radius: 10px;
    color: #fff !important;
    background: linear-gradient(135deg, var(--gk-accent), var(--gk-accent-dark)) !important;
  }

  body.home .gkdoll-editorial-hero {
    grid-template-columns: 1fr;
    width: calc(100% - 24px);
    min-height: 0;
    margin-top: 12px;
    border-radius: 20px;
  }

  body.home .gkdoll-editorial-hero__copy {
    padding: 38px 24px 34px;
  }

  body.home .gkdoll-editorial-hero h1 {
    font-size: clamp(38px, 12vw, 54px);
  }

  body.home .gkdoll-editorial-hero__copy > p:not(.gkdoll-editorial-hero__note) {
    font-size: 15px;
  }

  body.home .gkdoll-editorial-hero__actions {
    display: grid;
  }

  body.home .gkdoll-editorial-hero__visual,
  body.home .gkdoll-editorial-hero__visual img {
    min-height: 0;
  }

  body.home .gkdoll-editorial-hero__visual img {
    aspect-ratio: 4 / 3;
    object-position: center;
  }

  body.home .gkdoll-quick-trust {
    grid-template-columns: 1fr;
    width: calc(100% - 24px);
    margin-top: 12px;
    margin-bottom: 38px;
  }

  body.home .gkdoll-quick-trust > div + div,
  body.home .gkdoll-quick-trust > div:nth-child(3) {
    border-top: 1px solid var(--gk-line);
    border-left: 0;
  }

  body.home .elementor-element-49b3d15 > .e-con-inner,
  body.home .elementor-element-a1c8feb > .e-con-inner {
    grid-template-columns: 1fr !important;
  }

  body.home .gkdoll-featured-worlds {
    width: calc(100% - 24px);
    margin-block: 40px;
  }

  body.home .gkdoll-featured-worlds__grid {
    grid-template-columns: 1fr;
  }

  body.home .gkdoll-featured-worlds__card,
  body.home .gkdoll-featured-worlds__card img {
    min-height: 330px;
  }

  body.home .gkdoll-shop-guide {
    width: calc(100% - 24px);
    margin-block: 40px;
    padding: 36px 20px 20px;
    border-radius: 20px;
  }

  body.home .gkdoll-shop-guide__heading {
    margin-bottom: 28px;
  }

  body.home .gkdoll-shop-guide__heading p {
    font-size: 15px;
  }

  body.home .gkdoll-shop-guide__steps a {
    min-height: 210px;
    padding: 24px;
  }

  body.home .elementor-element-46bbaca .elementor-posts-container {
    grid-template-columns: 1fr !important;
  }

  body.home .elementor-element-627856b {
    padding: 38px 20px 8px;
  }

  body.home .elementor-element-d6bb591 {
    padding: 0 20px 44px;
  }

  body.home :is(.elementor-element-9378e89, .elementor-element-2c4922d, .elementor-element-d2ef512, .elementor-element-a052355, .elementor-element-2403e88, .elementor-element-eae5c07) {
    padding: 48px 18px 18px;
  }

  body.home .elementor-element-b2abfbd ul.products {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  body.home .elementor-element-b2abfbd li.product {
    max-width: 430px;
    margin-inline: auto !important;
  }

  body.home .elementor-element-b9c57cc {
    margin-inline: 16px;
    padding: 26px 20px !important;
    border-radius: 18px;
  }

  body.home .elementor-element-9779fac {
    padding-inline: 16px;
  }

  body.home .elementor-element-9779fac > .e-con-inner {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  body.home .elementor-element-3f0ed1d {
    padding-inline: 16px;
  }

  body.home .gkdoll-prefooter {
    grid-template-columns: 1fr;
    width: calc(100% - 24px);
    gap: 28px;
    padding: 36px 24px;
    border-radius: 20px;
  }

  body.home .gkdoll-prefooter__actions {
    display: grid;
    justify-content: stretch;
  }

  body.home .site-footer .site-primary-footer-inner-wrap {
    width: calc(100% - 32px);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home .elementor-element-b2abfbd li.product,
  body.home .elementor-element-46bbaca .elementor-post__thumbnail img {
    transition: none;
  }
}
