/* SAKURION - cartes cadeaux en ligne : formulaire /cartes-cadeaux, blocs accueil et soins visage, pages de
   paiement, de confirmation, de la carte et du solde.
   Charte sakurion-brand : jetons de static/src/css/charte.css (--sk-*), Poppins 200/300 pour les titres, Inter
   300/400 pour le reste, rythme de 8 px, rayons de 2 px, aucune ombre, accent #2E6FC0 jamais en fond (il ne
   dit que « choisi » ou « action »), graphite #323232 pour la carte, encre #141414, jamais #000000.
   Bouton principal à contour (registre B2C), cibles tactiles de 48 px. */

#wrap .sk-gc,#wrap .sk-gcb,#wrap .sk-gc-solo{
  --gc-ink:var(--sk-ink,#141414); --gc-muted:var(--sk-muted,#6b7075); --gc-line:var(--sk-line,#e1e2e1);
  --gc-paper:var(--sk-paper,#f3f3f3); --gc-graphite:var(--sk-graphite,#323232); --gc-accent:var(--sk-accent,#2e6fc0);
  --gc-white:#fff; --gc-title:var(--sk-title,"Poppins",system-ui,sans-serif); --gc-text:var(--sk-text,"Inter",system-ui,sans-serif);
  --gc-touch:48px;
}

/* ------------------------------------------------------------------ carte (visuel) */
#wrap .sk-gc-card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;aspect-ratio:1.586;width:100%;
  background:var(--gc-graphite);color:var(--gc-white);border-radius:2px;padding:24px;overflow:hidden;box-shadow:none}
#wrap .sk-gc-card-logo{position:absolute;top:24px;left:24px;width:36%;max-width:180px;height:auto}
#wrap .sk-gc-card-label{font-family:var(--gc-title);font-weight:300;font-size:15px;line-height:1.6;color:#e1e2e1}
#wrap .sk-gc-card-value{font-family:var(--gc-title);font-weight:200;font-size:48px;line-height:1.08;color:var(--gc-white);font-variant-numeric:lining-nums}
#wrap .sk-gc-card-for{font-family:var(--gc-text);font-weight:300;font-size:15px;line-height:1.6;color:#e1e2e1;min-height:24px;overflow-wrap:anywhere}
#wrap .sk-gc-card-sm{max-width:360px;margin:0 0 24px}
#wrap .sk-gc-card-sm .sk-gc-card-value{font-size:40px}

/* ------------------------------------------------------------------ /cartes-cadeaux : mise en page */
#wrap .sk-gc{font-family:var(--gc-text);font-weight:300;color:var(--gc-ink);padding:0 0 128px}
#wrap .sk-gc-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:40px;align-items:start}
@media (min-width:1000px){
  #wrap .sk-gc-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px}
  #wrap .sk-gc-aside{position:sticky;top:104px}
}
#wrap .sk-gc-aside{min-width:0}
#wrap .sk-gc-sum{margin:24px 0 0;padding:0}
#wrap .sk-gc-sum>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;border-bottom:1px solid var(--gc-line)}
#wrap .sk-gc-sum>div[hidden]{display:none}
#wrap .sk-gc-sum dt{font-weight:300;font-size:15px;line-height:1.6;color:var(--gc-muted);margin:0}
#wrap .sk-gc-sum dd{font-weight:400;font-size:17px;line-height:1.4;color:var(--gc-ink);margin:0;font-variant-numeric:tabular-nums;white-space:nowrap}
#wrap .sk-gc-sum .sk-gc-sum-total{border-bottom-color:var(--gc-ink)}
#wrap .sk-gc-sum .sk-gc-sum-total dt{color:var(--gc-ink)}
#wrap .sk-gc-sum div[data-gc-sum-offer] dt{color:var(--gc-ink)}
#wrap .sk-gc-note{margin:16px 0 0;font-size:13px;line-height:1.7;color:var(--gc-muted)}
#wrap .sk-gc-note a{display:inline-block;margin-top:8px;color:var(--gc-ink);text-decoration:underline;text-underline-offset:3px}

#wrap .sk-gc-form{min-width:0;margin:0}
#wrap .sk-gc-head{margin:0 0 8px}
#wrap .sk-gc h2.sk-gc-h{font-family:var(--gc-title);font-weight:300;font-size:var(--sk-fs-h2,28px);line-height:var(--sk-lh-h2,1.14);color:var(--gc-ink);margin:0 0 16px;letter-spacing:0}
#wrap .sk-gc-intro{font-size:var(--sk-fs-body,16px);line-height:var(--sk-lh-body,1.75);color:var(--gc-muted);margin:0;max-width:640px}
#wrap .sk-gc-block{border:0;border-top:1px solid var(--gc-line);margin:32px 0 0;padding:24px 0 0;min-width:0}
#wrap .sk-gc-legend{float:left;width:100%;font-family:var(--gc-title);font-weight:300;font-size:24px;line-height:1.25;color:var(--gc-ink);margin:0 0 16px;padding:0}
#wrap .sk-gc-legend+*{clear:both}
#wrap .sk-gc-sublegend{font-size:15px;line-height:1.6;color:var(--gc-ink);margin:16px 0 8px}

/* segments, montants et soins : boutons radio */
#wrap .sk-gc-seg,#wrap .sk-gc-amounts{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
#wrap .sk-gc-seg[hidden]{display:none}
#wrap .sk-gc-segbtn,#wrap .sk-gc-chip,#wrap .sk-gc-svc{position:relative;display:block;cursor:pointer;margin:0}
#wrap .sk-gc-segbtn input,#wrap .sk-gc-chip input,#wrap .sk-gc-svc input,#wrap .sk-gc-check input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
#wrap .sk-gc-segbtn>span,#wrap .sk-gc-chip>span{display:inline-flex;align-items:center;justify-content:center;min-height:var(--gc-touch);padding:0 20px;
  font-family:var(--gc-text);font-size:15px;font-weight:400;line-height:1.2;color:var(--gc-ink);background:var(--gc-white);
  border:1px solid var(--gc-line);border-radius:2px;transition:border-color .2s,color .2s;font-variant-numeric:tabular-nums}
#wrap .sk-gc-chip>span{min-width:88px}
#wrap .sk-gc-segbtn:hover>span,#wrap .sk-gc-chip:hover>span{border-color:var(--gc-ink)}
#wrap .sk-gc-segbtn input:checked+span,#wrap .sk-gc-chip input:checked+span{border-color:var(--gc-accent);color:var(--gc-accent)}
#wrap .sk-gc-segbtn input:focus-visible+span,#wrap .sk-gc-chip input:focus-visible+span,#wrap .sk-gc-svc input:focus-visible~.n,
#wrap .sk-gc-check input:focus-visible+span{outline:2px solid var(--gc-accent);outline-offset:2px}
#wrap .sk-gc-pane[hidden],#wrap .sk-gc-other[hidden],#wrap [data-gc-other-only][hidden],#wrap .sk-gc-send[hidden],#wrap [data-gc-date][hidden]{display:none}
#wrap .sk-gc-services{display:flex;flex-direction:column;margin:0 0 8px}
#wrap .sk-gc-svc{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-height:var(--gc-touch);padding:12px 16px;
  border:1px solid var(--gc-line);border-radius:2px;margin:0 0 8px;transition:border-color .2s}
#wrap .sk-gc-svc:hover{border-color:var(--gc-ink)}
#wrap .sk-gc-svc .n{font-size:16px;font-weight:400;line-height:1.4;color:var(--gc-ink);min-width:0}
#wrap .sk-gc-svc .p{font-size:16px;font-weight:400;line-height:1.4;color:var(--gc-ink);font-variant-numeric:tabular-nums;white-space:nowrap}
#wrap .sk-gc-svc:has(input:checked){border-color:var(--gc-accent)}
#wrap .sk-gc-svc:has(input:checked) .n,#wrap .sk-gc-svc:has(input:checked) .p{color:var(--gc-accent)}

/* champs */
#wrap .sk-gc-row{display:grid;grid-template-columns:minmax(0,1fr);gap:0 16px}
@media (min-width:640px){#wrap .sk-gc-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
#wrap .sk-gc-field{display:flex;flex-direction:column;gap:8px;margin:0 0 16px;min-width:0}
#wrap .sk-gc-field label{font-size:13px;line-height:1.7;color:var(--gc-muted);margin:0}
#wrap .sk-gc-field input,#wrap .sk-gc-field textarea{width:100%;min-height:var(--gc-touch);padding:12px 16px;font-family:var(--gc-text);font-size:16px;font-weight:300;
  line-height:1.5;color:var(--gc-ink);background:var(--gc-white);border:1px solid var(--gc-line);border-radius:2px;box-shadow:none;outline:none;
  -webkit-appearance:none;appearance:none;transition:border-color .2s}
#wrap .sk-gc-field textarea{min-height:104px;resize:vertical}
#wrap .sk-gc-field input:focus,#wrap .sk-gc-field textarea:focus{border-color:var(--gc-ink)}
#wrap .sk-gc-field input[aria-invalid],#wrap .sk-gc-field textarea[aria-invalid]{border-color:var(--gc-ink);border-left-width:2px}
#wrap .sk-gc-euro{position:relative;max-width:200px}
#wrap .sk-gc-euro input{padding-right:40px;font-variant-numeric:tabular-nums}
#wrap .sk-gc-euro span{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--gc-muted)}
#wrap .sk-gc-help{font-size:13px;line-height:1.7;color:var(--gc-muted);margin:0 0 8px}
#wrap .sk-gc-count{text-align:right;margin-top:-8px;font-variant-numeric:tabular-nums}
#wrap .sk-gc-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
#wrap .sk-gc-check{display:flex;align-items:flex-start;gap:12px;cursor:pointer;margin:16px 0 0;font-size:15px;line-height:1.6;color:var(--gc-ink);position:relative}
#wrap .sk-gc-check>span{position:relative;padding-left:36px;min-height:24px}
#wrap .sk-gc-check>span::before{content:"";position:absolute;left:0;top:0;width:24px;height:24px;border:1px solid var(--gc-ink);border-radius:2px;background:var(--gc-white)}
#wrap .sk-gc-check input:checked+span::after{content:"";position:absolute;left:8px;top:3px;width:7px;height:13px;border:solid var(--gc-accent);border-width:0 2px 2px 0;transform:rotate(45deg)}
#wrap .sk-gc-check a{color:var(--gc-ink);text-decoration:underline;text-underline-offset:3px}

#wrap .sk-gc-error{font-size:15px;line-height:1.6;color:var(--gc-ink);margin:24px 0 0;padding-left:16px;border-left:2px solid var(--gc-ink)}
#wrap .sk-gc-error[hidden]{display:none}
#wrap .sk-gc-submit{margin:32px 0 0;display:flex;flex-direction:column;gap:16px;align-items:flex-start}

/* bouton principal à contour (B2C) et lien secondaire */
#wrap .sk-gc-btn,#wrap .sk-gcb-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--gc-touch);padding:0 24px;
  font-family:var(--gc-text);font-size:15px;font-weight:400;line-height:1.2;color:var(--gc-accent);background:var(--gc-white);
  border:1px solid var(--gc-accent);border-radius:2px;cursor:pointer;text-decoration:none;transition:color .2s,border-color .2s}
#wrap .sk-gc-btn:hover,#wrap .sk-gcb-btn:hover{color:var(--gc-ink);border-color:var(--gc-ink)}
#wrap .sk-gc-btn:disabled{color:var(--gc-muted);border-color:var(--gc-line);cursor:progress}
#wrap .sk-gc-btn:focus-visible,#wrap .sk-gcb-btn:focus-visible,#wrap .sk-gc-link:focus-visible{outline:2px solid var(--gc-accent);outline-offset:2px}
#wrap .sk-gc-submit .sk-gc-btn{min-width:240px}
#wrap .sk-gc-link{display:inline-flex;align-items:center;min-height:var(--gc-touch);font-size:15px;line-height:1.2;color:var(--gc-ink);text-decoration:underline;text-underline-offset:4px}

/* ------------------------------------------------------------------ blocs accueil / soins visage */
#wrap .sk-gcb{padding-top:96px;padding-bottom:96px;border-top:1px solid var(--gc-line)}
#wrap .sk-gcb-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;align-items:center}
@media (min-width:900px){#wrap .sk-gcb-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:64px}}
/* cadrage carré depuis le haut : aucune marque tierce lisible dans le bas des photos (charte §7) */
#wrap .sk-gcb-img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:50% 0;border-radius:0}
#wrap .sk-gcb h2.sk-gcb-h{font-family:var(--gc-title);font-weight:300;font-size:var(--sk-fs-h2,28px);line-height:var(--sk-lh-h2,1.14);color:var(--gc-ink);margin:0 0 16px;letter-spacing:0;font-style:normal}
#wrap .sk-gcb-p{font-family:var(--gc-text);font-weight:300;font-size:var(--sk-fs-body,16px);line-height:var(--sk-lh-body,1.75);color:var(--gc-muted);margin:0 0 32px;max-width:520px}
#wrap .sk-gcb-btn{color:var(--gc-ink);border-color:var(--gc-ink)}
#wrap .sk-gcb-btn:hover{color:var(--gc-accent);border-color:var(--gc-accent)}
@media (max-width:899px){#wrap .sk-gcb{padding-top:64px;padding-bottom:64px}}

/* ------------------------------------------------------------------ paiement, confirmation, carte, solde */
#wrap .sk-gc-solo .sk-gc-recap{margin:0 0 24px}
#wrap .sk-gc-solo .sk-bk-row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--gc-line);font-size:15px;line-height:1.6;overflow-wrap:anywhere}
#wrap .sk-gc-solo .sk-bk-row>span:last-child{text-align:right}
#wrap .sk-gc-lead{font-size:17px;line-height:1.75;color:var(--gc-ink);margin:0 0 16px}
#wrap .sk-gc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;margin:24px 0 0}
#wrap .sk-gc-view .sk-gc-card{max-width:440px;margin:0 0 24px}
#wrap .sk-gc-message{font-family:var(--gc-title);font-weight:300;font-size:17px;line-height:1.6;color:var(--gc-ink);margin:0 0 24px;white-space:pre-line;
  padding-left:16px;border-left:2px solid var(--gc-line)}
#wrap .sk-gc-facts{margin:0 0 16px;padding:0}
#wrap .sk-gc-facts>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--gc-line)}
#wrap .sk-gc-facts dt{font-weight:300;font-size:15px;color:var(--gc-muted);margin:0}
#wrap .sk-gc-facts dd{font-weight:400;font-size:15px;color:var(--gc-ink);margin:0;text-align:right;font-variant-numeric:tabular-nums}
#wrap .sk-gc-code{letter-spacing:.04em}
#wrap .sk-gc-balform{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;margin:24px 0 0}
#wrap .sk-gc-balform .sk-gc-field{flex:1 1 240px;margin:0}
#wrap .sk-gc-balform input{text-transform:uppercase;letter-spacing:.04em}
#wrap .sk-gc-balres{margin:24px 0 0}
#wrap .sk-gc-balval{font-family:var(--gc-title);font-weight:300;font-size:28px;line-height:1.2;color:var(--gc-ink);margin:0 0 8px}
#wrap .sk-gc-solo .sk-gc-error{margin-top:0}

/* lien du menu ajouté par giftcard_links.js : même style que les autres liens du menu */
#wrap nav .nav-r a.sk-nav-gift[aria-current="page"]{color:var(--sk-ink,#141414)}

@media (max-width:560px){
  #wrap .sk-gc-card{padding:16px}
  #wrap .sk-gc-card-logo{top:16px;left:16px}
  #wrap .sk-gc-card-value{font-size:40px}
  #wrap .sk-gc-submit .sk-gc-btn{width:100%;min-width:0}
  #wrap .sk-gc-chip>span{min-width:72px;padding:0 16px}
}
