/*
  Page Carte Cadeau Atelier Cocktail — Étape 5
  Interactions, sélection, preview temps réel, compteur, livraison, sticky et motion sobre.
  Desktop 1920 px et responsive de l’étape 4 préservés.
*/

:root {
  /* Territoire visuel Carte Cadeau — Carte Invitation premium */
  --gift-bg-ivory: #f7f2ea;
  --gift-bg-warm: #efe7da;
  --gift-bg-cream: #fbf8f2;
  --gift-surface: #ffffff;
  --gift-surface-soft: #fbf8f2;
  --gift-card-black: #11100d;
  --gift-card-ink: #171411;
  --gift-card-ivory: #f4ead8;
  --gift-card-gold: #b99a63;
  --gift-card-gold-soft: #d9c298;
  --gift-envelope: #ded2bf;
  --gift-text-primary: #171411;
  --gift-text-secondary: rgba(0,0,0,0.9);
  --gift-text-muted: #8a7e70;
  --gift-text-inverse: #fff8ed;
  --gift-line: #dfd2c1;
  --gift-line-strong: #cbb89f;
  --gift-line-soft: rgba(185, 154, 99, 0.28);
  --gift-shadow-card: 0 14px 40px rgba(33, 25, 16, 0.08);
  --gift-shadow-floating: 0 28px 70px rgba(33, 25, 16, 0.16);
  --gift-shadow-preview: 0 26px 76px rgba(17, 14, 10, 0.22);

  /* Grille et dimensions desktop de référence */
  --gift-frame-width: 1920px;
  --gift-first-viewport-h: 1080px;
  --gift-container-desktop: 1760px;
  --gift-margin-desktop: 80px;
  --gift-grid-columns: 12;
  --gift-grid-gutter: 20px;
  --gift-baseline: 8px;

  --gift-section-hero-h: 950px;
  --gift-section-selector-h: 910px;
  --gift-section-personalization-h: 1180px;
  --gift-section-how-h: 386px;
  --gift-section-choice-guide-h: 296px;
  --gift-section-experience-h: 550px;
  --gift-section-delivery-h: 850px;
  --gift-section-final-cta-h: 473px;
  --gift-section-trust-h: 310px;
  --gift-section-footer-h: 648px;

  /* Typographie et composants */
  --gift-h1-size-desktop: 86px;
  --gift-h1-line: 1.02;
  --gift-h1-tracking: -0.04em;
  --gift-h2-size-desktop: 52px;
  --gift-h3-size-desktop: 27px;
  --gift-body-size-desktop: 18px;
  --gift-body-line: 1.64;
  --gift-small-size: 14px;
  --gift-kicker-size: 13px;
  --gift-kicker-tracking: 0.16em;

  --gift-card-radius: 14px;
  --gift-preview-radius: 22px;
  --gift-panel-radius: 18px;
  --gift-pill-radius: 999px;
  --gift-focus-ring: var(--focus-ring, 2px solid #9d7b4e);
  --gift-focus-shadow: var(--focus-shadow, 0 0 0 4px rgba(185, 154, 99, 0.16));

  /* États futurs : sélection, erreurs, tap, compteur, checkout sticky. */
  --gift-selected-border: #b99a63;
  --gift-selected-bg: rgba(185, 154, 99, 0.09);
  --gift-error: #8f2f22;
  --gift-success: #315b40;
}

/* -------------------------------------------------------------------------- */
/* Base page Carte Cadeau                                                     */
/* -------------------------------------------------------------------------- */
.button{
  border-radius: 10px!important;
}

.page-shell--carte-cadeau {
  position: relative;
  inline-size: min(100%, var(--gift-frame-width));
  max-inline-size: var(--gift-frame-width);
  margin-inline: auto;
  overflow-x: clip;
  background:
    radial-gradient(circle at 77% 4%, rgba(185, 154, 99, 0.14), transparent 34%),
    linear-gradient(180deg, var(--gift-bg-ivory), var(--gift-surface-soft) 58%, var(--gift-bg-ivory));
  color: var(--gift-text-primary);
}

.page-shell--carte-cadeau .section-shell {
  inline-size: min(calc(100% - (var(--gift-margin-desktop) * 2)), var(--gift-container-desktop));
  max-inline-size: var(--gift-container-desktop);
  margin-inline: auto;
}

.gift-card-main {
  position: relative;
  background:
    radial-gradient(circle at 86% 10%, rgba(255, 255, 255, 0.72), transparent 18%),
    linear-gradient(180deg, rgba(247, 242, 234, 0.96), rgba(255, 255, 255, 0.70) 38%, rgba(247, 242, 234, 0.98));
}

.gift-card-main .page-section {
  position: relative;
  overflow: hidden;
  padding: 0;
  border-block-end: 1px solid rgba(223, 210, 193, 0.78);
  scroll-margin-block-start: 120px;
}

.gift-card-main .eyebrow,
.page-shell--carte-cadeau .eyebrow {
  margin: 0 0 18px;
  color: var(--gift-card-gold);
  font-family: var(--font-kicker, 'Inter', sans-serif);
  font-size: var(--gift-kicker-size);
  font-weight: 700;
  letter-spacing: var(--gift-kicker-tracking);
  line-height: 1.2;
  text-transform: uppercase;
}

.gift-card-main h1,
.gift-card-main h2,
.gift-card-main h3 {
  margin: 0;
  color: var(--gift-text-primary);
}

.gift-card-main h1,
.gift-card-main h2 {
  font-family: var(--font-serif, 'Cormorant Garamond', serif);
  letter-spacing: -0.035em;
  font-weight: 800;
}

.gift-card-main h1 {
  max-inline-size: 740px;
  font-size: var(--gift-h1-size-desktop);
  line-height: var(--gift-h1-line);
  letter-spacing: var(--gift-h1-tracking);
}

.gift-card-main h2 {
  font-size: var(--gift-h2-size-desktop);
  line-height: 1.06;
}

.gift-card-main h3 {
  font-family: var(--font-serif, 'Cormorant Garamond', serif);
  font-size: var(--gift-h3-size-desktop);
  line-height: 1.14;
  font-weight: 600;
  margin-bottom: 5%;
}

.gift-card-main p,
.gift-card-main li,
.gift-card-main label,
.gift-card-main input,
.gift-card-main textarea,
.gift-card-main legend {
  font-size: var(--gift-body-size-desktop);
  line-height: var(--gift-body-line);
}

.gift-card-main p,
.gift-card-main li {
  color: var(--gift-text-secondary);
}

.fixCarte{
	text-align: start !important;
}

.section-heading {
  max-inline-size: 850px;
  margin-block: 0 42px;
}

.section-heading p {
  margin-block: 12px 0;
}

.section-heading--centered {
  margin-inline: auto;
  text-align: center;
}

.page-shell--carte-cadeau .button {
  min-block-size: 64px;
  border-radius: 0;
  letter-spacing: 0.08em;
}

.page-shell--carte-cadeau .button--primary {
  background: var(--gift-card-black);
  color: var(--gift-text-inverse);
}

.page-shell--carte-cadeau .button--secondary {
  background: rgba(255, 255, 255, 0.64);
  border: 1px solid var(--gift-line-strong);
  color: var(--gift-text-primary);
}

/* -------------------------------------------------------------------------- */
/* Header commun intégré au hero                                               */
/* -------------------------------------------------------------------------- */

.page-shell--carte-cadeau .site-header {
  position: absolute;
  inset-block-start: 32px;
  inset-inline: 0;
  z-index: 30;
  pointer-events: none;
}

.page-shell--carte-cadeau .site-header__inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  min-block-size: 78px;
}

.page-shell--carte-cadeau .brand {
  inline-size: 260px;
  min-block-size: 78px;
  gap: 14px;
  color: var(--gift-text-primary);
  text-shadow: none;
  pointer-events: auto;
}

.page-shell--carte-cadeau .brand__mark {
  flex: 0 0 58px;
  inline-size: 58px;
  block-size: 76px;
}

.page-shell--carte-cadeau .brand__logo-mark {
  opacity: 0.56;
  object-fit: contain;
  object-position: center -24%;
}

.page-shell--carte-cadeau .brand__text {
  inline-size: 172px;
  color: var(--gift-text-primary);
  font-size: 24px;
  line-height: 1.15;
  letter-spacing: 0.14em;
}

.page-shell--carte-cadeau .menu-button {
  position: fixed;
  inset-block-start: 42px;
  inset-inline-end: 78px;
  z-index: 90;
  inline-size: 56px;
  block-size: 56px;
  gap: 4px;
  border: 1px solid rgba(185, 154, 99, 0.48);
  background: rgba(255, 255, 255, 0.76);
  color: var(--gift-card-black);
  box-shadow: 0 12px 30px rgba(33, 25, 16, 0.08);
  pointer-events: auto;
}

.page-shell--carte-cadeau .menu-button__line {
  inline-size: 18px;
  block-size: 2px;
  background: currentColor;
  color: currentColor !important;
}

/* -------------------------------------------------------------------------- */
/* 01 — Hero cadeau : 1920 × 985                                               */
/* -------------------------------------------------------------------------- */

.gift-hero {
  block-size: var(--gift-section-hero-h);
  background:
        linear-gradient(90deg, rgba(247, 244, 239, 0.04) 0%, rgba(247, 244, 239, 0.04) 40%, rgba(0, 0, 0, 0.15) 66%, rgba(0, 0, 0, 1) 100%),
    url("../../assets/images/carte-cadeau-atelier-cocktail.webp") center / cover no-repeat;
}

.gift-hero__inner {
  position: relative;
  block-size: 100%;
}

.gift-hero__copy {
  position: absolute;
  inset-block-start: 310px;
  inset-inline-start: 0;
  z-index: 4;
  inline-size: 700px;
}

.gift-hero__lead {
  max-inline-size: 610px;
  margin: 28px 0 0;
  font-size: 22px;
  line-height: 1.68;
}

.gift-hero__chips {
  display: flex;
  flex-wrap: nowrap;
  gap: 30px;
  max-inline-size: 760px;
  padding: 0;
  margin: 44px 0 0;
  list-style: none;
}

.gift-hero__chips li {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-inline-size: 104px;
  color: var(--gift-text-secondary);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.25;
  white-space: nowrap;
}


.gift-hero__ctas {
  margin-block-start: 56px;
}

.gift-hero__reassurance {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin-block-start: 30px;
  color: var(--gift-text-muted) !important;
  font-size: 15px !important;
}

.gift-hero__media {
  position: absolute;
  inset-block-start: 0;
  inset-inline-end: -80px;
  z-index: 1;
  inline-size: 1080px;
  block-size: var(--gift-section-hero-h);
  margin: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: var(--gift-card-black);
  box-shadow: none;
}

.gift-hero__media img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: 58% center;
  filter: saturate(0.92) contrast(1.02) brightness(0.96);
}

/* -------------------------------------------------------------------------- */
/* 02 — Module de choix : 1920 × 802                                           */
/* -------------------------------------------------------------------------- */

.gift-selector {
  block-size: var(--gift-section-selector-h);
}

.gift-selector .section-shell {
  padding-block-start: 70px;
}

.gift-selector .section-heading {
  margin-block-end: 36px;
}

.gift-card-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 22px;
}

.gift-product-card {
  position: relative;
  display: grid;
  grid-template-rows: 204px auto auto auto 1fr auto;
  min-block-size: 520px;
  padding: 26px 28px 28px;
  border: 1px solid var(--gift-line);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: var(--gift-shadow-card);
}

.gift-product-card.is-selected {
  border-color: var(--gift-selected-border);
  background:
    linear-gradient(180deg, rgba(185, 154, 99, 0.10), rgba(255, 255, 255, 0.90));
}

.gift-product-card__media {
  block-size: 190px;
  margin: -8px -8px 24px;
  overflow: hidden;
  border-radius: 12px;
  background: var(--gift-bg-warm);
}

.gift-product-card__media img,
.gift-experience-card img,
.gift-delivery__media img,
.gift-final-cta__media img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

.gift-product-card__badge {
  justify-self: start;
  margin: 0 0 18px;
  padding: 8px 12px;
  border: 1px solid var(--gift-line);
  border-radius: 15px;
  background: rgba(247, 242, 234, 0.76);
  color: var(--gift-text-muted) !important;
  font-size: 11px !important;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}

.gift-product-card h3 {
  margin-block-end: 14px;
  font-size: 30px;
}

.gift-product-card__price {
  margin: 0 0 18px;
  color: var(--gift-card-gold) !important;
  font-size: 22px !important;
  font-weight: 700;
}

.gift-product-card p:not(.gift-product-card__badge):not(.gift-product-card__price) {
  margin: 0 0 24px;
  font-size: 16px;
  line-height: 1.58;
}

.gift-product-card .button {
  align-self: end;
  min-block-size: 58px;
  padding-inline: 18px;
  font-size: 13px;
}

.gift-selector__microcopy {
  margin-block-start: 34px;
  text-align: center;
  color: var(--gift-card-gold) !important;
  font-size: 16px !important;
  font-style: italic;
}

/* -------------------------------------------------------------------------- */
/* 03 — Personnalisation + preview : 1920 × 797                                */
/* -------------------------------------------------------------------------- */

.gift-personalization {
  block-size: var(--gift-section-personalization-h);
  background:
    radial-gradient(circle at 48% 44%, rgba(185, 154, 99, 0.12), transparent 32%),
    linear-gradient(180deg, var(--gift-bg-ivory), rgba(255, 255, 255, 0.88));
}

.gift-personalization .section-shell {
  padding-block-start: 48px;
}

.gift-personalization .section-heading {
  max-inline-size: 640px;
  margin-block-end: 22px;
}

.gift-personalization .section-heading h2 {
  font-size: 48px;
}

.gift-personalization .section-heading p {
  font-size: 16px;
  line-height: 1.52;
}

.gift-personalization__grid {
  display: grid;
  grid-template-columns: 570px minmax(0, 710px) 360px;
  gap: 40px;
  align-items: start;
}

.gift-form,
.gift-card-preview,
.gift-mobile-preview,
.gift-guide-card,
.gift-experience-card,
.gift-delivery__copy {
  border: 1px solid var(--gift-line);
  border-radius: var(--gift-card-radius);
  background: rgba(255, 255, 255, 0.82);
  box-shadow: var(--gift-shadow-card);
}

.gift-form {
  align-self: stretch;
  padding: 26px 30px;
  margin-bottom: 0;
}

.gift-form__note {
  margin: 0 0 20px;
  color: var(--gift-text-muted) !important;
  font-size: 13px !important;
  line-height: 1.48;
}

.gift-form__field,
.gift-form__fieldset {
  display: grid;
  gap: 8px;
  margin-block-end: 14px;
}

.gift-form label,
.gift-form legend {
  color: var(--gift-text-primary);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.gift-form input,
.gift-form textarea {
  inline-size: 100%;
  min-block-size: 15px;
  border: 1px solid var(--gift-line);
  border-radius: 8px;
  background: var(--gift-surface);
  color: var(--gift-text-primary);
  padding: 12px 14px;
  font: inherit;
  font-size: 15px;
  line-height: 1.45;
}

.gift-form textarea {
  min-block-size: 118px;
  resize: vertical;
}

.gift-form__fieldset {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid var(--gift-line);
  border-radius: 10px;
  padding: 12px;
}

.gift-form__fieldset legend {
  grid-column: 1 / -1;
  margin-block-end: 6px;
}

.gift-form__fieldset label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
  color: var(--gift-text-secondary);
}

.gift-form__counter,
.gift-form__note {
  color: var(--gift-text-muted);
}

.gift-form__counter {
  margin: 0;
  text-align: end;
  font-size: 12px !important;
}

.gift-form .button {
  inline-size: 100%;
  margin-block-start: 6px;
}

.gift-card-preview,
.gift-mobile-preview {
  align-self: start;
  display: grid;
  grid-template-rows: auto auto max-content;
  align-content: start;
  padding: 26px;
  margin-bottom: 0;
}

.gift-card-preview__surface {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 10px;

  min-block-size: 500px;
  block-size: auto;
  max-block-size: none;
  overflow: visible;

  border-radius: var(--gift-preview-radius);
  border: 1px solid rgba(217, 194, 152, 0.58);
  background:
    linear-gradient(135deg, rgba(255, 248, 237, 0.08), rgba(255, 248, 237, 0) 34%),
    radial-gradient(circle at 50% 8%, rgba(217, 194, 152, 0.10), transparent 44%),
    var(--gift-card-black);
  color: var(--gift-text-inverse);
  padding: 42px 50px;
  text-align: center;
  box-shadow: var(--gift-shadow-preview);
}

.gift-mobile-preview__device {
  display: grid;
  align-content: start;
  gap: 14px;

  block-size: clamp(560px, 42vw, 640px);
  max-block-size: 640px;
  overflow: hidden;

  border: 12px solid var(--gift-card-black);
  border-radius: 34px;
  background: linear-gradient(180deg, #fffaf4, #ffffff);
  padding: 28px 22px;
  box-shadow: 0 22px 50px rgba(17, 14, 10, 0.18);
}
.gift-card-preview__mark,
.gift-mobile-preview__card img {
  inline-size: 48px;
  block-size: 48px;
  object-fit: contain;
  opacity: 0.70;
}

.gift-card-preview__brand {
  margin: 0;
  color: var(--gift-card-gold-soft) !important;
  font-size: 13px !important;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.gift-card-preview__title {
  margin: 8px 0 12px;
  color: var(--gift-card-gold-soft) !important;
  font-family: var(--font-serif, 'Cormorant Garamond', serif);
  font-size: 48px !important;
  line-height: 1;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.gift-card-preview__beneficiary,
.gift-card-preview__experience {
  margin: 0;
  color: var(--gift-card-ivory) !important;
  font-size: 22px !important;
  text-transform: uppercase;
}

.gift-card-preview__experience::before,
.gift-card-preview__experience::after {
  content: "";
  display: block;
  inline-size: 260px;
  block-size: 1px;
  margin: 10px auto;
  background: rgba(217, 194, 152, 0.46);
}

.gift-card-preview__message {
  max-inline-size: 420px;
  margin: 12px auto 0;
  color: rgba(255, 248, 237, 0.84) !important;
  font-size: 16px !important;
  line-height: 1.58;
}

.gift-card-preview__from {
  margin: 0;
  color: var(--gift-card-gold-soft) !important;
  font-size: 15px !important;
}

.gift-card-preview__code {
  margin: 8px 0 0;
  border: 1px solid rgba(217, 194, 152, 0.58);
  color: var(--gift-card-gold-soft) !important;
  padding: 8px 14px;
  font-size: 14px !important;
  letter-spacing: 0.16em;
}

.gift-card-preview__microcopy {
  max-inline-size: 420px;
  margin: 8px 0 0;
  color: rgba(255, 248, 237, 0.68) !important;
  font-size: 13px !important;
  line-height: 1.46;
}


.gift-mobile-preview__device {
  flex: 0 0 auto;
  display: grid;
  align-content: start;
  gap: 14px;

  block-size: clamp(560px, 42vw, 640px);
  max-block-size: 640px;
  overflow: hidden;

  border: 12px solid var(--gift-card-black);
  border-radius: 34px;
  background: linear-gradient(180deg, #fffaf4, #ffffff);
  padding: 28px 22px;
  box-shadow: 0 22px 50px rgba(17, 14, 10, 0.18);
}

.gift-mobile-preview__device p {
  margin: 0;
  color: var(--gift-text-secondary) ;
  font-size: 14px ;
  line-height: 1.45;
}

.gift-mobile-preview__recipient {
  color: var(--gift-text-primary) !important;
  font-weight: 700;
}

.gift-mobile-preview__card {
  display: grid;
  justify-items: center;
  gap: 8px;
  margin-block: 6px;
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(255, 248, 237, 0.08), transparent 40%),
    var(--gift-card-black);
  color: var(--gift-card-gold-soft);
  padding: 24px 18px;
  text-align: center;
}

.gift-mobile-preview__card span {
  font-family: var(--font-serif, 'Cormorant Garamond', serif);
  font-size: 22px;
  text-transform: uppercase;
}

.gift-mobile-preview__card strong {
  color: var(--gift-card-ivory);
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 400;
}

.gift-mobile-preview__code {
  color: var(--gift-card-gold) !important;
  font-weight: 700;
}

.gift-mobile-preview__device .button {
  min-block-size: 46px;
  margin-block-start: 6px;
  padding-inline: 14px;
  font-size: 12px;
}

/* -------------------------------------------------------------------------- */
/* 04 — Comment ça marche                                                      */
/* -------------------------------------------------------------------------- */

.gift-how {
  block-size: auto;
  background: var(--gift-surface-soft);
}

.gift-how .section-shell {
  padding-block: 76px 58px;
}

.gift-how .section-heading {
  margin-block-end: 48px;
}

.gift-how .section-heading h2 {
  font-size: clamp(44px, 3.2vw, 58px);
  line-height: 1.02;
}

.gift-steps {
  counter-reset: gift-step;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  padding: 0;
  margin: 0;
  list-style: none;
}

.gift-steps li {
  counter-increment: gift-step;
  position: relative;
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  grid-template-rows: auto auto auto;
  column-gap: 22px;
  row-gap: 10px;
  min-block-size: 172px;
  padding: 0 56px;
  border-inline-end: 1px solid var(--gift-line);
}

.gift-steps li:last-child {
  border-inline-end: 0;
}

.gift-how .gift-delivery__icon2 {
  grid-column: 1 / -1;
  justify-self: center;
  display: grid;
  place-items: center;
	inline-size: 88px;
  block-size: 120px;
  margin-block-end: 35px;
  color: var(--gift-card-gold);
}

.gift-how .gift-delivery__icon2 img {
  display: block;
  inline-size: 72px;
  block-size: 72px;
  object-fit: contain;
  opacity: 0.82;
}

.gift-steps__number {
  grid-column: 1;
  grid-row: 2 / span 2;
  position: static;
  display: block;
  inline-size: auto;
  block-size: auto;
  border: 0;
  border-radius: 0;
  color: var(--gift-card-gold);
  font-family: var(--font-kicker, 'Inter', sans-serif);
  font-size: 0;
  font-weight: 700;
  letter-spacing: 0.14em;
  line-height: 1;
}

.gift-steps__number::before {
  content: counter(gift-step, decimal-leading-zero);
  font-size: 40px;
}

.gift-steps h3 {
  grid-column: 2;
  grid-row: 2;
  margin: 0;
  font-family: var(--font-serif, 'Cormorant Garamond', serif);
  font-size: 30px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
}

.gift-steps p {
  grid-column: 2;
  grid-row: 3;
  max-inline-size: 420px;
  margin: 0;
  color: rgba(23, 20, 17, 0.78);
  font-size: 15px;
  line-height: 1.55;
}

.gift-how__microcopy {
  margin-block-start: 42px;
  text-align: center;
  color: var(--gift-card-gold) !important;
  font-size: 16px !important;
  font-style: italic;
}

@media (max-width: 1023px) {
  .gift-how .section-shell {
    padding-block: 64px 52px;
  }

  .gift-steps {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .gift-steps li {
    grid-template-columns: 58px minmax(0, 1fr);
    min-block-size: auto;
    padding: 0;
    border-inline-end: 0;
    border-block-end: 1px solid var(--gift-line);
    padding-block-end: 30px;
  }

  .gift-steps li:last-child {
    border-block-end: 0;
    padding-block-end: 0;
  }

  .gift-how .gift-delivery__icon2 {
    justify-self: start;
    margin-inline-start: 80px;
  }
}

@media (max-width: 767px) {
  .gift-how .section-shell {
    padding-block: 54px 44px;
  }

  .gift-how .section-heading {
    margin-block-end: 36px;
  }

  .gift-how .section-heading h2 {
    font-size: 38px;
  }

  .gift-steps {
    gap: 28px;
  }

  .gift-steps li {
    grid-template-columns: 48px minmax(0, 1fr);
    column-gap: 16px;
  }

  .gift-how .gift-delivery__icon2 {
    inline-size: 60px;
    block-size: 60px;
    margin-inline-start: 64px;
  }

  .gift-how .gift-delivery__icon2 img {
    inline-size: 46px;
    block-size: 46px;
  }

  .gift-steps h3 {
    font-size: 26px;
  }

  .gift-steps p {
    font-size: 14.5px;
  }

  .gift-how__microcopy {
    margin-block-start: 34px;
    font-size: 14px !important;
    line-height: 1.45;
  }
}
/* -------------------------------------------------------------------------- */
/* 05 — Guide de choix : 1920 × 296                                            */
/* -------------------------------------------------------------------------- */

.gift-choice-guide {
  block-size: var(--gift-section-choice-guide-h);
  background: linear-gradient(180deg, var(--gift-bg-ivory), rgba(255, 255, 255, 0.80));
}

.gift-choice-guide .section-shell {
  padding-block-start: 44px;
}

.gift-choice-guide .section-heading {
  margin-block-end: 28px;
}

.gift-guide-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 20px;
}

.gift-guide-card {
  min-block-size: 108px;
  padding: 22px 24px;
  border-radius: 14px;
}

.gift-guide-card h3 {
  margin-block-end: 8px;
  font-size: 19px;
  font-family: var(--font-sans, 'Inter', sans-serif);
  letter-spacing: -0.02em;
}

.gift-guide-card p {
  margin: 0;
  color: var(--gift-card-gold) !important;
  font-weight: 700;
}

/* -------------------------------------------------------------------------- */
/* 06 — Expérience offerte : 1920 × 501                                        */
/* -------------------------------------------------------------------------- */

.gift-experience {
  block-size: var(--gift-section-experience-h);
  background: rgba(255, 255, 255, 0.72);
}

.gift-experience .section-shell {
  padding-block-start: 54px;
}

.gift-experience .section-heading {
  margin-block-end: 30px;
}

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

.gift-experience-card {
  overflow: hidden;
  padding: 0 0 24px;
  border-radius: 15px;
}

.gift-experience-card img {
  block-size: 202px;
  margin-block-end: 24px;
  border-radius: 0;
}

.gift-experience-card h3,
.gift-experience-card p {
  margin-inline: 26px;
}

.gift-experience-card h3 {
  margin-block-end: 8px;
}

.gift-experience-card p {
  margin-block-start: 0;
  font-size: 16px;
}

/* -------------------------------------------------------------------------- */
/* 07 — Réception + présentation : 1920 × 569                                  */
/* -------------------------------------------------------------------------- */

.gift-delivery {
  block-size: var(--gift-section-delivery-h);
  background:
    radial-gradient(circle at 50% 38%, rgba(185, 154, 99, 0.10), transparent 28%),
    var(--gift-bg-ivory);
}

.gift-delivery__grid {
  display: grid;
  grid-template-columns: 520px minmax(0, 1fr);
  gap: 60px;
  align-items: center;
  padding-block-start: 70px;
}

.gift-delivery__copy {
  padding: 44px 46px;
}

.gift-delivery__copy h2 {
  margin-block-end: 22px;
}

.gift-delivery__proofs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 24px;
  padding: 0;
  margin: 0 0 30px;
  list-style: none;
}

.gift-delivery__proofs li {
  position: relative;
  padding-inline-start: 32px;
  font-size: 16px;
}

.gift-delivery__proofs li::before {
  content: "";
  position: absolute;
  inset-block-start: 8px;
  inset-inline-start: 0;
  inline-size: 16px;
  block-size: 16px;
  border: 1px solid var(--gift-card-gold);
  border-radius: 50%;
}

.gift-delivery__media {
  block-size: 418px;
  margin: 0;
  overflow: hidden;
  border-radius: var(--gift-panel-radius);
  border: 1px solid var(--gift-line-soft);
  background: var(--gift-card-black);
  box-shadow: var(--gift-shadow-floating);
}

/* -------------------------------------------------------------------------- */
/* 08 — CTA final premium : 1920 × 473                                         */
/* -------------------------------------------------------------------------- */

.gift-final-cta {
  block-size: var(--gift-section-final-cta-h);
  background:
    linear-gradient(90deg, rgba(17, 16, 13, 0.94), rgba(17, 16, 13, 0.78)),
    var(--gift-card-black);
  color: var(--gift-text-inverse);
}

.gift-final-cta__inner {
  display: grid;
  grid-template-columns: minmax(0, 720px) minmax(0, 820px);
  gap: 100px;
  align-items: center;
  block-size: 100%;
}

.gift-final-cta h2,
.gift-final-cta p {
  color: var(--gift-text-inverse);
}

.gift-final-cta h2 {
  margin-block-end: 30px;
}

.gift-final-cta__media {
  block-size: 320px;
  margin: 0;
  overflow: hidden;
  border-radius: var(--gift-panel-radius);
  border: 1px solid rgba(217, 194, 152, 0.25);
  background: var(--gift-card-black);
}

.gift-final-cta .button--secondary {
  color: var(--gift-text-inverse);
  background: transparent;
  border-color: rgba(255, 248, 237, 0.42);
}

/* -------------------------------------------------------------------------- */
/* 09 — Barre réassurance : 1920 × 310                                         */
/* -------------------------------------------------------------------------- */

.gift-trust-bar {
  block-size: var(--gift-section-trust-h);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.86), var(--gift-bg-ivory));
}

.gift-trust-bar .section-shell {
  display: flex;
  align-items: center;
  block-size: 100%;
}

.gift-trust-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  inline-size: 100%;
  gap: 0;
  padding: 0;
  margin: 0;
  list-style: none;
  border: 1px solid rgba(223, 210, 193, 0.66);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.64);
}

.gift-trust-list li {
  display: grid;
  align-content: center;
  justify-items: center;
  min-block-size: 122px;
  padding: 24px 28px;
  border-inline-end: 1px solid var(--gift-line);
  color: var(--gift-text-secondary);
  text-align: center;
  font-size: 15px;
  line-height: 1.42;
}

.gift-trust-list li:last-child {
  border-inline-end: 0;
}

.gift-trust-list img {
  inline-size: 34px;
  block-size: 34px;
  margin-block-end: 12px;
  opacity: 0.62;
}

/* -------------------------------------------------------------------------- */
/* Footer commun : 1920 × 648                                                  */
/* -------------------------------------------------------------------------- */

.page-shell--carte-cadeau .discovery-footer {
  block-size: var(--gift-section-footer-h);
  padding: 0;
  background:
    radial-gradient(circle at 9% 14%, rgba(185, 154, 99, 0.10), transparent 30%),
    #0d0e0d;
  color: rgba(255, 248, 237, 0.78);
}

.page-shell--carte-cadeau .discovery-footer__inner {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 96px;
  min-block-size: 100%;
  padding-block: 92px 50px;
}

.page-shell--carte-cadeau .discovery-footer__brand p,
.page-shell--carte-cadeau .discovery-footer a,
.page-shell--carte-cadeau .discovery-footer li,
.page-shell--carte-cadeau .discovery-footer__bottom p {
  color: rgba(255, 248, 237, 0.70);
}

.page-shell--carte-cadeau .discovery-footer .brand {
  color: var(--gift-text-inverse);
}

.page-shell--carte-cadeau .discovery-footer .brand__text {
  color: var(--gift-text-inverse);
}

.page-shell--carte-cadeau .discovery-footer__brand p {
  max-inline-size: 270px;
  margin-block-start: 28px;
  font-size: 15px;
  line-height: 1.7;
}

.page-shell--carte-cadeau .discovery-footer__nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 56px;
}

.page-shell--carte-cadeau .discovery-footer__column h2 {
  margin: 0 0 26px;
  color: var(--gift-card-gold);
  font-size: 14px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.page-shell--carte-cadeau .discovery-footer__column ul,
.page-shell--carte-cadeau .discovery-footer__bottom ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.page-shell--carte-cadeau .discovery-footer__column li + li {
  margin-block-start: 14px;
}

.page-shell--carte-cadeau .discovery-footer a {
  text-decoration: none;
}

.page-shell--carte-cadeau .discovery-footer__bottom {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  align-self: end;
  padding-block-start: 38px;
  border-block-start: 1px solid rgba(255, 248, 237, 0.12);
}

.page-shell--carte-cadeau .discovery-footer__bottom ul {
  display: flex;
  gap: 48px;
}

/* -------------------------------------------------------------------------- */
/* Structures futures conservées sans interaction                              */
/* -------------------------------------------------------------------------- */

.sticky-cta-shell--gift-card[hidden] {
  display: none !important;
}

/* Hooks futurs pour preview temps réel — ne pas supprimer. */
/*
  Champs :
  [data-gift-field="beneficiary_name"]
  [data-gift-field="message"]
  [data-gift-field="from_name"]
  [data-gift-field="delivery_mode"]
  [data-gift-field="beneficiary_email"]
  [data-gift-field="delivery_date"]

  Aperçu carte desktop :
  [data-gift-preview="card-beneficiary"]
  [data-gift-preview="card-message"]
  [data-gift-preview="card-from"]
  [data-gift-preview="card-experience"]
  [data-gift-preview="card-code"]

  Aperçu mobile :
  [data-gift-preview="mobile-beneficiary"]
  [data-gift-preview="mobile-message"]
  [data-gift-preview="mobile-from"]
  [data-gift-preview="mobile-experience"]
  [data-gift-preview="mobile-code"]

  Compteur et live region :
  [data-gift-counter="message"]
  [data-gift-live-region]
*/


/* -------------------------------------------------------------------------- */
/* Étape 4 — Responsive Carte Cadeau                                           */
/* Les media queries commencent sous 1920 px pour préserver le desktop validé.  */
/* -------------------------------------------------------------------------- */

@media (max-width: 1919px) {
  :root {
    --gift-container-desktop: 1640px;
    --gift-margin-desktop: 64px;
    --gift-h1-size-desktop: clamp(64px, 4.8vw, 78px);
    --gift-h2-size-desktop: clamp(42px, 3.3vw, 50px);
    --gift-h3-size-desktop: 25px;
    --gift-body-size-desktop: 17px;
    --gift-section-hero-h: clamp(800px, 56vw, 940px);
    --gift-section-selector-h: auto;
    --gift-section-personalization-h: auto;
    --gift-section-how-h: auto;
    --gift-section-choice-guide-h: auto;
    --gift-section-experience-h: auto;
    --gift-section-delivery-h: auto;
    --gift-section-final-cta-h: auto;
    --gift-section-trust-h: auto;
    --gift-section-footer-h: auto;
  }

  .page-shell--carte-cadeau .site-header {
    inset-block-start: 28px;
  }

  .page-shell--carte-cadeau .menu-button {
    inset-block-start: 36px;
    inset-inline-end: var(--gift-margin-desktop);
  }

  .gift-hero__copy {
    inline-size: clamp(560px, 42vw, 650px);
  }

  .gift-hero__lead {
    max-inline-size: 560px;
    font-size: 20px;
  }

  .gift-hero__chips {
    gap: 22px;
    flex-wrap: wrap;
    max-inline-size: 690px;
    margin-block-start: 38px;
  }

  .gift-hero__ctas {
    margin-block-start: 46px;
  }

  .gift-hero__media {
    inset-inline-end: calc(var(--gift-margin-desktop) * -1);
    inline-size: clamp(760px, 55vw, 1000px);
    block-size: var(--gift-section-hero-h);
  }

  .gift-selector,
  .gift-personalization,
  .gift-how,
  .gift-choice-guide,
  .gift-experience,
  .gift-delivery,
  .gift-final-cta,
  .gift-trust-bar,
  .page-shell--carte-cadeau .discovery-footer {
    block-size: auto;
  }

  .gift-selector .section-shell,
  .gift-personalization .section-shell,
  .gift-how .section-shell,
  .gift-choice-guide .section-shell,
  .gift-experience .section-shell,
  .gift-delivery__grid,
  .gift-trust-bar .section-shell {
    padding-block: 72px;
  }

  .gift-card-grid {
    gap: 18px;
  }

  .gift-product-card {
    grid-template-rows: 176px auto auto auto 1fr auto;
    min-block-size: 500px;
    padding: 22px;
  }

  .gift-product-card__media {
    block-size: 166px;
  }

  .gift-product-card h3 {
    font-size: 26px;
  }

  .gift-product-card p:not(.gift-product-card__badge):not(.gift-product-card__price) {
    font-size: 15px;
  }

  .gift-personalization__grid {
    grid-template-columns: minmax(0, 520px) minmax(0, 1fr) minmax(280px, 330px);
    gap: 28px;
  }

  .gift-form {
    padding: 24px;
  }

  .gift-form__fieldset {
    grid-template-columns: 1fr;
  }

  .gift-card-preview,
  .gift-mobile-preview {
    padding: 22px;
  }

  .gift-card-preview__surface {
    min-block-size: 460px;
    padding: 34px 38px;
  }

  .gift-card-preview__title {
    font-size: 42px !important;
  }

  .gift-mobile-preview__device {
    border-width: 10px;
    border-radius: 30px;
    padding: 24px 18px;
  }
.gift-mobile-preview {
  align-self: start;
}

.gift-mobile-preview__device {
  block-size: clamp(520px, 46vw, 600px);
  max-block-size: 600px;
}
  .gift-choice-guide .section-shell {
    padding-block: 54px;
  }

  .gift-guide-grid {
    gap: 16px;
  }

  .gift-guide-card {
    padding: 20px;
  }

  .gift-guide-card h3 {
    font-size: 18px;
  }

  .gift-experience-card img {
    block-size: 180px;
  }

  .gift-delivery__grid {
    grid-template-columns: 470px minmax(0, 1fr);
    gap: 44px;
  }

  .gift-final-cta__inner {
    min-block-size: 430px;
    grid-template-columns: minmax(0, 660px) minmax(0, 1fr);
    gap: 64px;
    padding-block: 64px;
  }

  .gift-final-cta__media {
    block-size: 300px;
  }

  .gift-trust-list li {
    padding: 22px 18px;
  }

  .page-shell--carte-cadeau .discovery-footer__inner {
    min-block-size: 620px;
    padding-block: 78px 44px;
    gap: 64px;
  }
}

@media (max-width: 1439px) {
  :root {
    --gift-margin-desktop: 48px;
    --gift-h1-size-desktop: clamp(56px, 5vw, 68px);
    --gift-h2-size-desktop: 40px;
    --gift-body-size-desktop: 16px;
    --gift-section-hero-h: auto;
  }

  .page-shell--carte-cadeau .brand {
    inline-size: 230px;
  }

  .page-shell--carte-cadeau .brand__mark {
    flex-basis: 50px;
    inline-size: 50px;
    block-size: 68px;
  }

  .page-shell--carte-cadeau .brand__text {
    inline-size: 150px;
    font-size: 20px;
  }

  .gift-hero {
    min-block-size: 820px;
  }

  .gift-hero__copy {
    inset-block-start: 300px;
    inline-size: 52ch;
  }

  .gift-hero__media {
    inline-size: 52vw;
    min-inline-size: 600px;
    block-size: 820px;
  }

  .gift-hero__lead {
    font-size: 18px;
  }

  .gift-hero__chips {
    max-inline-size: 600px;
    gap: 14px 18px;
  }

  .gift-hero__chips li {
    font-size: 14px;
  }

  .gift-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .gift-product-card {
    grid-template-rows: 180px auto auto auto 1fr auto;
    min-block-size: 470px;
  }

  .gift-product-card:nth-child(4),
  .gift-product-card:nth-child(5) {
    min-block-size: 430px;
  }

  .gift-personalization__grid {
    grid-template-columns: minmax(0, 520px) minmax(0, 1fr);
    align-items: start;
  }

  .gift-form {
    grid-row: span 2;
  }

  .gift-card-preview__surface {
    min-block-size: 420px;
  }

  .gift-mobile-preview__device {
    min-block-size: 370px;
  }

  .gift-steps li {
    padding-inline: 60px 34px;
  }

  .gift-guide-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .gift-experience-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gift-experience-card img {
    block-size: 210px;
  }

  .gift-delivery__grid {
    grid-template-columns: minmax(0, 470px) minmax(0, 1fr);
  }

  .gift-delivery__proofs {
    grid-template-columns: 1fr;
  }

  .gift-final-cta__inner {
    grid-template-columns: minmax(0, 560px) minmax(0, 1fr);
    gap: 44px;
  }

  .gift-trust-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .gift-trust-list li {
    border-block-end: 1px solid var(--gift-line);
  }

  .gift-trust-list li:nth-child(3),
  .gift-trust-list li:nth-child(5) {
    border-inline-end: 0;
  }

  .gift-trust-list li:nth-child(n+4) {
    border-block-end: 0;
  }

  .page-shell--carte-cadeau .discovery-footer__inner {
    grid-template-columns: 300px 1fr;
    gap: 50px;
  }

  .page-shell--carte-cadeau .discovery-footer__nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 42px 50px;
  }
}

@media (max-width: 1279px) {
  :root {
    --gift-margin-desktop: 40px;
    --gift-h1-size-desktop: clamp(50px, 6vw, 62px);
    --gift-h2-size-desktop: clamp(34px, 4.6vw, 42px);
    --gift-h3-size-desktop: 23px;
  }

  .page-shell--carte-cadeau .section-shell {
    inline-size: min(calc(100% - (var(--gift-margin-desktop) * 2)), 1120px);
  }

  .page-shell--carte-cadeau .site-header {
    position: absolute;
    inset-block-start: 24px;
  }

  .page-shell--carte-cadeau .menu-button {
    inset-block-start: 32px;
    inset-inline-end: var(--gift-margin-desktop);
  }

  .gift-hero {
    min-block-size: 0;
    padding-block: 150px 72px;
  }

  .gift-hero::before {
    display: none;
  }

  .gift-hero__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 42px;
    block-size: auto;
  }

  .gift-hero__copy,
  .gift-hero__media {
    position: relative;
    inset: auto;
    inline-size: 100%;
    min-inline-size: 0;
    block-size: auto;
  }

  .gift-hero__copy {
    max-inline-size: 780px;
  }

  .gift-hero__media {
    aspect-ratio: 16 / 8;
    border-radius: 20px;
    box-shadow: var(--gift-shadow-floating);
  }

  .gift-hero__ctas .button,
  .gift-final-cta .button {
    min-inline-size: 220px;
  }

  .gift-selector .section-shell,
  .gift-personalization .section-shell,
  .gift-how .section-shell,
  .gift-choice-guide .section-shell,
  .gift-experience .section-shell,
  .gift-delivery__grid,
  .gift-trust-bar .section-shell {
    padding-block: 64px;
  }

  .gift-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gift-product-card {
    min-block-size: 450px;
  }

  .gift-personalization .section-heading,
  .gift-personalization .section-heading h2 {
    max-inline-size: 780px;
  }

  .gift-personalization__grid {
    grid-template-columns: 1fr;
  }

  .gift-form {
    grid-row: auto;
  }

  .gift-form__fieldset {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

.gift-card-preview__surface {
  block-size: auto;
  max-block-size: none;
  min-block-size: 380px;
  overflow: visible;
  padding: 28px 22px;
}

  .gift-mobile-preview {
    max-inline-size: 520px;
    justify-self: center;
    inline-size: 100%;
  }

  .gift-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .gift-steps li {
    padding-inline: 52px 24px;
  }

  .gift-guide-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gift-delivery__grid {
    grid-template-columns: 1fr;
  }

  .gift-delivery__media {
    block-size: auto;
    aspect-ratio: 16 / 7;
  }

  .gift-final-cta__inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .gift-final-cta__media {
    block-size: auto;
    aspect-ratio: 16 / 7;
  }

  .gift-trust-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gift-trust-list li:nth-child(odd) {
    border-inline-end: 1px solid var(--gift-line);
  }

  .gift-trust-list li:nth-child(even),
  .gift-trust-list li:nth-child(5) {
    border-inline-end: 0;
  }

  .gift-trust-list li:nth-child(n+4) {
    border-block-end: 1px solid var(--gift-line);
  }

  .gift-trust-list li:last-child {
    grid-column: 1 / -1;
    border-block-end: 0;
  }
}

@media (max-width: 1023px) {
  :root {
    --gift-margin-desktop: 32px;
    --gift-h1-size-desktop: clamp(44px, 7vw, 58px);
    --gift-h2-size-desktop: clamp(32px, 5.5vw, 40px);
  }

  .page-shell--carte-cadeau .brand {
    inline-size: 210px;
  }

  .page-shell--carte-cadeau .brand__mark {
    flex-basis: 44px;
    inline-size: 44px;
    block-size: 60px;
  }

  .page-shell--carte-cadeau .brand__text {
    inline-size: 140px;
    font-size: 18px;
  }

  .page-shell--carte-cadeau .menu-button {
    inline-size: 52px;
    block-size: 52px;
  }

  .gift-hero {
    padding-block: 132px 58px;
  }

  .gift-hero__media {
    aspect-ratio: 16 / 9;
  }

  .gift-hero__chips {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-inline-size: 720px;
  }

  .gift-hero__chips li {
    min-inline-size: 0;
  }

  .gift-hero__ctas,
  .gift-final-cta .cta-group {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .gift-hero__ctas .button,
  .gift-final-cta .button {
    inline-size: 100%;
    min-inline-size: 0;
  }

  .gift-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gift-product-card {
    grid-template-rows: 170px auto auto auto 1fr auto;
    min-block-size: 430px;
  }

  .gift-form__fieldset {
    grid-template-columns: 1fr;
  }

  .gift-card-preview__surface {
    min-block-size: 400px;
    padding: 32px;
  }

  .gift-card-preview__title {
    font-size: 38px !important;
  }

  .gift-mobile-preview {
    max-inline-size: 440px;
  }

  .gift-steps {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .gift-steps li {
    min-block-size: 0;
    padding: 0 0 0 68px;
    border-inline-end: 0;
  }

  .gift-steps__number {
    inset-inline-start: 0;
  }

  .gift-guide-grid,
  .gift-experience-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gift-experience-card img {
    block-size: 190px;
  }

  .gift-delivery__copy {
    padding: 34px;
  }

  .page-shell--carte-cadeau .discovery-footer__inner {
    grid-template-columns: 1fr;
    gap: 44px;
    padding-block: 64px 40px;
  }

  .page-shell--carte-cadeau .discovery-footer__brand p {
    max-inline-size: 520px;
  }
}

@media (max-width: 767px) {
  :root {
    --gift-margin-desktop: 24px;
    --gift-h1-size-desktop: clamp(38px, 10.2vw, 48px);
    --gift-h2-size-desktop: clamp(30px, 8vw, 36px);
    --gift-h3-size-desktop: 22px;
    --gift-body-size-desktop: 15px;
  }

  .page-shell--carte-cadeau {
    overflow-x: hidden;
  }

  .gift-card-main .page-section {
    scroll-margin-block-start: 84px;
  }

  .page-shell--carte-cadeau .site-header {
    inset-block-start: 16px;
  }

  .page-shell--carte-cadeau .site-header__inner {
    min-block-size: 58px;
  }

  .page-shell--carte-cadeau .brand {
    inline-size: 184px;
    min-block-size: 58px;
    gap: 10px;
  }

  .page-shell--carte-cadeau .brand__mark {
    flex-basis: 38px;
    inline-size: 38px;
    block-size: 52px;
  }

  .page-shell--carte-cadeau .brand__text {
    inline-size: 122px;
    font-size: 15px;
  }

  .page-shell--carte-cadeau .menu-button {
    inset-block-start: 20px;
    inset-inline-end: 22px;
    inline-size: 46px;
    block-size: 46px;
  }

  .gift-card-main h1 {
    max-inline-size: 100%;
  }

  .gift-card-main h2 {
    line-height: 1.1;
  }

  .section-heading {
    margin-block-end: 28px;
  }

  .page-shell--carte-cadeau .button {
    min-block-size: 54px;
    inline-size: 100%;
    justify-content: center;
  }

  .gift-hero {
    padding-block: 104px 44px;
  }

  .gift-hero__inner {
    gap: 28px;
  }

  .gift-hero__copy {
    order: 1;
  }

  .gift-hero__media {
    order: 2;
    aspect-ratio: 4 / 3;
    border-radius: 16px;
  }

  .gift-hero__lead {
    margin-block-start: 20px;
    font-size: 16px;
    line-height: 1.58;
  }

  .gift-hero__chips {
    display: flex;
    flex-wrap: nowrap;
    max-inline-size: none;
    margin-inline: calc(var(--gift-margin-desktop) * -1);
    padding-inline: var(--gift-margin-desktop);
    padding-block-end: 8px;
    gap: 12px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
  }

  .gift-hero__chips::-webkit-scrollbar {
    display: none;
  }

  .gift-hero__chips li {
    flex: 0 0 auto;
    min-inline-size: max-content;
    padding: 10px 12px;
    border: 1px solid var(--gift-line);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.64);
  }

  .gift-hero__chips li::before {
    inline-size: 18px;
    block-size: 18px;
    margin-inline-end: 8px;
  }

  .gift-hero__ctas,
  .gift-final-cta .cta-group {
    grid-template-columns: 1fr;
    margin-block-start: 34px;
  }

  .gift-hero__reassurance {
    align-items: flex-start;
    margin-block-start: 20px;
    font-size: 13px !important;
  }

  .gift-selector .section-shell,
  .gift-personalization .section-shell,
  .gift-how .section-shell,
  .gift-choice-guide .section-shell,
  .gift-experience .section-shell,
  .gift-delivery__grid,
  .gift-trust-bar .section-shell {
    padding-block: 48px;
  }

  .gift-card-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .gift-product-card,
  .gift-product-card:nth-child(4),
  .gift-product-card:nth-child(5) {
    grid-template-rows: auto;
    min-block-size: 0;
    padding: 20px;
  }

  .gift-product-card__media {
    block-size: auto;
    aspect-ratio: 16 / 8;
    margin-block-end: 18px;
  }

  .gift-product-card h3 {
    font-size: 25px;
  }

  .gift-product-card__price {
    font-size: 20px !important;
  }

  .gift-selector__microcopy {
    margin-block-start: 24px;
    font-size: 14px !important;
  }

  .gift-personalization .section-heading h2 {
    font-size: var(--gift-h2-size-desktop);
  }

  .gift-personalization__grid {
    gap: 22px;
  }

  .gift-form,
  .gift-card-preview,
  .gift-mobile-preview,
  .gift-delivery__copy {
    padding: 20px;
  }

  .gift-form input,
  .gift-form textarea {
    min-block-size: 50px;
    font-size: 16px;
  }

  .gift-form textarea {
    min-block-size: 150px;
  }
  .gift-card-preview__surface {
    block-size: clamp(485px, 42vw, 540px);
    max-block-size: 540px;
    min-block-size: 0;
    padding: 28px 22px;
  }

  .gift-card-preview__title {
    font-size: 34px !important;
  }

  .gift-card-preview__beneficiary,
  .gift-card-preview__experience {
    font-size: 17px !important;
  }

  .gift-card-preview__message {
    max-inline-size: 100%;
    font-size: 15px !important;
  }

  .gift-mobile-preview {
    max-inline-size: 100%;
  }

.gift-mobile-preview__device {
  block-size: auto;
  max-block-size: none;
  min-block-size: 0;
  border-width: 8px;
  border-radius: 26px;
}

  .gift-guide-grid,
  .gift-experience-grid {
    grid-template-columns: 1fr;
  }

  .gift-guide-card,
  .gift-experience-card {
    min-block-size: 0;
  }

  .gift-experience-card img {
    block-size: auto;
    aspect-ratio: 16 / 9;
  }

  .gift-delivery__proofs {
    grid-template-columns: 1fr;
  }

  .gift-delivery__media {
    aspect-ratio: 4 / 3;
  }

  .gift-final-cta__inner {
    padding-block: 50px;
  }

  .gift-final-cta__media {
    aspect-ratio: 4 / 3;
  }

  .gift-trust-list {
    grid-template-columns: 1fr;
  }

  .gift-trust-list li,
  .gift-trust-list li:nth-child(odd),
  .gift-trust-list li:nth-child(even),
  .gift-trust-list li:nth-child(5) {
    min-block-size: 96px;
    border-inline-end: 0;
    border-block-end: 1px solid var(--gift-line);
  }

  .gift-trust-list li:last-child {
    grid-column: auto;
    border-block-end: 0;
  }

  .page-shell--carte-cadeau .discovery-footer__inner {
    padding-block: 52px 34px;
  }

  .page-shell--carte-cadeau .discovery-footer__nav {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .page-shell--carte-cadeau .discovery-footer__bottom,
  .page-shell--carte-cadeau .discovery-footer__bottom ul {
    display: grid;
    gap: 16px;
  }

  .sticky-cta-shell--gift-card {
    position: fixed;
    inset-inline: 16px;
    inset-block-end: calc(16px + env(safe-area-inset-bottom));
    z-index: 80;
    padding: 0;
    border-radius: 999px;
    box-shadow: var(--gift-shadow-floating);
  }
}

@media (max-width: 389px) {
  :root {
    --gift-margin-desktop: 18px;
    --gift-h1-size-desktop: 35px;
    --gift-h2-size-desktop: 28px;
  }

  .page-shell--carte-cadeau .brand {
    inline-size: 166px;
  }

  .page-shell--carte-cadeau .brand__text {
    font-size: 14px;
  }

  .page-shell--carte-cadeau .menu-button {
    inset-inline-end: 16px;
    inline-size: 42px;
    block-size: 42px;
  }

  .gift-hero {
    padding-block-start: 96px;
  }

  .gift-product-card,
  .gift-form,
  .gift-card-preview,
  .gift-mobile-preview,
  .gift-delivery__copy {
    padding: 18px;
  }

  .gift-card-preview__surface {
    min-block-size: 350px;
    padding: 24px 16px;
  }

  .gift-card-preview__title {
    font-size: 30px !important;
  }

  .gift-mobile-preview__card {
    padding: 20px 14px;
  }
}

/* -------------------------------------------------------------------------- */
/* Étape 5 — états interactifs, personnalisation temps réel, sticky mobile      */
/* -------------------------------------------------------------------------- */

.gift-product-card,
.gift-guide-card,
.gift-experience-card,
.gift-delivery__copy,
.gift-trust-list li,
.gift-card-preview__surface,
.gift-mobile-preview__device {
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease,
    background-color 180ms ease,
    opacity 180ms ease;
}

.gift-product-card:hover,
.gift-guide-card:hover,
.gift-experience-card:hover,
.gift-delivery__copy:hover {
  transform: translateY(-4px);
  border-color: var(--gift-line-strong);
  box-shadow: var(--gift-shadow-floating);
}

.gift-product-card:focus-within,
.gift-guide-card:focus-visible,
.gift-form input:focus-visible,
.gift-form textarea:focus-visible,
.gift-form input[type="radio"]:focus-visible,
.page-shell--carte-cadeau a:focus-visible,
.page-shell--carte-cadeau button:focus-visible {
  outline: var(--gift-focus-ring);
  outline-offset: 4px;
  box-shadow: var(--gift-focus-shadow);
}

.gift-product-card.is-selected {
  border-color: var(--gift-selected-border);
  background:
    linear-gradient(180deg, rgba(185, 154, 99, 0.16), rgba(255, 255, 255, 0.92));
  box-shadow: 0 24px 64px rgba(33, 25, 16, 0.14);
}

.gift-product-card.is-selected::after {
  content: "Carte sélectionnée";
  position: absolute;
  inset-block-start: 18px;
  inset-inline-end: 18px;
  padding: 8px 11px;
  border: 1px solid rgba(185, 154, 99, 0.44);
  border-radius: 999px;
  background: rgba(255, 248, 237, 0.92);
  color: var(--gift-card-gold);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}

.gift-product-card:active,
.gift-guide-card:active,
.page-shell--carte-cadeau .button:active {
  transform: translateY(-1px);
}

.gift-guide-card {
  cursor: pointer;
}

.gift-guide-card.is-selected {
  border-color: var(--gift-selected-border);
  background: var(--gift-selected-bg);
}

.gift-form__fieldset label {
  border-radius: 8px;
  padding: 6px 8px;
  transition: background-color 160ms ease, color 160ms ease;
}

.gift-form__fieldset label.is-active {
  background: rgba(185, 154, 99, 0.12);
  color: var(--gift-text-primary);
}
.gift-form__fieldset label {
  justify-content: center;
  min-inline-size: 0;
  white-space: nowrap;
}

.gift-form__fieldset input[type="radio"] {
  flex: 0 0 16px;
  inline-size: 16px;
  block-size: 16px;
  min-block-size: 0;
  margin: 0;
  padding: 0;
  border-radius: 50%;
  accent-color: var(--gift-card-gold);
}
[data-gift-conditional][hidden] {
  display: none !important;
}

.gift-form__counter.is-near-limit {
  color: var(--gift-card-gold) !important;
  font-weight: 700;
}

.gift-form__counter.is-at-limit {
  color: var(--gift-error) !important;
}

[data-gift-preview="card-beneficiary"],
[data-gift-preview="card-experience"],
[data-gift-preview="mobile-beneficiary"],
[data-gift-preview="mobile-experience"] {
  overflow-wrap: anywhere;
  hyphens: auto;
}

[data-gift-preview="card-message"],
[data-gift-preview="mobile-message"] {
  overflow-wrap: anywhere;
  white-space: pre-line;
}

[data-gift-preview="card-message"] {
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

[data-gift-preview="mobile-message"] {
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.sticky-cta-shell--gift-card.is-visible:not([hidden]) {
  display: block;
}

.sticky-cta-shell--gift-card .button {
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  gap: 2px;
  width: 100%;
  min-block-size: 62px;
  padding-block: 10px;
  border-radius: 999px;
  text-decoration: none;
}

.sticky-cta-shell--gift-card [data-gift-sticky-label] {
  font-size: 13px;
  line-height: 1.1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sticky-cta-shell--gift-card [data-gift-sticky-summary] {
  max-inline-size: 92%;
  color: rgba(255, 248, 237, 0.76);
  font-size: 11px;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
  .page-shell--carte-cadeau *,
  .page-shell--carte-cadeau *::before,
  .page-shell--carte-cadeau *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
.fix_brand {
  margin: 0;
  color: var(--gift-card-gold-soft) !important;
  font-size: 11px !important;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

/* -------------------------------------------------------------------------- */
/* Carte Cadeau — réception + CTA final alignés sur la planche design          */
/* -------------------------------------------------------------------------- */

.page-shell--carte-cadeau {
  --gift-section-delivery-h: 375px;
  --gift-section-final-cta-h: 178px;
}

.page-shell--carte-cadeau .gift-delivery {
  display: flex;
  align-items: center;
  block-size: var(--gift-section-delivery-h);
  border-block-end: 0;
    background: rgba(255, 255, 255, 0.62);
}

.page-shell--carte-cadeau .gift-delivery__panel {
  display: grid;
  grid-template-columns: minmax(0, 330px) minmax(0, 1fr) minmax(0, 330px);
  align-items: center;
  gap: 38px;
  min-block-size: 345px;
  padding: 24px 38px;
  overflow: hidden;
  border: 1px solid rgba(223, 210, 193, 0.78);
  border-radius: 18px;
  box-shadow: 0 18px 58px rgba(33, 25, 16, 0.07);
      background:
    url("../../assets/images/enveloppe.webp") center / cover no-repeat;
}

.page-shell--carte-cadeau .gift-delivery__copy {
  display: grid;
  gap: 22px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.page-shell--carte-cadeau .gift-delivery__copy:hover {
  transform: none;
  border-color: transparent;
  box-shadow: none;
}

.page-shell--carte-cadeau .gift-delivery__copy h2 {
  margin: 0;
  color: var(--gift-text-primary);
  font-family: var(--font-serif, 'Cormorant Garamond', serif);
  font-size: 28px;
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: -0.025em;
}

.page-shell--carte-cadeau .gift-delivery__proofs {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  align-content: center;
  padding: 0;
  margin: 0;
  list-style: none;
}

.page-shell--carte-cadeau .gift-delivery__proofs li {
  position: relative;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  min-block-size: 0;
  padding: 0;
  border: 0;
  color: var(--gift-text-primary);
  text-align: start;
}

.page-shell--carte-cadeau .gift-delivery__proofs li::before {
  content: none;
}

.page-shell--carte-cadeau .gift-delivery__icon {
  display: grid;
  place-items: center;
  inline-size: 42px;
  block-size: 42px;
  border: 1px solid rgba(185, 154, 99, 0.22);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.58);
  color: var(--gift-card-gold);
}

.page-shell--carte-cadeau .gift-delivery__icon img {
  inline-size: 20px;
  block-size: 20px;
  object-fit: contain;
  opacity: 0.78;
}

.page-shell--carte-cadeau .gift-delivery__text {
  display: grid;
  gap: 5px;
}

.page-shell--carte-cadeau .gift-delivery__text strong {
  color: var(--gift-text-primary);
  font-family: var(--font-sans, 'Inter', sans-serif);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.01em;
  line-height: 1.22;
}

.page-shell--carte-cadeau .gift-delivery__text small {
  max-inline-size: 245px;
  color: rgba(23, 20, 17, 0.66);
  font-size: 13px;
  line-height: 1.45;
}

.page-shell--carte-cadeau .gift-delivery__media {
  position: relative;
  display: grid;
  grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
  align-items: center;
  gap: 26px;
  block-size: 230px;
  margin: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.page-shell--carte-cadeau .gift-delivery__phone,
.page-shell--carte-cadeau .gift-delivery__card-shot {
  position: relative;
  z-index: 1;
}

.carte-cadeau{
	
}
.fixCarteCado{
	object-fit: contain;transform: scale(0.45);margin-top: -15%;
}
.page-shell--carte-cadeau .gift-delivery__phone {
  justify-self: end;
  inline-size: 198px;
  block-size:350px;
  padding: 16px 14px 0;
  overflow: hidden;
  border: 8px solid var(--gift-card-black);
  border-bottom: 0;
  border-radius: 28px 28px 0 0;
  background: #fffaf4;
  box-shadow: 0 20px 42px rgba(33, 25, 16, 0.12);
}

.page-shell--carte-cadeau .gift-delivery__phone::before {
  content: "";
  position: absolute;
  inset-block-start: 0;
  inset-inline: 56px;
  block-size: 10px;
  border-radius: 0 0 999px 999px;
  background: var(--gift-card-black);
}

.page-shell--carte-cadeau .gift-delivery__phone-screen {
  display: grid;
  gap: 8px;
  text-align: center;
}

.page-shell--carte-cadeau .gift-delivery__phone-screen span {
  color: rgba(23, 20, 17, 0.55);
  font-family: var(--font-serif, 'Cormorant Garamond', serif);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.page-shell--carte-cadeau .gift-delivery__phone-screen strong {
  color: var(--gift-text-primary);
  font-family: var(--font-serif, 'Cormorant Garamond', serif);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.04;
}

.page-shell--carte-cadeau .gift-delivery__phone-screen p {
  margin: 0;
  color: rgba(23, 20, 17, 0.62);
  font-size: 11px;
  line-height: 1.35;
}

.page-shell--carte-cadeau .gift-delivery__phone-screen em {
  justify-self: center;
  min-inline-size: 118px;
  margin-block-start: 2px;
  padding: 8px 12px;
  border-radius: 4px;
  background: var(--gift-card-black);
  color: var(--gift-text-inverse);
  font-family: var(--font-sans, 'Inter', sans-serif);
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.page-shell--carte-cadeau .gift-delivery__card-shot {
  inline-size: min(100%, 480px);
  block-size: 150px;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(223, 210, 193, 0.72);
  border-radius: 10px;
  background: #f9f4ec;
  box-shadow: 0 20px 48px rgba(33, 25, 16, 0.1);
  transform: rotate(-2deg);
}

.page-shell--carte-cadeau .gift-delivery__card-shot img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  filter: saturate(0.92) contrast(1.02) brightness(1.03);
}

.page-shell--carte-cadeau .gift-final-cta {
  display: flex;
  align-items: start;
  block-size: var(--gift-section-final-cta-h);
  padding-block: 0 28px;
  border-block-end: 1px solid rgba(223, 210, 193, 0.68);
    background: rgba(255, 255, 255, 0.62);
  color: var(--gift-text-primary);
}

.page-shell--carte-cadeau .gift-final-cta__inner {
  display: grid;
  grid-template-columns: 330px minmax(0, 1fr) auto;
  gap: 38px;
  align-items: center;
  min-block-size: 150px;
  padding: 0 52px 0 0;
  overflow: hidden;
  border: 1px solid rgba(223, 210, 193, 0.72);
  border-radius: 16px;
    background: url("../../assets/images/shaker-dore.webp") center / cover no-repeat;
  box-shadow: 0 16px 50px rgba(33, 25, 16, 0.06);
}

.page-shell--carte-cadeau .gift-final-cta__media {
  inline-size: 100%;
  block-size: 150px;
  margin: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: var(--gift-bg-warm);
  box-shadow: none;
  opacity:0;
}

.page-shell--carte-cadeau .gift-final-cta__media img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: 78% 50%;
  opacity:0;
}

.page-shell--carte-cadeau .gift-final-cta__copy {
  justify-self: center;
  max-inline-size: 520px;
  text-align: center;
}

.page-shell--carte-cadeau .gift-final-cta__copy .eyebrow {
  display: none;
}

.page-shell--carte-cadeau .gift-final-cta h2,
.page-shell--carte-cadeau .gift-final-cta p {
  color: var(--gift-text-primary);
}

.page-shell--carte-cadeau .gift-final-cta h2 {
  margin: 0 0 8px;
  font-family: var(--font-serif, 'Cormorant Garamond', serif);
  font-size: clamp(34px, 2.4vw, 46px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.035em;
}

.page-shell--carte-cadeau .gift-final-cta p {
  max-inline-size: 430px;
  margin: 0 auto;
  color: rgba(23, 20, 17, 0.66);
  font-size: 14px;
  line-height: 1.45;
}

.page-shell--carte-cadeau .gift-final-cta__actions {
  display: flex;
  align-items: center;
  gap: 22px;
  margin: 0;
}

.page-shell--carte-cadeau .gift-final-cta .button {
  min-block-size: 54px;
  min-inline-size: 182px;
  padding-inline: 26px;
}

.page-shell--carte-cadeau .gift-final-cta .button--secondary {
  background: rgba(255, 255, 255, 0.58);
  border-color: rgba(185, 154, 99, 0.32);
  color: var(--gift-text-primary);
}

@media (max-width: 1919px) {
  .page-shell--carte-cadeau {
    --gift-section-delivery-h: auto;
    --gift-section-final-cta-h: auto;
  }

  .page-shell--carte-cadeau .gift-delivery {
    padding-block: 48px 20px;
  }

  .page-shell--carte-cadeau .gift-delivery__panel {
    min-block-size: 252px;
  }

  .page-shell--carte-cadeau .gift-final-cta {
    padding-block: 20px 44px;
  }
}

@media (max-width: 1439px) {
  .page-shell--carte-cadeau .gift-delivery__panel {
    grid-template-columns: minmax(0, 300px) minmax(0, 1fr) minmax(0, 300px);
    gap: 28px;
    padding-inline: 30px;
  }

  .page-shell--carte-cadeau .gift-delivery__media {
    grid-template-columns: 170px minmax(0, 1fr);
    gap: 20px;
  }

  .page-shell--carte-cadeau .gift-delivery__phone {
    inline-size: 170px;
  }

  .page-shell--carte-cadeau .gift-final-cta__inner {
    grid-template-columns: 280px minmax(0, 1fr) auto;
    gap: 28px;
    padding-inline-end: 32px;
  }

  .page-shell--carte-cadeau .gift-final-cta .button {
    min-inline-size: 160px;
  }
}

@media (max-width: 1279px) {
  .page-shell--carte-cadeau .gift-delivery,
  .page-shell--carte-cadeau .gift-final-cta {
    padding-block: 56px;
  }

  .page-shell--carte-cadeau .gift-delivery__panel {
    grid-template-columns: 1fr;
    gap: 30px;
    padding: 34px;
  }

  .page-shell--carte-cadeau .gift-delivery__copy {
    gap: 18px;
  }

  .page-shell--carte-cadeau .gift-delivery__copy h2 {
    text-align: center;
  }

.page-shell--carte-cadeau .gift-delivery__proofs {
  grid-template-columns: 1fr;
  gap: 20px;
  max-inline-size: 520px;
  margin-inline: auto;
}

  .page-shell--carte-cadeau .gift-delivery__text small {
    max-inline-size: none;
  }

  .page-shell--carte-cadeau .gift-delivery__media {
    grid-template-columns: minmax(160px, 240px) minmax(0, 1fr);
    justify-content: center;
    inline-size: min(100%, 760px);
    margin-inline: auto;
  }

  .page-shell--carte-cadeau .gift-delivery__phone {
    inline-size: 190px;
  }

  .page-shell--carte-cadeau .gift-final-cta__inner {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 0 32px 32px;
    text-align: center;
  }

  .page-shell--carte-cadeau .gift-final-cta__media {
    inline-size: calc(100% + 64px);
    block-size: auto;
    aspect-ratio: 16 / 5;
    margin-inline: -32px;
    margin-block-end: 28px;
  }

  .page-shell--carte-cadeau .gift-final-cta__copy,
  .page-shell--carte-cadeau .gift-final-cta__actions {
    justify-self: center;
  }

  .page-shell--carte-cadeau .gift-final-cta__actions {
    margin-block-start: 26px;
  }
}

@media (max-width: 767px) {
  .page-shell--carte-cadeau .gift-delivery,
  .page-shell--carte-cadeau .gift-final-cta {
    padding-block: 42px;
  }

  .page-shell--carte-cadeau .gift-delivery__panel {
    padding: 24px 20px;
    border-radius: 16px;
  }

  .page-shell--carte-cadeau .gift-delivery__copy h2 {
    font-size: 27px;
  }

.page-shell--carte-cadeau .gift-delivery__proofs {
  grid-template-columns: 1fr;
  gap: 18px;
}

  .page-shell--carte-cadeau .gift-delivery__proofs li {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 13px;
  }

  .page-shell--carte-cadeau .gift-delivery__media {
    grid-template-columns: 1fr;
    block-size: auto;
    gap: 22px;
  }

  .page-shell--carte-cadeau .gift-delivery__media::before {
    inset: 34px 10px 78px;
  }

  .page-shell--carte-cadeau .gift-delivery__phone {
    justify-self: center;
    inline-size: min(72vw, 230px);
    block-size: 252px;
    margin-block-start: 0;
  }

  .page-shell--carte-cadeau .gift-delivery__card-shot {
    inline-size: 100%;
    block-size: auto;
    aspect-ratio: 16 / 8.4;
    transform: none;
  }

  .page-shell--carte-cadeau .gift-final-cta__inner {
    padding: 0 20px 24px;
    border-radius: 16px;
  }

  .page-shell--carte-cadeau .gift-final-cta__media {
    inline-size: calc(100% + 40px);
    aspect-ratio: 16 / 7;
    margin-inline: -20px;
    margin-block-end: 24px;
  }

  .page-shell--carte-cadeau .gift-final-cta h2 {
    font-size: 34px;
  }

  .page-shell--carte-cadeau .gift-final-cta__actions {
    display: grid;
    inline-size: 100%;
    gap: 12px;
  }

  .page-shell--carte-cadeau .gift-final-cta .button {
    inline-size: 100%;
    min-inline-size: 0;
  }
}

/* -------------------------------------------------------------------------- */
/* RESP-HERO-006 — Hero Carte Cadeau fluide laptop / desktop intermédiaire     */
/* Préserve le rendu 1920×1080 ; sécurise 1280×720 à 1600×900.                */
/* -------------------------------------------------------------------------- */

@media (min-width: 1024px) and (max-width: 1919px) {
  .gift-hero {
    block-size: clamp(680px, 100vh, var(--gift-section-hero-h));
    block-size: clamp(680px, 100svh, var(--gift-section-hero-h));
    background-position: center center;
  }

  .gift-hero__copy {

  }

  .gift-card-main h1 {
    max-inline-size: clamp(480px, 42vw, 740px);
    font-size: clamp(52px, 4.8vw, var(--gift-h1-size-desktop));
  }

  .gift-hero__lead {
    max-inline-size: clamp(440px, 38vw, 610px);
    margin-block-start: clamp(18px, 3vh, 28px);
    margin-block-start: clamp(18px, 3svh, 28px);
    font-size: clamp(16px, 1.25vw, 22px);
    line-height: 1.56;
  }

  .gift-hero__ctas {
    margin-block-start: clamp(26px, 5vh, 56px);
    margin-block-start: clamp(26px, 5svh, 56px);
  }

  .gift-hero__reassurance {
    margin-block-start: clamp(16px, 3vh, 30px);
    margin-block-start: clamp(16px, 3svh, 30px);
  }
}

@media (min-width: 1024px) and (max-width: 1919px) and (max-height: 950px) {
  .gift-hero {
    block-size: clamp(640px, 100vh, 800px);
    block-size: clamp(640px, 100svh, 800px);
  }

  .gift-hero__copy {

  }

  .gift-card-main h1 {
    font-size: clamp(46px, 4.5vw, 64px);
  }

  .gift-hero__lead {
    line-height: 1.48;
  }

  .gift-hero__ctas {
    margin-block-start: 22px;
  }
}

@media (max-width: 1919px)  and (min-width: 1500px) {
	.team-hero__copy {
		margin-left: -15% !important;
		margin-top: 1% !important;
	}
	  .gift-card-main h1 {
		  inline-size: 18ch !important;
	  }
	  	.fixCarteCado{
		transform: scale(0.65)!important;
	}
}

@media (max-width: 1685px)  and (min-width: 1199px) {
	.fixCarteCado{
		transform: scale(0.65)!important;
	}
}

@media (max-width: 1450px)  and (min-width: 1199px) {
  .fix-img1{
	  object-position: center center !important;
  } 
    .fix-img2{
	  object-position: center center !important;
  } 
    .fix-img3{
	  object-position: center 60% !important;
  } 
    .fix-img4{
	  object-position: center 30% !important;
  } 
}

@media (max-width: 1450px)  and (min-width: 1199px) {
  .fix-img1{
	  object-position: center center !important;
  } 
    .fix-img2{
	  object-position: center center !important;
  } 
    .fix-img3{
	  object-position: center 60% !important;
  } 
    .fix-img4{
	  object-position: center 30% !important;
  } 
}

@media (max-width: 1150px) {
	.gift-hero__inner{
	  margin-left: -10%;
	  margin-bottom: -11%;
	  inline-size: 46ch !important;
	}
	.page-shell--carte-cadeau .section-shell{
	}
}

/* -------------------------------------------------------------------------- */
/* FIX — Carte cadeau hero mobile portrait <= 801px                            */
/* Scope strict : uniquement la section hero de la page carte cadeau.           */
/* -------------------------------------------------------------------------- */
@media (max-width: 1023px) and (orientation: portrait) {
  .page-shell--carte-cadeau .site-header {
    inset-block-start: calc(18px + env(safe-area-inset-top)) !important;
    z-index: 70 !important;
  }

  .page-shell--carte-cadeau .site-header__inner {
    min-block-size: 62px !important;
  }

  .page-shell--carte-cadeau .site-header .brand {
    inline-size: min(248px, calc(100vw - 116px)) !important;
    min-block-size: 58px !important;
    gap: 10px !important;
  }

  .page-shell--carte-cadeau .site-header .brand__mark {
    flex-basis: clamp(36px, 10vw, 46px) !important;
    inline-size: clamp(36px, 10vw, 46px) !important;
    block-size: clamp(46px, 12vw, 56px) !important;
  }

  .page-shell--carte-cadeau .site-header .brand__text {
    inline-size: min(178px, calc(100vw - 168px)) !important;
    font-size: clamp(16px, 4.6vw, 20px) !important;
    letter-spacing: 0.08em !important;
    line-height: 1.12 !important;
  }

  .page-shell--carte-cadeau .site-header .menu-button {
    inset-block-start: calc(20px + env(safe-area-inset-top)) !important;
    inset-inline-end: 22px !important;
    inline-size: 48px !important;
    block-size: 48px !important;
    gap: 4px !important;
    border-color: rgba(185, 154, 99, 0.5) !important;
    background: rgba(255, 255, 255, 0.72) !important;
    color: var(--gift-card-black) !important;
  }

  .page-shell--carte-cadeau .site-header .menu-button__line {
    inline-size: 18px !important;
    block-size: 2px !important;
    background: currentColor !important;
    color: currentColor !important;
  }

  .page-shell--carte-cadeau .gift-hero {
    block-size: auto !important;
    min-block-size: 0 !important;
    overflow: visible !important;
    padding-block: calc(100px + env(safe-area-inset-top)) 46px !important;
    background: linear-gradient(180deg, var(--gift-bg-ivory), var(--gift-surface-soft) 86%, var(--gift-bg-ivory)) !important;
  }

  .page-shell--carte-cadeau .gift-hero__inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    inline-size: min(calc(100% - (var(--gift-margin-desktop) * 2)), 1120px) !important;
    max-inline-size: 1120px !important;
    block-size: auto !important;
    margin: 0 auto !important;
  }

  .page-shell--carte-cadeau .gift-hero__inner::before {
    content: "";
    order: 1;
    display: block;
    inline-size: 100%;
    aspect-ratio: 16 / 9;
    min-block-size: 210px;
    overflow: hidden;
    border-radius: 18px;
    background:
      linear-gradient(90deg, rgba(247, 242, 234, 0.18), rgba(17, 16, 13, 0.16)),
      url("../../assets/images/carte-cadeau-atelier-cocktail.webp") center center / cover no-repeat;
    box-shadow: var(--gift-shadow-floating);
  }

  .page-shell--carte-cadeau .gift-hero__copy {
    order: 2 !important;
    position: relative !important;
    inset: auto !important;
    z-index: 2 !important;
    inline-size: 100% !important;
    max-inline-size: 100% !important;
    min-inline-size: 0 !important;
    margin: 0 !important;
  }

  .page-shell--carte-cadeau .gift-hero__copy .eyebrow {
    margin-block-end: 16px !important;
  }

  .page-shell--carte-cadeau .gift-card-main h1 {
    inline-size: auto !important;
    max-inline-size: 100% !important;
    font-size: clamp(37px, 10.6vw, 46px) !important;
    line-height: 1.04 !important;
  }

  .page-shell--carte-cadeau .gift-hero__lead {
    max-inline-size: 100% !important;
    margin-block-start: 20px !important;
    font-size: 16px !important;
    line-height: 1.58 !important;
  }

  .page-shell--carte-cadeau .gift-hero__ctas {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    inline-size: 100% !important;
    max-inline-size: 100% !important;
    margin-block-start: 30px !important;
  }

  .page-shell--carte-cadeau .gift-hero__ctas .button {
    inline-size: 100% !important;
    min-inline-size: 0 !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .page-shell--carte-cadeau .gift-hero__reassurance {
    margin-block-start: 18px !important;
  }
}

@media (max-width: 767px) {
  .cta-group {
    margin-right: 0% !important;
    margin-left: 0% !important;
  }
}
/* Gift card API P0 states: scoped to the gift card page only. */
.page-shell--carte-cadeau .gift-offers-status {
  margin: 0 0 var(--space-6, 1.5rem);
  padding: 1rem 1.15rem;
  border: 1px solid rgba(122, 91, 57, 0.22);
  border-radius: var(--radius-lg, 18px);
  background: rgba(247, 242, 234, 0.76);
  color: var(--color-text, #211a16);
  font-size: 0.95rem;
  line-height: 1.5;
}

.page-shell--carte-cadeau .gift-offers-status[data-status-tone="warning"] {
  border-color: rgba(150, 92, 28, 0.34);
}

.page-shell--carte-cadeau .gift-offers-status[data-status-tone="success"] {
  border-color: rgba(76, 107, 78, 0.28);
}

.page-shell--carte-cadeau .gift-product-card.is-disabled {
  opacity: 0.72;
}

.page-shell--carte-cadeau .gift-product-card.is-disabled .button {
  pointer-events: none;
}

/* Gift card preview P0: scoped, non-transactional server summary. */
.page-shell--carte-cadeau .gift-form__hint {
  margin: 0.35rem 0 0;
  color: var(--color-muted, rgba(33, 26, 22, 0.68));
  font-size: 0.88rem;
  line-height: 1.45;
}

.page-shell--carte-cadeau .gift-purchase-preview {
  margin-block-start: 1.25rem;
  padding: clamp(1rem, 2.4vw, 1.5rem);
  border: 1px solid rgba(122, 91, 57, 0.22);
  border-radius: var(--radius-lg, 18px);
  background: rgba(247, 242, 234, 0.78);
  color: var(--color-text, #211a16);
}

.page-shell--carte-cadeau .gift-purchase-preview[data-status-tone="warning"] {
  border-color: rgba(150, 92, 28, 0.34);
}

.page-shell--carte-cadeau .gift-purchase-preview[data-status-tone="success"] {
  border-color: rgba(76, 107, 78, 0.28);
}

.page-shell--carte-cadeau .gift-purchase-preview h3 {
  margin: 0 0 1rem;
  font-size: clamp(1.2rem, 2.4vw, 1.55rem);
}

.page-shell--carte-cadeau .gift-purchase-preview__list {
  display: grid;
  gap: 0.75rem;
  margin: 0;
}

.page-shell--carte-cadeau .gift-purchase-preview__list > div {
  display: grid;
  gap: 0.2rem;
  padding-block-end: 0.65rem;
  border-block-end: 1px solid rgba(122, 91, 57, 0.14);
}

.page-shell--carte-cadeau .gift-purchase-preview__list dt {
  color: var(--color-muted, rgba(33, 26, 22, 0.66));
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.page-shell--carte-cadeau .gift-purchase-preview__list dd {
  margin: 0;
  font-weight: 600;
}

.page-shell--carte-cadeau .gift-purchase-preview__note,
.page-shell--carte-cadeau .gift-purchase-preview__next {
  margin: 1rem 0 0;
  color: var(--color-muted, rgba(33, 26, 22, 0.74));
  line-height: 1.55;
}

.page-shell--carte-cadeau .gift-purchase-preview__note {
  font-weight: 700;
}

/* Gift card preview 15B: scoped buyer / beneficiary fields for server-compatible preview payload. */
.page-shell--carte-cadeau .gift-form__group {
  display: grid;
  gap: 0.85rem;
  margin: 0 0 1rem;
  padding: 1rem;
  border: 1px solid rgba(122, 91, 57, 0.18);
  border-radius: var(--radius-md, 14px);
  background: rgba(255, 255, 255, 0.52);
}

.page-shell--carte-cadeau .gift-form__group legend {
  padding: 0 0.35rem;
  color: var(--gift-text-primary);
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.page-shell--carte-cadeau .gift-form__row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
}

@media (max-width: 640px) {
  .page-shell--carte-cadeau .gift-form__row {
    grid-template-columns: 1fr;
  }
}

/* Gift card draft P0: scoped, non-finalising server draft display. */
.page-shell--carte-cadeau .gift-purchase-preview__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-block-start: 1.15rem;
}

.page-shell--carte-cadeau .gift-purchase-preview__draft {
  margin-block-start: 1rem;
  padding: 1rem;
  border: 1px solid rgba(122, 91, 57, 0.18);
  border-radius: var(--radius-md, 14px);
  background: rgba(255, 255, 255, 0.56);
}

.page-shell--carte-cadeau .gift-purchase-preview__draft[data-status-tone="warning"] {
  border-color: rgba(150, 92, 28, 0.34);
}

.page-shell--carte-cadeau .gift-purchase-preview__draft[data-status-tone="success"] {
  border-color: rgba(76, 107, 78, 0.28);
}

.page-shell--carte-cadeau .gift-purchase-preview__draft h4 {
  margin: 0 0 0.85rem;
  font-size: 1.05rem;
}

/* Gift card checkout P0: scoped, server-only checkout preparation. */
.page-shell--carte-cadeau .gift-purchase-preview__checkout {
  display: grid;
  gap: 0.85rem;
  margin-block-start: 1rem;
  padding-block-start: 1rem;
  border-block-start: 1px solid rgba(122, 91, 57, 0.16);
}

.page-shell--carte-cadeau .gift-purchase-preview__terms {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  color: var(--color-text, #211a16);
  font-weight: 600;
  line-height: 1.45;
}

.page-shell--carte-cadeau .gift-purchase-preview__terms input {
  flex: 0 0 auto;
  margin-block-start: 0.18rem;
}

.page-shell--carte-cadeau .gift-purchase-preview__checkout-status {
  padding: 0.85rem 1rem;
  border: 1px solid rgba(122, 91, 57, 0.18);
  border-radius: var(--radius-md, 14px);
  background: rgba(255, 255, 255, 0.62);
  color: var(--color-text, #211a16);
  line-height: 1.5;
}

.page-shell--carte-cadeau .gift-purchase-preview__checkout-status[data-status-tone="warning"] {
  border-color: rgba(150, 92, 28, 0.34);
}

.page-shell--carte-cadeau .gift-purchase-preview__checkout-status[data-status-tone="success"] {
  border-color: rgba(76, 107, 78, 0.28);
}

/* ATELIER_GIFT_UI_PATCH_20260615
   Correctifs staging carte cadeau :
   - masquer le bandeau "Offres synchronisées..."
   - masquer le CTA hero "Comparer les cartes"
   - permettre aux champs livraison dynamiques de s'afficher
   - éviter le bouton coupé en bas de formulaire
   - garder montant libre sélectionnable visuellement
*/

.page-shell--carte-cadeau .gift-offers-status,
.page-shell--carte-cadeau [data-gift-offers-status] {
  display: none !important;
}

.page-shell--carte-cadeau [data-cta="gift-compare"],
.page-shell--carte-cadeau .gift-hero__ctas [href="#choice-guide"] {
  display: none !important;
}

.page-shell--carte-cadeau .gift-hero__ctas {
  display: flex !important;
  justify-content: flex-start !important;
}

.page-shell--carte-cadeau .gift-personalization {
  block-size: auto !important;
  min-block-size: var(--gift-section-personalization-h);
  overflow: visible !important;
  padding-block-end: 76px !important;
}

.page-shell--carte-cadeau .gift-personalization .section-shell {
  block-size: auto !important;
  min-block-size: 0 !important;
  overflow: visible !important;
  padding-block-end: 76px !important;
}

.page-shell--carte-cadeau .gift-personalization__grid {
  align-items: start !important;
  overflow: visible !important;
}

.page-shell--carte-cadeau .gift-form {
  overflow: visible !important;
  align-self: start !important;
}

.page-shell--carte-cadeau .gift-form [data-gift-conditional]:not([hidden]) {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.page-shell--carte-cadeau .gift-form .button[data-cta="gift-continue"] {
  margin-block-start: 18px !important;
}

.page-shell--carte-cadeau .gift-product-card[data-gift-id="montant_libre"] {
  opacity: 1 !important;
}

.page-shell--carte-cadeau .gift-product-card[data-gift-id="montant_libre"].is-disabled {
  opacity: 1 !important;
}

.page-shell--carte-cadeau .gift-product-card[data-gift-id="montant_libre"] .button {
  pointer-events: auto !important;
}

/* GIFT_CHECKOUT_REDIRECT_OVERLAY */
.is-gift-redirecting body {
  overflow: hidden;
}

.is-gift-redirecting .page-shell--carte-cadeau {
  filter: blur(8px);
  transform: scale(0.992);
  transition: filter 220ms ease, transform 220ms ease;
  pointer-events: none;
  user-select: none;
}

.gift-redirect-overlay[hidden] {
  display: none !important;
}

.gift-redirect-overlay {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
  padding: 24px;
}

.gift-redirect-overlay__backdrop {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 28%, rgba(211, 167, 94, 0.20), transparent 36%),
    rgba(18, 12, 8, 0.56);
  backdrop-filter: blur(12px);
}

.gift-redirect-overlay__card {
  position: relative;
  width: min(92vw, 430px);
  border: 1px solid rgba(238, 210, 160, 0.36);
  border-radius: 28px;
  background:
    linear-gradient(145deg, rgba(255, 250, 242, 0.96), rgba(238, 224, 203, 0.92));
  box-shadow:
    0 34px 90px rgba(21, 12, 7, 0.34),
    inset 0 1px 0 rgba(255, 255, 255, 0.76);
  padding: 34px 28px;
  text-align: center;
  color: #241812;
}

.gift-redirect-overlay__eyebrow {
  margin: 0 0 8px;
  color: #8a6238;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.gift-redirect-overlay__card strong {
  display: block;
  font-size: clamp(1.45rem, 4vw, 2rem);
  line-height: 1.05;
  margin-bottom: 10px;
}

.gift-redirect-overlay__card small {
  display: block;
  color: #735943;
  line-height: 1.45;
}

.gift-redirect-overlay__spinner {
  width: 46px;
  height: 46px;
  margin: 0 auto 18px;
  border-radius: 999px;
  border: 3px solid rgba(138, 98, 56, 0.16);
  border-top-color: rgba(138, 98, 56, 0.92);
  animation: giftRedirectSpin 780ms linear infinite;
}

@keyframes giftRedirectSpin {
  to { transform: rotate(360deg); }
}


/* GIFT_PURCHASE_MODAL_PATCH_V1 */
.gift-modal-lock {
  overflow: hidden;
}

.gift-purchase-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: clamp(18px, 3vw, 48px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .24s ease;
}

.gift-purchase-modal.is-open {
  opacity: 1;
  pointer-events: auto;
}

.gift-purchase-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(17, 14, 10, .34);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.gift-purchase-modal__panel {
  position: relative;
  width: min(720px, calc(100vw - 36px));
  max-height: min(780px, calc(100vh - 36px));
  overflow: auto;
  border: 1px solid rgba(184, 138, 79, .34);
  border-radius: 28px;
  background:
    radial-gradient(circle at 18% 0%, rgba(214, 168, 102, .18), transparent 34%),
    #fffaf4;
  box-shadow: 0 32px 110px rgba(17, 14, 10, .32);
}

.gift-purchase-modal__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 28px 30px 20px;
  border-bottom: 1px solid rgba(184, 138, 79, .18);
}

.gift-purchase-modal__eyebrow,
.gift-purchase-modal .eyebrow {
  margin: 0 0 8px;
  color: #b58a48;
  font-family: var(--font-label, "Neue Haas Display", Inter, Arial, sans-serif);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.gift-purchase-modal__header h2 {
  margin: 0;
  color: #15110d;
  font-family: var(--font-serif, "Cormorant Garamond", Didot, Georgia, serif);
  font-size: clamp(30px, 3vw, 44px);
  font-weight: 500;
  line-height: .98;
}

.gift-purchase-modal__close {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
  border: 1px solid rgba(184, 138, 79, .32);
  border-radius: 999px;
  background: rgba(255, 250, 244, .72);
  color: #15110d;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
}

.gift-purchase-modal__body {
  padding: 24px 30px 30px;
}

.gift-purchase-modal__body .gift-purchase-preview {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

.gift-purchase-modal__body .gift-purchase-preview > *:first-child {
  margin-top: 0;
}

.gift-purchase-modal__body .gift-purchase-preview h2,
.gift-purchase-modal__body .gift-purchase-preview h3 {
  font-family: var(--font-serif, "Cormorant Garamond", Didot, Georgia, serif);
  color: #15110d;
}

.gift-purchase-modal__body .gift-purchase-preview dl,
.gift-purchase-modal__body .gift-purchase-preview ul {
  margin: 18px 0;
}

.gift-purchase-modal__body .gift-purchase-preview li,
.gift-purchase-modal__body .gift-purchase-preview__item,
.gift-purchase-modal__body .gift-purchase-preview__row,
.gift-purchase-modal__body .gift-purchase-preview__line {
  border-color: rgba(184, 138, 79, .18) !important;
}

.gift-purchase-modal__body label {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
  max-width: 100%;
  line-height: 1.45;
  white-space: normal;
}

.gift-purchase-modal__body label input[type="checkbox"] {
  flex: 0 0 auto;
  margin-top: .18em;
}

.gift-purchase-modal__body label span {
  display: block;
  min-width: 0;
}

.gift-purchase-modal__body .gift-purchase-preview__next {
  margin: 16px 0 0;
  padding: 14px 16px;
  border: 1px solid rgba(184, 138, 79, .22);
  border-radius: 14px;
  background: rgba(255, 255, 255, .54);
}

.gift-purchase-modal__loading {
  margin: 0;
  padding: 24px;
  border: 1px solid rgba(184, 138, 79, .22);
  border-radius: 18px;
  color: #5f564b;
  background: rgba(255, 255, 255, .48);
}

.gift-purchase-modal__back {
  margin: 0 0 18px !important;
  width: auto !important;
  min-width: 132px;
  text-transform: uppercase;
}

.gift-purchase-modal__body [data-gift-checkout-action="prepare"],
.gift-purchase-modal__body [data-gift-draft-action="create"] {
  width: 100%;
  margin-top: 18px;
  text-transform: uppercase;
}

@media (max-width: 760px) {
  .gift-purchase-modal {
    padding: 12px;
    align-items: end;
  }

  .gift-purchase-modal__panel {
    width: 100%;
    max-height: calc(100vh - 24px);
    border-radius: 24px 24px 0 0;
  }

  .gift-purchase-modal__header {
    padding: 22px 20px 16px;
  }

  .gift-purchase-modal__body {
    padding: 20px;
  }
}


/* GIFT_MODAL_LABELS_FIX_V1 */
.gift-purchase-modal__body .gift-purchase-preview dt,
.gift-purchase-modal__body .gift-purchase-preview .gift-purchase-preview__label,
.gift-purchase-modal__body .gift-purchase-preview .gift-summary-label,
.gift-purchase-modal__body .gift-purchase-preview .gift-purchase-preview__item > span:first-child,
.gift-purchase-modal__body .gift-purchase-preview .gift-purchase-preview__row > span:first-child,
.gift-purchase-modal__body .gift-purchase-preview .gift-purchase-preview__line > span:first-child,
.gift-purchase-modal__body .gift-purchase-preview li > span:first-child {
  display: block;
  margin: 14px 0 4px;
  color: #b58a48 !important;
  font-family: var(--font-label, "Neue Haas Display", Inter, Arial, sans-serif);
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .13em;
  line-height: 1.2;
  text-transform: uppercase;
}

.gift-purchase-modal__body .gift-purchase-preview dd,
.gift-purchase-modal__body .gift-purchase-preview .gift-purchase-preview__value,
.gift-purchase-modal__body .gift-purchase-preview .gift-summary-value,
.gift-purchase-modal__body .gift-purchase-preview .gift-purchase-preview__item > strong,
.gift-purchase-modal__body .gift-purchase-preview .gift-purchase-preview__row > strong,
.gift-purchase-modal__body .gift-purchase-preview .gift-purchase-preview__line > strong,
.gift-purchase-modal__body .gift-purchase-preview li > strong {
  display: block;
  margin: 0 0 2px;
  color: #15110d !important;
  font-size: 17px;
  font-weight: 700 !important;
  line-height: 1.35;
}

.gift-purchase-modal__body .gift-purchase-preview dl {
  display: grid;
  gap: 0;
}

.gift-purchase-modal__body .gift-purchase-preview .button[disabled],
.gift-purchase-modal__body .gift-purchase-preview button[disabled] {
  cursor: wait;
  opacity: .62;
}

.gift-purchase-modal__body .gift-purchase-preview [data-gift-draft-action="create"],
.gift-purchase-modal__body .gift-purchase-preview [data-gift-checkout-action="prepare"] {
  min-height: 58px;
}


/* GIFT_MODAL_COMPACT_DESKTOP_PATCH_V1 */
@media (min-width: 900px) {
  .gift-purchase-modal {
    padding: 20px;
  }

  .gift-purchase-modal__panel {
    width: min(620px, calc(100vw - 80px)) !important;
    max-height: calc(100vh - 78px) !important;
    border-radius: 24px !important;
  }

  .gift-purchase-modal__header {
    padding: 20px 24px 16px !important;
  }

  .gift-purchase-modal__header h2 {
    font-size: clamp(34px, 2.6vw, 44px) !important;
    line-height: .92 !important;
  }

  .gift-purchase-modal__body {
    padding: 18px 24px 22px !important;
  }

  .gift-purchase-modal__body .gift-purchase-preview h2,
  .gift-purchase-modal__body .gift-purchase-preview h3 {
    margin: 0 0 14px !important;
    font-size: 20px !important;
    line-height: 1.05 !important;
  }

  .gift-purchase-modal__body .gift-purchase-preview dt,
  .gift-purchase-modal__body .gift-purchase-preview .gift-purchase-preview__label,
  .gift-purchase-modal__body .gift-purchase-preview .gift-summary-label,
  .gift-purchase-modal__body .gift-purchase-preview .gift-purchase-preview__item > span:first-child,
  .gift-purchase-modal__body .gift-purchase-preview .gift-purchase-preview__row > span:first-child,
  .gift-purchase-modal__body .gift-purchase-preview .gift-purchase-preview__line > span:first-child,
  .gift-purchase-modal__body .gift-purchase-preview li > span:first-child {
    margin: 8px 0 3px !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: .16em !important;
  }

  .gift-purchase-modal__body .gift-purchase-preview dd,
  .gift-purchase-modal__body .gift-purchase-preview .gift-purchase-preview__value,
  .gift-purchase-modal__body .gift-purchase-preview .gift-summary-value,
  .gift-purchase-modal__body .gift-purchase-preview .gift-purchase-preview__item > strong,
  .gift-purchase-modal__body .gift-purchase-preview .gift-purchase-preview__row > strong,
  .gift-purchase-modal__body .gift-purchase-preview .gift-purchase-preview__line > strong,
  .gift-purchase-modal__body .gift-purchase-preview li > strong {
    font-size: 15px !important;
    line-height: 1.2 !important;
  }

  .gift-purchase-modal__body .gift-purchase-preview__item,
  .gift-purchase-modal__body .gift-purchase-preview__row,
  .gift-purchase-modal__body .gift-purchase-preview__line,
  .gift-purchase-modal__body .gift-purchase-preview li {
    padding: 0 0 8px !important;
    margin: 0 !important;
    border-bottom: 1px solid rgba(184, 138, 79, .16) !important;
  }

  .gift-purchase-modal__body .gift-purchase-preview p {
    margin: 12px 0 !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
  }

  .gift-purchase-modal__body .gift-purchase-preview__next {
    display: none !important;
  }

  .gift-purchase-modal__body .button,
  .gift-purchase-modal__body button {
    min-height: 48px !important;
  }
}

/* Supprime les doublons informatifs faibles dans la modale */
.gift-purchase-modal__body .gift-purchase-preview > p:last-child {
  display: none;
}

.gift-purchase-modal__body [data-gift-draft-action="create"].is-loading {
  opacity: .74;
  cursor: wait;
}


/* GIFT_MODAL_STAGE_FADE_COMPACT_V1 */
.gift-purchase-modal__body {
  transition:
    opacity .16s ease,
    transform .16s ease;
}

.gift-purchase-modal__body.is-stage-fading {
  opacity: 0;
  transform: translateY(8px);
}

@media (min-width: 900px) {
  .gift-purchase-modal__panel {
    width: min(600px, calc(100vw - 96px)) !important;
    max-height: calc(100vh - 64px) !important;
    overflow: hidden !important;
  }

  .gift-purchase-modal__body {
    max-height: calc(100vh - 190px) !important;
    overflow: hidden !important;
  }

  .gift-purchase-modal__body .gift-purchase-preview > p {
    display: none !important;
  }

  .gift-purchase-modal__body .gift-purchase-preview__next {
    display: none !important;
  }
}

.gift-purchase-modal.is-payment-stage .gift-purchase-preview > *:not([data-gift-modal-stage-back]):not([data-gift-payment-stage]) {
  display: none !important;
}

.gift-payment-stage {
  display: grid;
  gap: 18px;
}

.gift-payment-stage__intro {
  padding: 18px 18px 16px;
  border: 1px solid rgba(184, 138, 79, .20);
  border-radius: 18px;
  background: rgba(255, 255, 255, .48);
}

.gift-payment-stage__eyebrow {
  margin: 0 0 8px !important;
  color: #b58a48 !important;
  font-family: var(--font-label, "Neue Haas Display", Inter, Arial, sans-serif);
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .18em;
  line-height: 1.2;
  text-transform: uppercase;
}

.gift-payment-stage h3 {
  margin: 0 0 8px !important;
  color: #15110d;
  font-family: var(--font-serif, "Cormorant Garamond", Didot, Georgia, serif);
  font-size: 26px !important;
  font-weight: 500;
  line-height: 1;
}

.gift-payment-stage p {
  margin: 0 !important;
  color: #5f564b;
  font-size: 15px !important;
  line-height: 1.45 !important;
}

.gift-payment-stage__terms label {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 16px 18px;
  border: 1px solid rgba(184, 138, 79, .22);
  border-radius: 16px;
  background: #fffaf4;
  font-weight: 800;
}

.gift-payment-stage__terms input {
  flex: 0 0 auto;
}

.gift-payment-stage__actions .button,
.gift-payment-stage__actions button {
  width: 100% !important;
  min-height: 56px !important;
  margin: 0 !important;
  text-transform: uppercase;
}

.gift-payment-stage__status:empty {
  display: none;
}

.gift-payment-stage__status {
  padding: 14px 16px;
  border: 1px solid rgba(184, 138, 79, .20);
  border-radius: 14px;
  background: rgba(255, 255, 255, .58);
}

.gift-purchase-modal.is-payment-stage .gift-purchase-modal__back {
  display: inline-flex !important;
  margin: 0 0 16px !important;
  min-height: 44px !important;
  width: auto !important;
}


/* GIFT_CHECKOUT_IFRAME_MODAL_PATCH_V1 */
.gift-purchase-modal.is-checkout-iframe-stage .gift-purchase-modal__panel {
  width: min(1180px, calc(100vw - 44px)) !important;
  max-height: calc(100vh - 44px) !important;
  overflow: hidden !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-purchase-modal__body {
  max-height: calc(100vh - 145px) !important;
  overflow: hidden !important;
  padding: 18px 22px 22px !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-purchase-preview {
  display: none !important;
}

.gift-checkout-frame-stage {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 14px;
  height: calc(100vh - 190px);
  min-height: 520px;
}

.gift-checkout-frame-stage__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.gift-checkout-frame-stage__back,
.gift-checkout-frame-stage__fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px;
  border-radius: 999px;
  font-family: var(--font-label, "Neue Haas Display", Inter, Arial, sans-serif);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-decoration: none;
}

.gift-checkout-frame-stage__fallback {
  border: 1px solid rgba(184, 138, 79, .34);
  background: #11100d;
  color: #fffaf4;
}

.gift-checkout-frame-stage__shell {
  min-height: 0;
  overflow: hidden;
  border: 1px solid rgba(184, 138, 79, .26);
  border-radius: 22px;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.42);
}

.gift-checkout-frame-stage__iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: #fff;
}

.gift-checkout-frame-stage__note {
  margin: 0 !important;
  color: #6f6257;
  font-size: 13px !important;
  line-height: 1.35 !important;
}

@media (max-width: 760px) {
  .gift-purchase-modal.is-checkout-iframe-stage {
    padding: 0;
  }

  .gift-purchase-modal.is-checkout-iframe-stage .gift-purchase-modal__panel {
    width: 100% !important;
    max-height: 100vh !important;
    height: 100vh !important;
    border-radius: 0 !important;
  }

  .gift-purchase-modal.is-checkout-iframe-stage .gift-purchase-modal__body {
    max-height: calc(100vh - 108px) !important;
    height: calc(100vh - 108px) !important;
    padding: 12px !important;
  }

  .gift-checkout-frame-stage {
    height: 100%;
    min-height: 0;
  }

  .gift-checkout-frame-stage__top {
    flex-direction: column;
    align-items: stretch;
  }

  .gift-checkout-frame-stage__back,
  .gift-checkout-frame-stage__fallback {
    width: 100%;
  }
}


/* GIFT_IFRAME_READY_NO_BLANK_PATCH_V1 */
.gift-checkout-frame-stage.is-preloading {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-purchase-modal__panel {
  width: min(1240px, calc(100vw - 28px)) !important;
  height: calc(100vh - 28px) !important;
  max-height: calc(100vh - 28px) !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-purchase-modal__header {
  padding: 16px 22px 14px !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-purchase-modal__header h2 {
  font-size: clamp(30px, 2.4vw, 40px) !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-purchase-modal__body {
  height: calc(100vh - 122px) !important;
  max-height: calc(100vh - 122px) !important;
  padding: 14px 18px 18px !important;
}

.gift-checkout-frame-stage {
  height: 100% !important;
  min-height: 0 !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
}

.gift-checkout-frame-stage__top {
  min-height: 42px;
}

.gift-checkout-frame-stage__shell {
  height: 100% !important;
  min-height: 0 !important;
  border-radius: 20px !important;
}

.gift-checkout-frame-stage__iframe {
  height: 100% !important;
}

.gift-checkout-frame-stage__note {
  display: none !important;
}


/* GIFT_PAYMENT_IFRAME_REDESIGN_PATCH_V1 */
.gift-purchase-modal.is-checkout-iframe-stage .gift-checkout-frame-stage__shell {
  background:
    radial-gradient(circle at 14% 0%, rgba(214,168,102,.18), transparent 32%),
    #f5efe8 !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-checkout-frame-stage__iframe {
  background: #f5efe8 !important;
}


/* GIFT_PAYMENT_FULLWIDTH_IFRAME_PATCH_V1 */
.gift-purchase-modal.is-checkout-iframe-stage .gift-purchase-modal__panel {
  width: min(1480px, calc(100vw - 18px)) !important;
  height: calc(100vh - 18px) !important;
  max-height: calc(100vh - 18px) !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-purchase-modal__header {
  padding: 12px 18px 10px !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-purchase-modal__body {
  height: calc(100vh - 100px) !important;
  max-height: calc(100vh - 100px) !important;
  padding: 10px 14px 14px !important;
  overflow: hidden !important;
}

.gift-checkout-frame-stage {
  height: 100% !important;
  gap: 10px !important;
}

.gift-checkout-frame-stage__top {
  min-height: 40px !important;
}

.gift-checkout-frame-stage__shell {
  height: 100% !important;
  overflow: hidden !important;
  border-radius: 18px !important;
}

.gift-checkout-frame-stage__iframe {
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}

.gift-checkout-frame-stage__fallback {
  min-height: 40px !important;
}


/* GIFT_PAYMENT_REAL_FULLWIDTH_PATCH_V1 */
.gift-purchase-modal.is-checkout-iframe-stage .gift-purchase-modal__panel {
  width: calc(100vw - 16px) !important;
  height: calc(100vh - 16px) !important;
  max-height: calc(100vh - 16px) !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-purchase-modal__header {
  min-height: 72px !important;
  padding: 12px 18px 10px !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-purchase-modal__body {
  height: calc(100vh - 92px) !important;
  max-height: calc(100vh - 92px) !important;
  padding: 8px 12px 12px !important;
  overflow: hidden !important;
}

.gift-checkout-frame-stage {
  height: 100% !important;
  min-height: 0 !important;
  grid-template-rows: 40px minmax(0, 1fr) !important;
}

.gift-checkout-frame-stage__top {
  min-height: 40px !important;
}

.gift-checkout-frame-stage__shell {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border-radius: 18px !important;
}

.gift-checkout-frame-stage__iframe {
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
}


/* GIFT_PAYMENT_IFRAME_BALANCE_PATCH_V1 */
.gift-purchase-modal.is-checkout-iframe-stage .gift-purchase-modal__panel {
  width: min(1120px, calc(100vw - 56px)) !important;
  height: min(820px, calc(100vh - 44px)) !important;
  max-height: calc(100vh - 44px) !important;
  border-radius: 28px !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-purchase-modal__header {
  min-height: 86px !important;
  padding: 18px 24px 14px !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-purchase-modal__body {
  height: calc(100% - 86px) !important;
  max-height: none !important;
  padding: 14px 18px 18px !important;
  overflow: hidden !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-checkout-frame-stage {
  height: 100% !important;
  min-height: 0 !important;
  grid-template-rows: 42px minmax(0, 1fr) !important;
  gap: 12px !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-checkout-frame-stage__top {
  min-height: 42px !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-checkout-frame-stage__shell {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border-radius: 20px !important;
  background: #f5efe8 !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-checkout-frame-stage__iframe {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  background: #f5efe8 !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-checkout-frame-stage__back,
.gift-purchase-modal.is-checkout-iframe-stage .gift-checkout-frame-stage__fallback {
  min-height: 42px !important;
}

@media (max-width: 760px) {
  .gift-purchase-modal.is-checkout-iframe-stage .gift-purchase-modal__panel {
    width: 100% !important;
    height: 100vh !important;
    max-height: 100vh !important;
    border-radius: 0 !important;
  }

  .gift-purchase-modal.is-checkout-iframe-stage .gift-purchase-modal__body {
    height: calc(100vh - 88px) !important;
    padding: 10px !important;
  }
}


/* GIFT_PAYMENT_MINIMAL_CLEAN_PATCH_V1 */
.gift-purchase-modal.is-checkout-iframe-stage .gift-purchase-modal__panel {
  width: min(1180px, calc(100vw - 72px)) !important;
  height: min(840px, calc(100vh - 48px)) !important;
  max-height: calc(100vh - 48px) !important;
  border-radius: 28px !important;
  overflow: hidden !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-purchase-modal__header {
  height: 84px !important;
  min-height: 84px !important;
  padding: 18px 24px 12px !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-purchase-modal__body {
  height: calc(100% - 84px) !important;
  max-height: none !important;
  padding: 10px 12px 12px !important;
  overflow: hidden !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-checkout-frame-stage {
  display: grid !important;
  grid-template-rows: 42px minmax(0, 1fr) !important;
  gap: 10px !important;
  height: 100% !important;
  min-height: 0 !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-checkout-frame-stage__top {
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-checkout-frame-stage__shell {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 20px !important;
  background: #f5efe8 !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-checkout-frame-stage__iframe {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  background: #f5efe8 !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-checkout-frame-stage__back,
.gift-purchase-modal.is-checkout-iframe-stage .gift-checkout-frame-stage__fallback {
  min-height: 40px !important;
  height: 40px !important;
  padding: 0 18px !important;
}

@media (max-width: 760px) {
  .gift-purchase-modal.is-checkout-iframe-stage .gift-purchase-modal__panel {
    width: 100% !important;
    height: 100vh !important;
    max-height: 100vh !important;
    border-radius: 0 !important;
  }

  .gift-purchase-modal.is-checkout-iframe-stage .gift-purchase-modal__header {
    height: 78px !important;
    min-height: 78px !important;
  }

  .gift-purchase-modal.is-checkout-iframe-stage .gift-purchase-modal__body {
    height: calc(100vh - 78px) !important;
    padding: 8px !important;
  }
}


/* GIFT_PAYMENT_ORDER_REVIEW_WIDTH_PATCH_V1 */
.gift-purchase-modal.is-checkout-iframe-stage .gift-purchase-modal__panel {
  width: min(1160px, calc(100vw - 64px)) !important;
  height: min(840px, calc(100vh - 48px)) !important;
  max-height: calc(100vh - 48px) !important;
  border-radius: 28px !important;
  overflow: hidden !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-purchase-modal__header {
  height: 84px !important;
  min-height: 84px !important;
  padding: 18px 24px 12px !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-purchase-modal__body {
  height: calc(100% - 84px) !important;
  max-height: none !important;
  padding: 8px 10px 10px !important;
  overflow: hidden !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-checkout-frame-stage {
  display: grid !important;
  grid-template-rows: 42px minmax(0, 1fr) !important;
  gap: 8px !important;
  height: 100% !important;
  min-height: 0 !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-checkout-frame-stage__top {
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-checkout-frame-stage__shell {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 20px !important;
  background: #f5efe8 !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-checkout-frame-stage__iframe {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  background: #f5efe8 !important;
}

@media (max-width: 760px) {
  .gift-purchase-modal.is-checkout-iframe-stage .gift-purchase-modal__panel {
    width: 100% !important;
    height: 100vh !important;
    max-height: 100vh !important;
    border-radius: 0 !important;
  }

  .gift-purchase-modal.is-checkout-iframe-stage .gift-purchase-modal__header {
    height: 78px !important;
    min-height: 78px !important;
  }

  .gift-purchase-modal.is-checkout-iframe-stage .gift-purchase-modal__body {
    height: calc(100vh - 78px) !important;
    padding: 6px !important;
  }
}


/* GIFT_PAYMENT_FLUSH_FORM_PATCH_V1 */
.gift-purchase-modal.is-checkout-iframe-stage .gift-purchase-modal__body {
  padding: 6px !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-checkout-frame-stage {
  gap: 6px !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-checkout-frame-stage__shell {
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 18px !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-checkout-frame-stage__iframe {
  padding: 0 !important;
  margin: 0 !important;
}


/* GIFT_PAYMENT_BUTTONS_BOTTOM_PATCH_V1 */
.gift-purchase-modal.is-checkout-iframe-stage .gift-checkout-frame-stage {
  grid-template-rows: minmax(0, 1fr) 44px !important;
  gap: 10px !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-checkout-frame-stage__shell {
  order: 1 !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-checkout-frame-stage__top {
  order: 2 !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

.gift-purchase-modal.is-checkout-iframe-stage .gift-checkout-frame-stage__back,
.gift-purchase-modal.is-checkout-iframe-stage .gift-checkout-frame-stage__fallback {
  height: 44px !important;
  min-height: 44px !important;
}

@media (max-width: 760px) {
  .gift-purchase-modal.is-checkout-iframe-stage .gift-checkout-frame-stage {
    grid-template-rows: minmax(0, 1fr) auto !important;
  }

  .gift-purchase-modal.is-checkout-iframe-stage .gift-checkout-frame-stage__top {
    height: auto !important;
    min-height: 0 !important;
    flex-direction: column !important;
  }
}

@media (max-width: 769px) {
  .fixCarteCado {
    object-fit: contain;
    transform: scale(1.2);
    margin-top: -15%;
  }
}
