/* Feuille de widget « gabarit-detail-offer » — extraite des recettes de contenu (lot B, chantier 6) par
   tools/styles-check/extraire-styles-recettes.py ; valeurs = jetons de sk-tokens.css. */
.sk-od{max-width:1180px;margin:2rem auto;padding:0 1.5rem;display:grid;grid-template-columns:1.2fr 1fr;gap:2rem}
@media(max-width:900px){.sk-od{grid-template-columns:1fr}}
.sk-od-gallery{background:var(--sk-surface);border:1px solid var(--sk-border);border-radius:var(--sk-radius-lg);padding:1rem;display:flex;flex-direction:column;gap:.6rem}
.sk-od-main{aspect-ratio:4/3;border-radius:var(--sk-radius);background:var(--sk-bg) center/cover no-repeat}
.sk-od-body{background:var(--sk-surface);border:1px solid var(--sk-border);border-radius:var(--sk-radius-lg);padding:1.5rem;display:flex;flex-direction:column;gap:1rem}
.sk-od-kind{display:inline-block;padding:.3rem .8rem;border-radius:var(--sk-radius-pill);color:var(--sk-on-primary);font-size:.78rem;font-weight:700;width:max-content;letter-spacing:.3px}
.sk-od-title{font-size:1.8rem;color:var(--sk-fg);margin:0;line-height:1.2}
.sk-od-sub{color:var(--sk-muted);font-size:.95rem;margin:0}
.sk-od-price{font-size:2.2rem;color:var(--sk-primary);font-weight:800;letter-spacing:-.5px}
.sk-od-price small{color:var(--sk-muted);font-weight:500;font-size:.78rem;margin-left:.3rem}
.sk-od-price s{color:var(--sk-subtle);font-weight:500;font-size:1.2rem;margin-right:.5rem}
.sk-od-qty{display:flex;align-items:center;gap:.5rem}
.sk-od-qty label{color:var(--sk-muted);font-size:.88rem}
.sk-od-qty button{width:32px;height:32px;border:1px solid var(--sk-border);background:var(--sk-surface);border-radius:var(--sk-radius-xs);cursor:pointer;font-weight:600}
.sk-od-qty input{width:70px;text-align:center;padding:.4rem;border:1px solid var(--sk-border);border-radius:var(--sk-radius-xs);font-weight:600}
.sk-od-buy{display:flex;gap:.5rem;flex-wrap:wrap}
.sk-od-var{display:flex;flex-direction:column;gap:.55rem}
/* Une grille, et non une rangee qui passe a la ligne : avec quatre couleurs ou plus, la
   valeur qui deborde se rangeait sous le LIBELLE de l'axe au lieu des autres valeurs. */
.sk-od-var-axe{display:grid;grid-template-columns:auto 1fr;gap:.4rem .65rem;align-items:start}
.sk-od-var-vals{display:flex;flex-wrap:wrap;gap:.4rem}
.sk-od-var-nom{color:var(--sk-muted);font-size:.85rem;min-width:88px;display:inline-flex;align-items:center;
  gap:.35rem;padding-top:.5rem}
@media (max-width:520px){.sk-od-var-axe{grid-template-columns:1fr}.sk-od-var-nom{padding-top:0}}
.sk-od-var-nom i{color:var(--sk-primary);opacity:.75;font-size:.9em}
.sk-od-var-val{display:inline-flex;align-items:center;padding:.42rem .85rem;border:1px solid var(--sk-border);
  background:var(--sk-surface);border-radius:var(--sk-radius-sm);cursor:pointer;font-family:inherit;font-size:.88rem;color:var(--sk-fg);
  transition:all .12s}
.sk-od-var-val:hover:not(:disabled){border-color:var(--sk-primary);color:var(--sk-primary)}
.sk-od-var-val.est-choisi{background:var(--sk-primary);border-color:var(--sk-primary);color:var(--sk-on-primary);font-weight:600}
.sk-od-var-val.est-indispo{opacity:.4;cursor:not-allowed;text-decoration:line-through}
.sk-od-var-val.est-mesure{min-width:3.1rem;justify-content:center}
.sk-od-var-val.est-couleur{padding-inline-start:.5rem}
/* Une pastille tres claire (ivoire, creme) se distingue du fond par son lisere, que toutes
   portent pour rester semblables. Proprietes logiques : la fiche se lit aussi de droite a gauche. */
.sk-od-var-pastille{width:15px;height:15px;border-radius:var(--sk-radius-round);margin-inline-end:.45rem;flex:0 0 auto;
  border:1px solid rgba(0,0,0,.18)}
.sk-od-var-val.est-choisi .sk-od-var-pastille{border-color:rgba(255,255,255,.85)}
.sk-od-var-etat{font-size:.85rem;color:var(--sk-muted)}
.sk-od-var-etat.est-rupture{color:var(--sk-danger);font-weight:600}

.sk-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.7rem 1.3rem;border-radius:var(--sk-radius-sm);font-weight:600;font-size:.92rem;text-decoration:none;cursor:pointer;border:0;transition:all .15s;font-family:inherit}
.sk-btn-primary{background:var(--sk-primary);color:var(--sk-on-primary);font-weight:600}.sk-btn-primary:hover{background:var(--sk-primary-hover)}
.sk-btn-outline{background:var(--sk-surface);color:var(--sk-primary);border:1px solid var(--sk-primary)}
.sk-od-meta{display:grid;gap:.7rem;padding-top:1rem;border-top:1px solid var(--sk-border);color:var(--sk-fg-soft);font-size:.9rem}
.sk-od-meta-row{display:flex;align-items:flex-start;gap:.7rem}
.sk-od-meta-row i{color:var(--sk-primary);width:18px;margin-top:.2rem}
.sk-od-meta-row strong{color:var(--sk-fg);margin-right:.3rem}
.sk-od-store{margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--sk-border)}
.sk-od-store a{color:var(--sk-primary);font-weight:600;text-decoration:none}
.sk-od-daypick{display:grid;grid-template-columns:1fr;gap:.6rem}
.sk-od-daypick label{font-size:.85rem;color:var(--sk-muted)}
.sk-od-daypick input,.sk-od-daypick select{padding:.6rem .8rem;border:1px solid var(--sk-border);border-radius:var(--sk-radius-sm);font-family:inherit;font-size:.92rem}
.sk-od-slots{display:flex;flex-wrap:wrap;gap:.4rem}
.sk-od-slot{padding:.4rem .7rem;border:1px solid var(--sk-border);border-radius:var(--sk-radius-xs);font-size:.82rem;cursor:pointer;background:var(--sk-surface)}
.sk-od-slot:hover{background:var(--sk-primary-soft);border-color:var(--sk-primary)}
.sk-od-slot.selected{background:var(--sk-primary);color:var(--sk-on-primary);border-color:var(--sk-primary)}
.sk-od-license{background:var(--sk-bg);padding:.9rem 1rem;border-radius:var(--sk-radius-sm);font-size:.85rem;color:var(--sk-fg-soft)}
.sk-od-license i{color:var(--sk-c-violet-1);margin-right:.4rem}
.sk-od-taxi-route{background:var(--sk-success-soft);border:1px solid var(--sk-c-sarcelle-2);padding:1rem;border-radius:var(--sk-radius-sm)}
.sk-od-taxi-route input{width:100%;padding:.55rem .7rem;border:1px solid var(--sk-border);border-radius:var(--sk-radius-xs);margin-bottom:.5rem;font-family:inherit}
