:root{
  --bg:#0a0a0a; --paper:#f3f0e8; --ink:#111; --muted:#767676; --line:rgba(255,255,255,.16);
  --shell:min(1400px, calc(100% - 48px)); --serif:Georgia,'Times New Roman',serif; --sans:Helvetica Neue,Arial,sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.5} img{max-width:100%;height:auto;display:block} a{color:inherit;text-decoration:none}.shell{width:var(--shell);margin-inline:auto}.narrow{max-width:900px}.site-main{overflow:hidden}
.site-header{position:fixed;inset:0 0 auto;z-index:20;color:#fff;background:linear-gradient(to bottom,rgba(0,0,0,.72),rgba(0,0,0,0));transition:.25s}.site-header.is-scrolled{background:rgba(5,5,5,.94);backdrop-filter:blur(14px)}.header-inner{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;flex-direction:column;line-height:1}.brand-wordmark{font-size:18px;letter-spacing:.26em;font-weight:600}.brand-tagline{font-size:9px;letter-spacing:.22em;margin-top:7px;opacity:.72}.primary-nav ul{display:flex;gap:30px;list-style:none;margin:0;padding:0}.primary-nav a,.header-actions{font-size:12px;letter-spacing:.12em;text-transform:uppercase}.header-actions{display:flex;align-items:center;gap:18px}.language-switcher{display:flex;gap:5px}.language-switcher ul{display:flex;gap:6px;list-style:none;margin:0;padding:0}.language-switcher li:not(:last-child)::after{content:' / ';opacity:.5;margin-left:6px}
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;color:white;background:#070707}.hero-media{position:absolute;inset:-3%;background:radial-gradient(circle at 65% 38%,#5f3b22 0,transparent 24%),radial-gradient(circle at 56% 52%,#173753 0,transparent 33%),radial-gradient(circle at 35% 65%,#1c1c1c 0,transparent 35%),#050505;transform:scale(1.03);animation:cosmoZoom 18s ease-in-out infinite alternate}.hero-media::before,.hero-media::after{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,#fff 0 1px,transparent 1.2px);background-size:95px 95px;opacity:.22}.hero-media::after{background-size:170px 170px;transform:translate(40px,20px);opacity:.12}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.12) 58%,rgba(0,0,0,.18)),linear-gradient(to top,rgba(0,0,0,.55),transparent 45%)}@keyframes cosmoZoom{from{transform:scale(1.03)}to{transform:scale(1.09)}}.hero-content{position:relative;z-index:2;padding:180px 0 86px}.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;margin:0 0 18px}.hero h1{font-size:clamp(52px,8vw,122px);line-height:.9;letter-spacing:.03em;margin:0;font-weight:500}.hero-tagline{font-family:var(--serif);font-style:italic;font-size:clamp(24px,3vw,42px);margin:20px 0}.hero-copy{max-width:580px;font-size:17px;color:rgba(255,255,255,.78)}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px}.button{display:inline-flex;padding:15px 22px;border:1px solid currentColor;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.button-light{background:#fff;color:#111;border-color:#fff}.text-link{font-size:12px;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid currentColor;padding-bottom:4px}
.section{padding:110px 0}.section-heading{margin-bottom:46px;max-width:850px}.split-heading{max-width:none;display:flex;justify-content:space-between;align-items:end;gap:30px}.section h2{font-family:var(--serif);font-weight:400;font-size:clamp(38px,5vw,70px);line-height:1.02;margin:0}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 22px}.product-card-image{aspect-ratio:4/5;background:#d9d5ca;overflow:hidden}.product-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.product-card:hover img{transform:scale(1.02)}.product-card-meta{display:flex;justify-content:space-between;gap:18px;padding-top:14px}.product-card h3{font-size:14px;font-weight:500;margin:0}.product-card span{font-size:13px;color:var(--muted)}.placeholder-card .product-card-image{background:linear-gradient(135deg,#d8d4ca,#bdb8ae)}
.section-contrast{background:#0b0b0b;color:#fff}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#333}.category-grid a{position:relative;min-height:260px;background:radial-gradient(circle at 70% 30%,#25364d,#0d0d0d 58%);display:flex;align-items:flex-end;padding:24px;overflow:hidden}.category-grid a:nth-child(2n){background:radial-gradient(circle at 45% 40%,#623f28,#0d0d0d 58%)}.category-grid span{font-family:var(--serif);font-size:29px}
.finish-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#c8c2b7}.finish-grid article{background:var(--paper);padding:34px;min-height:230px}.finish-grid h3{font-family:var(--serif);font-size:28px;font-weight:400;margin:0 0 18px}.finish-grid p{color:#62605a;font-size:14px}.feature-story{background:#191919;color:#fff}.feature-story-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:8vw;align-items:center}.feature-visual{min-height:620px;background:radial-gradient(circle at 55% 45%,#9a6032 0 4%,#4f291b 10%,transparent 28%),radial-gradient(circle at 45% 40%,#163951,transparent 42%),#070707}.feature-copy p:not(.eyebrow){color:#bdbdbd;max-width:520px}.panorama-placeholder{height:min(55vw,600px);background:radial-gradient(circle at 25% 55%,#343c56,transparent 18%),radial-gradient(circle at 65% 45%,#7a492c,transparent 16%),linear-gradient(90deg,#070707,#1a1a1a,#070707)}.discover-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:10vw}.discover-grid p{color:#aaa}.discover-links{display:grid;border-top:1px solid var(--line)}.discover-links a{padding:20px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:30px}
.site-footer{background:#050505;color:#fff;padding:70px 0}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px}.footer-brand{letter-spacing:.25em}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin-bottom:10px}.footer-meta{color:#999;font-size:13px}.content-entry,.page-content{padding:40px 0}.woocommerce-shell{padding-top:150px}
@media (max-width:900px){:root{--shell:min(100% - 28px,1400px)}.primary-nav{display:none}.header-inner{min-height:72px}.hero-content{padding-bottom:56px}.hero h1{font-size:13vw}.product-grid{grid-template-columns:repeat(2,1fr)}.category-grid{grid-template-columns:repeat(2,1fr)}.finish-grid{grid-template-columns:repeat(2,1fr)}.feature-story-grid,.discover-grid{grid-template-columns:1fr}.feature-visual{min-height:420px}.footer-grid{grid-template-columns:1fr}.split-heading{display:block}.split-heading .text-link{display:inline-block;margin-top:22px}}
@media (max-width:560px){.header-actions{gap:10px}.brand-wordmark{font-size:14px}.product-grid{grid-template-columns:1fr}.category-grid,.finish-grid{grid-template-columns:1fr}.hero-actions{align-items:flex-start;flex-direction:column}.section{padding:76px 0}.feature-visual{min-height:340px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-media{animation:none}}
/* =========================================================
   COSMOPHORIA — FICHE PRODUIT V1
   ========================================================= */

/* ---------- STRUCTURE GÉNÉRALE ---------- */

body.single-product{
  background:#090a0b;
  color:#f4f1ea;
}

body.single-product .woocommerce-shell{
  padding-top:118px;
  padding-bottom:0;
}

body.single-product .woocommerce{
  color:#f4f1ea;
}

body.single-product div.product{
  max-width:1400px;
  margin:0 auto;
}

body.single-product div.product::after{
  content:"";
  display:block;
  clear:both;
}


/* ---------- GALERIE À GAUCHE ---------- */

body.single-product div.product .woocommerce-product-gallery{
  width:55%;
  float:left;
  margin:0;
}

body.single-product .woocommerce-product-gallery__wrapper{
  margin:0;
}

body.single-product .woocommerce-product-gallery__image{
  overflow:hidden;
  background:#101112;
}

body.single-product .woocommerce-product-gallery__image img{
  width:100%;
  height:auto;
  display:block;
}

body.single-product .woocommerce-product-gallery .flex-control-thumbs{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:10px;
  margin:14px 0 0;
  padding:0;
}

body.single-product .woocommerce-product-gallery .flex-control-thumbs li{
  width:auto !important;
  float:none !important;
  margin:0 !important;
  opacity:.65;
  transition:.2s ease;
  cursor:pointer;
}

body.single-product .woocommerce-product-gallery .flex-control-thumbs li:hover,
body.single-product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active{
  opacity:1;
}

body.single-product .woocommerce-product-gallery .flex-control-thumbs img{
  aspect-ratio:1 / 1;
  object-fit:cover;
}


/* ---------- BLOC ACHAT À DROITE ---------- */

body.single-product div.product .summary{
  width:40%;
  float:right;
  margin:0;
  padding-top:8px;
}

body.single-product .product_title{
  font-family:var(--serif);
  font-size:clamp(38px,3.2vw,58px);
  line-height:1.02;
  font-weight:400;
  letter-spacing:-.02em;
  margin:0 0 18px;
  color:#f5f2eb;
}

body.single-product div.product p.price,
body.single-product div.product span.price{
  color:#e8dec9;
  font-size:25px;
  font-weight:400;
  margin:0 0 28px;
}

body.single-product .woocommerce-product-details__short-description{
  color:rgba(255,255,255,.74);
  font-size:15px;
  line-height:1.65;
  margin-bottom:32px;
}

body.single-product .woocommerce-product-details__short-description strong{
  color:#fff;
  font-weight:600;
}


/* ---------- VARIATIONS ---------- */

body.single-product form.variations_form{
  margin-top:26px;
}

body.single-product table.variations{
  width:100%;
  border:0;
  border-collapse:separate;
  border-spacing:0 12px;
  margin:0 0 20px;
}

body.single-product table.variations tr{
  display:grid;
  grid-template-columns:145px 1fr;
  align-items:center;
  gap:14px;
}

body.single-product table.variations th,
body.single-product table.variations td{
  border:0;
  padding:0;
  background:transparent;
}

body.single-product table.variations label{
  color:#f4f1ea;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:600;
}

body.single-product table.variations select{
  width:100%;
  min-height:48px;
  background:#111315;
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  padding:0 42px 0 14px;
  font-size:14px;
  border-radius:0;
}

body.single-product .reset_variations{
  color:#aaa;
  font-size:11px;
  margin-top:8px;
}


/* ---------- PRIX DE LA VARIANTE ---------- */

body.single-product .single_variation_wrap{
  margin-top:22px;
}

body.single-product .woocommerce-variation-price{
  margin-bottom:18px;
}

body.single-product .woocommerce-variation-price .price{
  font-size:26px !important;
  color:#f0e7d6 !important;
}


/* ---------- QUANTITÉ + PANIER ---------- */

body.single-product .woocommerce-variation-add-to-cart,
body.single-product form.cart{
  display:flex;
  gap:10px;
  align-items:stretch;
}

body.single-product .quantity .qty{
  width:72px;
  height:54px;
  background:#101214;
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  text-align:center;
}

body.single-product button.single_add_to_cart_button{
  min-height:54px;
  flex:1;
  border:0;
  border-radius:0;
  background:#eee4d2;
  color:#101010;
  padding:0 28px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  transition:.2s ease;
}

body.single-product button.single_add_to_cart_button:hover{
  background:#fff;
  color:#000;
}

body.single-product button.single_add_to_cart_button.disabled{
  opacity:.35;
}


/* ---------- MÉTADONNÉES ---------- */

body.single-product .product_meta{
  display:none;
}


/* =========================================================
   DESCRIPTION ÉDITORIALE
   ========================================================= */

body.single-product .woocommerce-tabs{
  clear:both;
  width:100%;
  padding-top:110px;
}

/* Supprime les onglets WooCommerce */
body.single-product .woocommerce-tabs ul.tabs{
  display:none !important;
}

/* On conserve uniquement la vraie description */
body.single-product .woocommerce-Tabs-panel--additional_information,
body.single-product .woocommerce-Tabs-panel--reviews{
  display:none !important;
}

body.single-product .woocommerce-Tabs-panel--description{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
}

/* Supprime le gros titre automatique "Description" */
body.single-product .woocommerce-Tabs-panel--description > h2:first-child{
  display:none;
}

/* Annule le H2 géant hérité de .section h2 */
body.single-product .woocommerce-Tabs-panel--description h2{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(30px,3vw,44px);
  line-height:1.08;
  letter-spacing:-.015em;
  color:#f4f1ea;
  margin:74px 0 22px;
  max-width:900px;
}

body.single-product .woocommerce-Tabs-panel--description h3{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:#aaa;
  margin:50px 0 14px;
}

body.single-product .woocommerce-Tabs-panel--description p{
  max-width:820px;
  color:rgba(255,255,255,.72);
  font-size:16px;
  line-height:1.75;
  margin:0 0 22px;
}

body.single-product .woocommerce-Tabs-panel--description strong{
  color:#fff;
  font-weight:600;
}


/* ---------- LIENS ---------- */

body.single-product .woocommerce-Tabs-panel--description a{
  color:#f1e5cf;
  border-bottom:1px solid rgba(241,229,207,.4);
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width:900px){

  body.single-product .woocommerce-shell{
    padding-top:88px;
  }

  body.single-product div.product .woocommerce-product-gallery,
  body.single-product div.product .summary{
    width:100%;
    float:none;
  }

  body.single-product div.product .summary{
    padding-top:32px;
  }

  body.single-product .product_title{
    font-size:36px;
  }

  body.single-product .woocommerce-product-gallery .flex-control-thumbs{
    grid-template-columns:repeat(5,1fr);
    gap:7px;
  }

  body.single-product table.variations tr{
    grid-template-columns:1fr;
    gap:7px;
    margin-bottom:16px;
  }

  body.single-product table.variations select{
    min-height:52px;
  }

  body.single-product .woocommerce-tabs{
    padding-top:72px;
  }

  body.single-product .woocommerce-Tabs-panel--description h2{
    font-size:32px;
    margin-top:58px;
  }

  body.single-product .woocommerce-Tabs-panel--description p{
    font-size:15px;
  }
}

@media (max-width:560px){

  body.single-product .woocommerce-shell{
    width:calc(100% - 28px);
  }

  body.single-product .product_title{
    font-size:32px;
  }

  body.single-product .woocommerce-product-details__short-description{
    font-size:14px;
  }

  body.single-product .woocommerce-variation-add-to-cart,
  body.single-product form.cart{
    flex-wrap:wrap;
  }

  body.single-product .quantity{
    width:72px;
  }
/* COSMOPHORIA — correction description produit */

/* Le premier grand titre répète déjà le nom du produit : on le masque */
body.single-product .woocommerce-Tabs-panel--description > h1:first-child,
body.single-product .woocommerce-Tabs-panel--description > h2:first-child,
body.single-product .woocommerce-Tabs-panel--description > h3:first-child{
  display:none !important;
}

/* Aucun titre éditorial ne doit redevenir gigantesque */
body.single-product .woocommerce-Tabs-panel--description h1{
  font-family:var(--serif);
  font-size:44px !important;
  line-height:1.08;
  font-weight:400;
  margin:72px 0 22px;
}

body.single-product .woocommerce-Tabs-panel--description h2{
  font-size:36px !important;
}

body.single-product .woocommerce-Tabs-panel--description h3{
  font-size:12px !important;
}

/* Lecture plus élégante */
body.single-product .woocommerce-Tabs-panel--description p{
  max-width:760px;
  font-size:16px !important;
  line-height:1.75;
}

@media(max-width:700px){
  body.single-product .woocommerce-Tabs-panel--description h1{
    font-size:34px !important;
  }

  body.single-product .woocommerce-Tabs-panel--description h2{
    font-size:29px !important;
  }
}
  body.single-product button.single_add_to_cart_button{
    flex:1;
  }
}
/* =========================================================
   COSMOPHORIA — SÉLECTEUR PREMIUM DES VARIATIONS
   ========================================================= */

body.single-product table.variations{
  display:block;
  margin-top:32px;
}

body.single-product table.variations tbody{
  display:block;
}

body.single-product table.variations tr{
  display:block;
  margin:0 0 30px;
}

body.single-product table.variations th,
body.single-product table.variations td{
  display:block;
  width:100%;
}

body.single-product table.variations th{
  margin-bottom:12px;
}

body.single-product table.variations label{
  display:block;
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#f4f1ea;
}

/* Le select WooCommerce reste actif techniquement,
   mais n'est plus visible */

body.single-product table.variations select{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  clip:rect(0 0 0 0) !important;
  clip-path:inset(50%) !important;
  white-space:nowrap !important;
}


/* ---------- GRILLE ---------- */

.cosmo-option-grid{
  display:grid;
  gap:9px;
}

.cosmo-finish-grid{
  grid-template-columns:repeat(4,1fr);
}

.cosmo-size-grid{
  grid-template-columns:repeat(4,1fr);
}


/* ---------- BOUTONS ---------- */

.cosmo-option{
  appearance:none;
  -webkit-appearance:none;
  margin:0;
  padding:0;
  border:1px solid rgba(255,255,255,.19);
  background:#0e1012;
  color:#eee9df;
  cursor:pointer;
  transition:
    border-color .18s ease,
    background .18s ease,
    opacity .18s ease,
    transform .18s ease;
}

.cosmo-option:hover:not(.is-disabled){
  border-color:rgba(255,255,255,.55);
}

.cosmo-option.is-selected{
  border-color:#e8deca;
  background:#151719;
  box-shadow:inset 0 0 0 1px rgba(232,222,202,.15);
}

.cosmo-option.is-disabled{
  opacity:.22;
  cursor:not-allowed;
}


/* ---------- CARTES FINITIONS ---------- */

.cosmo-finish-option{
  min-height:124px;
  display:flex;
  flex-direction:column;
}

.cosmo-finish-preview{
  display:block;
  height:72px;
  margin:5px 5px 0;
  position:relative;
  overflow:hidden;
  background:#17191b;
}

.cosmo-option-label{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:1;
  min-height:43px;
  padding:7px 5px;
  text-align:center;
  font-size:11px;
  line-height:1.25;
}


/* Poster */

.cosmo-preview-poster{
  background:
    linear-gradient(145deg,#303238,#111214);
}

.cosmo-preview-poster::before{
  content:"";
  position:absolute;
  inset:9px 18px;
  background:
    radial-gradient(circle at 65% 30%,#d9b476 0 2%,transparent 3%),
    radial-gradient(circle at 35% 55%,#7b522f,transparent 32%),
    linear-gradient(135deg,#172537,#080a0d);
}


/* Fine Art */

.cosmo-preview-fine-art{
  background:#e7e2d8;
}

.cosmo-preview-fine-art::before{
  content:"";
  position:absolute;
  inset:7px 15px;
  border:7px solid #f4f0e8;
  background:
    radial-gradient(circle at 60% 35%,#ba8750,transparent 20%),
    linear-gradient(135deg,#15293a,#07090b);
}


/* Toile */

.cosmo-preview-canvas{
  background:
    linear-gradient(135deg,#252729,#090a0b);
}

.cosmo-preview-canvas::before{
  content:"";
  position:absolute;
  inset:9px 13px 7px 9px;
  background:
    radial-gradient(circle at 65% 35%,#ba8650,transparent 20%),
    linear-gradient(135deg,#172839,#08090b);
  box-shadow:8px 4px 0 #282828;
}


/* Toile encadrée */

.cosmo-preview-framed{
  background:#dedbd4;
}

.cosmo-preview-framed::before{
  content:"";
  position:absolute;
  inset:7px 15px;
  border:6px solid #151515;
  box-shadow:3px 4px 0 rgba(0,0,0,.3);
  background:
    radial-gradient(circle at 65% 35%,#ba8650,transparent 20%),
    linear-gradient(135deg,#182a3b,#08090b);
}


/* ---------- FORMATS ---------- */

.cosmo-size-option{
  min-height:48px;
  padding:8px 6px;
}

.cosmo-size-option .cosmo-option-label{
  min-height:auto;
  font-size:12px;
}


/* ---------- RESET ---------- */

body.single-product .reset_variations{
  display:inline-block;
  margin-top:10px;
  color:rgba(255,255,255,.48);
  border-bottom:1px solid rgba(255,255,255,.25);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
}


/* ---------- PANIER ---------- */

body.single-product .single_variation_wrap{
  margin-top:20px;
}

body.single-product .woocommerce-variation-add-to-cart{
  display:grid;
  grid-template-columns:88px 1fr;
  gap:10px;
}

body.single-product .quantity,
body.single-product .quantity .qty{
  width:100%;
}

body.single-product button.single_add_to_cart_button{
  width:100%;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:1150px){

  .cosmo-finish-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .cosmo-size-grid{
    grid-template-columns:repeat(3,1fr);
  }
}

@media(max-width:900px){

  .cosmo-finish-grid{
    grid-template-columns:repeat(4,1fr);
  }

  .cosmo-size-grid{
    grid-template-columns:repeat(4,1fr);
  }
}

@media(max-width:600px){

  .cosmo-finish-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .cosmo-size-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .cosmo-finish-option{
    min-height:118px;
  }

  body.single-product .woocommerce-variation-add-to-cart{
    grid-template-columns:70px 1fr;
  }
}
/* COSMOPHORIA — alignement final du bloc achat */

body.single-product form.cart.variations_form{
  display:block !important;
  width:100%;
}

body.single-product form.cart.variations_form table.variations{
  width:100%;
}

body.single-product form.cart.variations_form .single_variation_wrap{
  width:100%;
  margin-top:24px;
}

body.single-product .woocommerce-variation-add-to-cart{
  width:100%;
  display:grid !important;
  grid-template-columns:82px 1fr;
  gap:10px;
}

body.single-product .quantity .qty{
  height:56px;
}

body.single-product button.single_add_to_cart_button{
  min-height:56px;
}
/* =========================================================
   COSMOPHORIA — REPÈRES SCIENTIFIQUES PRODUIT
   ========================================================= */

body.single-product .cosmo-science-eyebrow{
  margin:0 0 10px;
  color:rgba(255,255,255,.42);
  font-size:9px;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
}

body.single-product .cosmo-science-meta{
  margin:-6px 0 24px;
  color:rgba(255,255,255,.62);
  font-size:13px;
  line-height:1.5;
  letter-spacing:.015em;
}

body.single-product .cosmo-science-meta span{
  display:inline-block;
  margin:0 7px;
  color:rgba(255,255,255,.28);
}


/* Titre légèrement plus raffiné maintenant
   qu'on ajoute les informations scientifiques */

body.single-product .product_title{
  margin-bottom:18px;
}


/* Prix plus proche du bloc scientifique */

body.single-product div.product p.price,
body.single-product div.product span.price{
  margin-top:0;
  margin-bottom:28px;
}


/* Mobile */

@media(max-width:600px){

  body.single-product .cosmo-science-eyebrow{
    font-size:8px;
    margin-bottom:8px;
  }

  body.single-product .cosmo-science-meta{
    font-size:12px;
    margin-bottom:22px;
  }

  body.single-product .cosmo-science-meta span{
    margin:0 4px;
  }
}
/* FIX — icônes réassurance COSMOPHORIA */

body.single-product .cosmo-reassurance{
  width:100%;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:22px;
  margin-top:28px;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.12);
}

body.single-product .cosmo-reassurance-item{
  min-width:0;
  display:flex !important;
  align-items:center;
  gap:10px;
}

body.single-product .cosmo-reassurance-icon{
  display:block !important;
  width:26px !important;
  height:26px !important;
  min-width:26px !important;
  max-width:26px !important;
  flex:0 0 26px !important;
  overflow:hidden;
}

body.single-product .cosmo-reassurance-icon svg{
  display:block !important;
  width:26px !important;
  height:26px !important;
  min-width:26px !important;
  max-width:26px !important;
  max-height:26px !important;
  margin:0 !important;
  padding:0 !important;

  fill:none !important;
  stroke:rgba(255,255,255,.72) !important;
  stroke-width:1.2 !important;
}

body.single-product .cosmo-reassurance-icon svg path{
  fill:none !important;
  stroke:inherit !important;
}

body.single-product .cosmo-reassurance-item > span:last-child{
  color:rgba(255,255,255,.58);
  font-size:10px;
  line-height:1.4;
}

@media(max-width:600px){
  body.single-product .cosmo-reassurance{
    grid-template-columns:repeat(3,1fr) !important;
    gap:10px;
  }

  body.single-product .cosmo-reassurance-item{
    flex-direction:column;
    align-items:flex-start;
  }
}
/* =========================================================
   COSMOPHORIA — MINIATURES GALERIE PRODUIT
   ========================================================= */

body.single-product .woocommerce-product-gallery .flex-control-thumbs{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:10px;
  overflow-x:auto;
  overflow-y:hidden;
  margin:14px 0 0;
  padding:0 0 6px;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.25) transparent;
}

body.single-product .woocommerce-product-gallery .flex-control-thumbs li{
  flex:0 0 82px !important;
  width:82px !important;
  margin:0 !important;
  float:none !important;
}

body.single-product .woocommerce-product-gallery .flex-control-thumbs img{
  width:82px !important;
  height:82px !important;
  aspect-ratio:1 / 1;
  object-fit:cover;
  opacity:.55;
  transition:.2s ease;
  border:1px solid transparent;
}

body.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover{
  opacity:.82;
}

body.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active{
  opacity:1;
  border-color:rgba(238,228,210,.8);
}

@media(max-width:600px){

  body.single-product .woocommerce-product-gallery .flex-control-thumbs{
    gap:7px;
  }

  body.single-product .woocommerce-product-gallery .flex-control-thumbs li{
    flex-basis:66px !important;
    width:66px !important;
  }

  body.single-product .woocommerce-product-gallery .flex-control-thumbs img{
    width:66px !important;
    height:66px !important;
  }
}
/* =========================================================
   COSMOPHORIA — FINITION BLOC ACHAT
   ========================================================= */

/* Finitions un peu plus compactes */
body.single-product .cosmo-finish-option{
  min-height:112px;
}

body.single-product .cosmo-finish-preview{
  height:64px;
}

/* Réduit les espaces entre étapes */
body.single-product table.variations tr{
  margin-bottom:22px;
}

/* "Effacer" devient discret */
body.single-product .reset_variations{
  margin:2px 0 0 !important;
  padding:0 !important;
  font-size:9px !important;
  line-height:1.4;
  letter-spacing:.12em;
  opacity:.45;
}

/* Bloc quantité + panier plus élégant */
body.single-product .single_variation_wrap{
  margin-top:18px !important;
}

body.single-product .woocommerce-variation-add-to-cart{
  grid-template-columns:72px 1fr !important;
}

body.single-product .quantity .qty,
body.single-product button.single_add_to_cart_button{
  height:54px !important;
  min-height:54px !important;
}

/* CTA COSMOPHORIA */
body.single-product button.single_add_to_cart_button{
  background:#eee4d2 !important;
  color:#111 !important;
  font-size:10px !important;
  letter-spacing:.18em;
  font-weight:700;
}

body.single-product button.single_add_to_cart_button:hover{
  background:#fff !important;
}

/* État désactivé : lisible mais clairement indisponible */
body.single-product button.single_add_to_cart_button.disabled{
  background:#302a38 !important;
  color:rgba(255,255,255,.35) !important;
  opacity:1 !important;
}

/* Réassurances légèrement plus fines */
body.single-product .cosmo-reassurance{
  margin-top:22px !important;
}

body.single-product .cosmo-reassurance-item{
  font-size:9px !important;
}
/* =========================================================
   COSMOPHORIA — LE VOYAGE DE LA LUMIÈRE
   ========================================================= */

body.single-product .cosmo-light-journey{
  clear:both;
  width:100%;
  margin-top:110px;
  padding:78px 0;
  border-top:1px solid rgba(255,255,255,.10);
  border-bottom:1px solid rgba(255,255,255,.10);
  color:#f4f1ea;
}

body.single-product .cosmo-light-journey-inner{
  display:grid;
  grid-template-columns:minmax(300px,.8fr) minmax(500px,1.35fr);
  gap:7vw;
  align-items:center;
}


/* ---------- TEXTE ---------- */

body.single-product .cosmo-editorial-eyebrow{
  margin-bottom:16px;
  color:rgba(255,255,255,.48);
  font-size:9px;
  font-weight:600;
  line-height:1;
  letter-spacing:.24em;
  text-transform:uppercase;
}

body.single-product .cosmo-light-copy h2{
  max-width:520px;
  margin:0 0 28px !important;
  font-family:var(--serif);
  font-size:clamp(38px,4vw,60px) !important;
  line-height:1.02;
  font-weight:400;
  letter-spacing:-.02em;
  color:#f4f1ea;
}

body.single-product .cosmo-light-copy p{
  max-width:500px;
  margin:0 0 16px;
  color:rgba(255,255,255,.67);
  font-size:14px;
  line-height:1.7;
}

body.single-product .cosmo-light-copy p strong{
  color:#f4f1ea;
  font-weight:500;
}

body.single-product .cosmo-editorial-link{
  display:inline-flex;
  align-items:center;
  gap:22px;
  margin-top:20px;
  padding:13px 18px;
  border:1px solid rgba(255,255,255,.28);
  color:#f4f1ea;
  font-size:10px;
  letter-spacing:.08em;
  transition:.2s ease;
}

body.single-product .cosmo-editorial-link:hover{
  border-color:rgba(255,255,255,.7);
  background:rgba(255,255,255,.04);
}


/* =========================================================
   SCHÉMA SPATIAL
   ========================================================= */

body.single-product .cosmo-light-visual{
  position:relative;
  min-height:330px;
  overflow:hidden;
  display:grid;
  grid-template-columns:120px 1fr 150px;
  align-items:center;
  padding:55px 46px;
  border:1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at 85% 48%,rgba(144,91,45,.18),transparent 17%),
    radial-gradient(circle at 12% 50%,rgba(36,73,104,.20),transparent 20%),
    #080a0c;
}


/* étoiles */

body.single-product .cosmo-space-field,
body.single-product .cosmo-space-field::before,
body.single-product .cosmo-space-field::after{
  position:absolute;
  inset:0;
  content:"";
  pointer-events:none;
}

body.single-product .cosmo-space-field{
  opacity:.5;
  background-image:
    radial-gradient(circle,rgba(255,255,255,.85) 0 1px,transparent 1.2px);
  background-size:83px 83px;
}

body.single-product .cosmo-space-field::before{
  background-image:
    radial-gradient(circle,rgba(255,255,255,.55) 0 1px,transparent 1.2px);
  background-size:137px 137px;
  transform:translate(31px,19px);
}

body.single-product .cosmo-space-field::after{
  opacity:.45;
  background-image:
    radial-gradient(circle,rgba(255,255,255,.9) 0 1px,transparent 1.3px);
  background-size:211px 211px;
  transform:translate(71px,46px);
}


/* ---------- POINTS ---------- */

body.single-product .cosmo-light-point{
  position:relative;
  z-index:2;
  min-width:0;
  text-align:center;
}

body.single-product .cosmo-planet{
  display:block;
  width:62px;
  height:62px;
  margin:0 auto 17px;
  border-radius:50%;
  background:
    radial-gradient(circle at 66% 34%,#86a6a7 0 7%,transparent 8%),
    radial-gradient(circle at 38% 57%,#718a65 0 13%,transparent 14%),
    radial-gradient(circle at 62% 62%,#283e51 0 27%,#142431 55%,#070a0d 100%);
  box-shadow:
    -11px 0 17px rgba(0,0,0,.5),
    0 0 20px rgba(94,137,172,.12);
}

body.single-product .cosmo-nebula-symbol{
  display:block;
  position:relative;
  width:78px;
  height:78px;
  margin:0 auto 10px;
  filter:drop-shadow(0 0 13px rgba(195,127,65,.23));
}

body.single-product .cosmo-nebula-symbol::before,
body.single-product .cosmo-nebula-symbol::after{
  content:"";
  position:absolute;
}

body.single-product .cosmo-nebula-symbol::before{
  inset:10px 22px 7px 26px;
  transform:rotate(9deg);
  border-radius:55% 45% 48% 52%;
  background:
    radial-gradient(circle at 50% 15%,#f0c182 0 4%,transparent 5%),
    linear-gradient(
      165deg,
      #d4a161 0,
      #925b36 30%,
      #38271e 65%,
      transparent 66%
    );
}

body.single-product .cosmo-nebula-symbol::after{
  width:29px;
  height:54px;
  top:17px;
  left:16px;
  transform:rotate(-19deg);
  border-radius:60% 40% 45% 55%;
  background:linear-gradient(
    160deg,
    #d1a06c,
    #70462f 65%,
    transparent 66%
  );
  opacity:.82;
}


/* ---------- LIBELLÉS ---------- */

body.single-product .cosmo-light-label strong{
  display:block;
  color:#f4f1ea;
  font-size:9px;
  line-height:1.3;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:600;
}

body.single-product .cosmo-light-label span{
  display:block;
  margin-top:4px;
  color:rgba(255,255,255,.45);
  font-size:9px;
}


/* ---------- TRAJET ---------- */

body.single-product .cosmo-light-route{
  position:relative;
  z-index:2;
  height:130px;
  min-width:0;
}

body.single-product .cosmo-light-route-line{
  position:absolute;
  top:61px;
  left:0;
  right:0;
  height:1px;
  background:linear-gradient(
    to right,
    rgba(255,255,255,.10),
    rgba(239,220,184,.75),
    rgba(255,255,255,.10)
  );
}

body.single-product .cosmo-light-route-line::before,
body.single-product .cosmo-light-route-line::after{
  content:"";
  position:absolute;
  top:50%;
  width:5px;
  height:5px;
  transform:translateY(-50%);
  border-radius:50%;
  background:#eee0c2;
  box-shadow:0 0 13px rgba(238,224,194,.65);
}

body.single-product .cosmo-light-route-line::before{
  left:0;
}

body.single-product .cosmo-light-route-line::after{
  right:0;
}

body.single-product .cosmo-distance-label{
  position:absolute;
  top:29px;
  left:0;
  right:0;
  text-align:center;
  color:#f4f1ea;
  font-family:var(--serif);
  font-size:16px;
  white-space:nowrap;
}

body.single-product .cosmo-route-caption{
  position:absolute;
  top:76px;
  left:0;
  right:0;
  text-align:center;
  color:rgba(255,255,255,.38);
  font-size:9px;
}


/* =========================================================
   MOBILE / TABLETTE
   ========================================================= */

@media(max-width:1000px){

  body.single-product .cosmo-light-journey-inner{
    grid-template-columns:1fr;
    gap:44px;
  }

  body.single-product .cosmo-light-copy{
    max-width:650px;
  }

  body.single-product .cosmo-light-visual{
    min-height:310px;
  }
}

@media(max-width:600px){

  body.single-product .cosmo-light-journey{
    margin-top:72px;
    padding:58px 0;
  }

  body.single-product .cosmo-light-copy h2{
    font-size:38px !important;
  }

  body.single-product .cosmo-light-visual{
    min-height:360px;
    grid-template-columns:72px 1fr 82px;
    padding:40px 12px;
  }

  body.single-product .cosmo-planet{
    width:47px;
    height:47px;
  }

  body.single-product .cosmo-nebula-symbol{
    width:59px;
    height:59px;
  }

  body.single-product .cosmo-distance-label{
    font-size:12px;
  }

  body.single-product .cosmo-light-label strong{
    font-size:7px;
  }

  body.single-product .cosmo-light-label span,
  body.single-product .cosmo-route-caption{
    font-size:7px;
  }

  body.single-product .cosmo-editorial-link{
    width:100%;
    justify-content:space-between;
  }
}
/* COSMOPHORIA — ajustement Voyage de la lumière */

body.single-product .cosmo-light-copy h2{
  font-size:clamp(42px,3.3vw,54px) !important;
  max-width:600px;
}

body.single-product .cosmo-light-visual{
  min-height:290px;
  padding-top:42px;
  padding-bottom:42px;
}

body.single-product .cosmo-distance-label{
  font-size:15px;
}

@media(max-width:600px){
  body.single-product .cosmo-light-copy h2{
    font-size:36px !important;
  }
}
/* =========================================================
   COSMOPHORIA — CE QUE VOUS REGARDEZ
   ========================================================= */

body.single-product .cosmo-what-you-see{
  clear:both;
  width:100%;
  padding:110px 0 0;
  color:#f4f1ea;
}

body.single-product .cosmo-what-grid{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);
  gap:6vw;
  align-items:center;
}


/* ---------- IMAGE ---------- */

body.single-product .cosmo-what-image{
  position:relative;
  min-height:620px;
  overflow:hidden;
  background:#111;
}

body.single-product .cosmo-what-image img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform 1.1s ease;
}

body.single-product .cosmo-what-image:hover img{
  transform:scale(1.015);
}


/* ---------- TEXTE ---------- */

body.single-product .cosmo-what-copy{
  max-width:520px;
}

body.single-product .cosmo-what-copy h2{
  margin:0 0 30px !important;
  font-family:var(--serif);
  font-size:clamp(38px,3.6vw,58px) !important;
  line-height:1.03;
  font-weight:400;
  letter-spacing:-.02em;
  color:#f4f1ea;
}

body.single-product .cosmo-what-copy p{
  margin:0 0 18px;
  color:rgba(255,255,255,.63);
  font-size:14px;
  line-height:1.75;
}

body.single-product .cosmo-what-copy .cosmo-what-lead{
  color:rgba(255,255,255,.82);
  font-size:16px;
}


/* =========================================================
   CHIFFRES CLÉS
   ========================================================= */

body.single-product .cosmo-fact-strip{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin-top:72px;
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
}

body.single-product .cosmo-fact{
  min-height:150px;
  padding:32px 28px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border-right:1px solid rgba(255,255,255,.12);
}

body.single-product .cosmo-fact:last-child{
  border-right:0;
}

body.single-product .cosmo-fact strong{
  display:block;
  color:#f4f1ea;
  font-family:var(--serif);
  font-size:clamp(25px,2.4vw,38px);
  line-height:1.05;
  font-weight:400;
}

body.single-product .cosmo-fact span{
  display:block;
  margin-top:20px;
  color:rgba(255,255,255,.42);
  font-size:9px;
  line-height:1.4;
  letter-spacing:.10em;
  text-transform:uppercase;
}


/* =========================================================
   TABLETTE
   ========================================================= */

@media(max-width:1000px){

  body.single-product .cosmo-what-grid{
    grid-template-columns:1fr;
    gap:45px;
  }

  body.single-product .cosmo-what-image{
    min-height:520px;
  }

  body.single-product .cosmo-what-copy{
    max-width:680px;
  }

  body.single-product .cosmo-fact-strip{
    grid-template-columns:repeat(2,1fr);
  }

  body.single-product .cosmo-fact:nth-child(2){
    border-right:0;
  }

  body.single-product .cosmo-fact:nth-child(-n+2){
    border-bottom:1px solid rgba(255,255,255,.12);
  }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:600px){

  body.single-product .cosmo-what-you-see{
    padding-top:75px;
  }

  body.single-product .cosmo-what-image{
    min-height:430px;
  }

  body.single-product .cosmo-what-copy h2{
    font-size:36px !important;
  }

  body.single-product .cosmo-what-copy .cosmo-what-lead{
    font-size:15px;
  }

  body.single-product .cosmo-fact-strip{
    grid-template-columns:1fr 1fr;
    margin-top:52px;
  }

  body.single-product .cosmo-fact{
    min-height:125px;
    padding:24px 18px;
  }

  body.single-product .cosmo-fact strong{
    font-size:26px;
  }
}
/* COSMOPHORIA — rythme entre sections éditoriales */

body.single-product .cosmo-what-you-see{
  padding-top:68px !important;
}

body.single-product .cosmo-what-grid{
  align-items:center;
}

@media(max-width:600px){
  body.single-product .cosmo-what-you-see{
    padding-top:52px !important;
  }
}
/* =========================================================
   COSMOPHORIA — FUN FACT
   ========================================================= */

body.single-product .cosmo-fun-fact{
  position:relative;
  clear:both;
  display:grid;
  grid-template-columns:180px minmax(0,850px);
  gap:55px;
  align-items:center;

  margin-top:100px;
  padding:72px 7vw;

  overflow:hidden;

  border-top:1px solid rgba(255,255,255,.10);
  border-bottom:1px solid rgba(255,255,255,.10);

  background:#111315;
  color:#f4f1ea;
}

body.single-product .cosmo-fun-number{
  font-family:var(--serif);
  font-size:170px;
  line-height:.7;
  font-weight:400;
  color:rgba(238,228,210,.10);
  user-select:none;
}

body.single-product .cosmo-fun-content{
  position:relative;
  z-index:2;
}

body.single-product .cosmo-fun-content h2{
  max-width:850px;
  margin:0 0 25px !important;

  font-family:var(--serif);
  font-size:clamp(38px,4vw,62px) !important;
  line-height:1.04;
  font-weight:400;
  letter-spacing:-.02em;

  color:#f4f1ea;
}

body.single-product .cosmo-fun-content p{
  max-width:680px;
  margin:0;

  color:rgba(255,255,255,.62);
  font-size:15px;
  line-height:1.7;
}


@media(max-width:800px){

  body.single-product .cosmo-fun-fact{
    grid-template-columns:1fr;
    gap:10px;
    margin-top:70px;
    padding:55px 28px;
  }

  body.single-product .cosmo-fun-number{
    position:absolute;
    right:20px;
    top:30px;
    font-size:150px;
  }

  body.single-product .cosmo-fun-content h2{
    font-size:38px !important;
  }
}
/* =========================================================
   COSMOPHORIA — FUN FACT V2
   ========================================================= */

body.single-product .cosmo-fun-fact{
  position:relative;
  clear:both;

  display:grid !important;
  grid-template-columns:260px minmax(0,760px) !important;
  gap:70px !important;
  align-items:center;

  max-width:1180px;
  margin:105px auto 0 !important;
  padding:62px 70px !important;

  overflow:hidden;

  border:1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(
      circle at 15% 50%,
      rgba(53,78,104,.18),
      transparent 28%
    ),
    radial-gradient(
      circle at 88% 15%,
      rgba(144,91,45,.10),
      transparent 24%
    ),
    #101214;

  color:#f4f1ea;
}


/* petites étoiles décoratives */

body.single-product .cosmo-fun-fact::before,
body.single-product .cosmo-fun-fact::after{
  content:"";
  position:absolute;
  border-radius:50%;
  background:#eee0c2;
  opacity:.55;
}

body.single-product .cosmo-fun-fact::before{
  width:3px;
  height:3px;
  right:12%;
  top:23%;
  box-shadow:
    -70px 90px 0 rgba(255,255,255,.35),
    50px 130px 0 rgba(255,255,255,.25),
    -210px -45px 0 rgba(255,255,255,.30),
    -330px 130px 0 rgba(255,255,255,.20);
}

body.single-product .cosmo-fun-fact::after{
  width:5px;
  height:5px;
  right:8%;
  bottom:18%;
  opacity:.18;
}


/* =========================================================
   VISUEL ORBITAL
   ========================================================= */

body.single-product .cosmo-fun-number{
  position:relative !important;

  width:220px !important;
  height:220px !important;

  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;

  font-family:var(--sans) !important;
  font-size:inherit !important;
  line-height:1 !important;

  color:#f4f1ea !important;
}


/* cercle principal */

body.single-product .cosmo-fun-number::before{
  content:"";
  position:absolute;
  inset:35px;

  border-radius:50%;
  border:1px solid rgba(238,224,194,.30);

  background:
    radial-gradient(
      circle at 36% 30%,
      rgba(255,255,255,.09),
      transparent 20%
    ),
    radial-gradient(
      circle,
      rgba(38,65,86,.42),
      rgba(10,12,15,.2) 68%
    );

  box-shadow:
    0 0 45px rgba(56,91,118,.12),
    inset 0 0 35px rgba(255,255,255,.025);
}


/* seconde orbite */

body.single-product .cosmo-fun-number::after{
  content:"";
  position:absolute;
  inset:17px 5px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;

  transform:rotate(-18deg);
}


/* orbite intérieure */

body.single-product .cosmo-fun-orbit{
  position:absolute;
  width:170px;
  height:85px;

  border:1px solid rgba(238,224,194,.22);
  border-radius:50%;

  transform:rotate(24deg);
}

body.single-product .cosmo-fun-orbit::before{
  content:"";
  position:absolute;

  width:7px;
  height:7px;

  right:20px;
  top:12px;

  border-radius:50%;
  background:#e4c68f;

  box-shadow:0 0 12px rgba(228,198,143,.55);
}


/* chiffre */

body.single-product .cosmo-fun-number strong{
  position:relative;
  z-index:3;

  display:block;

  font-family:var(--serif);
  font-size:64px;
  font-weight:400;
  letter-spacing:-.04em;

  color:#f4f1ea;
}

body.single-product .cosmo-fun-number small{
  position:relative;
  z-index:3;

  display:block;
  margin-top:5px;

  font-size:8px;
  font-weight:600;
  letter-spacing:.18em;

  color:rgba(255,255,255,.44);
}


/* =========================================================
   TEXTE
   ========================================================= */

body.single-product .cosmo-fun-content{
  position:relative;
  z-index:3;
}

body.single-product .cosmo-fun-content .cosmo-editorial-eyebrow{
  color:#d1af77;
  margin-bottom:16px;
}

body.single-product .cosmo-fun-content h2{
  max-width:760px;

  margin:0 0 22px !important;

  font-family:var(--serif);
  font-size:clamp(36px,3.4vw,52px) !important;
  line-height:1.05;
  font-weight:400;
  letter-spacing:-.02em;

  color:#f4f1ea;
}

body.single-product .cosmo-fun-content p{
  max-width:650px;

  margin:0;

  color:rgba(255,255,255,.60);
  font-size:14px;
  line-height:1.7;
}


/* petit accent */

body.single-product .cosmo-fun-content p::before{
  content:"";
  display:block;

  width:35px;
  height:1px;

  margin:0 0 18px;

  background:rgba(209,175,119,.55);
}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:800px){

  body.single-product .cosmo-fun-fact{
    grid-template-columns:1fr !important;
    gap:35px !important;

    margin-top:70px !important;
    padding:45px 28px !important;
  }

  body.single-product .cosmo-fun-number{
    width:175px !important;
    height:175px !important;
    margin:0 auto;
  }

  body.single-product .cosmo-fun-number strong{
    font-size:52px;
  }

  body.single-product .cosmo-fun-content{
    text-align:center;
  }

  body.single-product .cosmo-fun-content h2{
    font-size:36px !important;
  }

  body.single-product .cosmo-fun-content p{
    margin-inline:auto;
  }

  body.single-product .cosmo-fun-content p::before{
    margin-left:auto;
    margin-right:auto;
  }
}
/* =========================================================
   COSMOPHORIA — POURQUOI CES COULEURS ?
   ========================================================= */

.cosmo-colors {
  position: relative;
  padding: 120px 0;
  background:
    radial-gradient(
      circle at 78% 50%,
      rgba(255, 255, 255, 0.035),
      transparent 32%
    ),
    #080808;
  overflow: hidden;
}

.cosmo-colors__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(70px, 9vw, 150px);
  align-items: center;
}


/* TEXTE
--------------------------------------------------------- */

.cosmo-colors__content {
  max-width: 570px;
}

.cosmo-colors__eyebrow {
  margin-bottom: 24px;

  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;

  letter-spacing: 0.22em;
  text-transform: uppercase;

  color: rgba(255, 255, 255, 0.48);
}

.cosmo-colors__title {
  margin: 0 0 28px;

  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(42px, 5vw, 72px);
  font-weight: 400;
  line-height: 0.98;

  letter-spacing: -0.035em;

  color: #ffffff;
}

.cosmo-colors__text {
  margin: 0;
  max-width: 540px;

  font-size: 17px;
  line-height: 1.75;

  color: rgba(255, 255, 255, 0.66);
}


/* SPECTRE
--------------------------------------------------------- */

.cosmo-colors__spectrum {
  position: relative;

  padding: 65px 20px 45px;

  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}


/* Ligne colorée */

.cosmo-colors__spectrum-line {
  position: absolute;

  top: 92px;
  left: 7%;
  right: 7%;

  height: 2px;

  background: linear-gradient(
    90deg,
    #7b61ff 0%,
    #526dff 20%,
    #52cfff 38%,
    #e7cf59 60%,
    #ef8b42 80%,
    #e35345 100%
  );

  box-shadow:
    0 0 18px rgba(123, 97, 255, 0.14),
    0 0 26px rgba(227, 83, 69, 0.1);
}


/* Les 6 filtres */

.cosmo-colors__filters {
  position: relative;
  z-index: 2;

  display: grid;
  grid-template-columns: repeat(6, 1fr);

  align-items: start;
}

.cosmo-colors__filter {
  display: flex;
  flex-direction: column;
  align-items: center;

  text-align: center;
}


/* Point du filtre */

.cosmo-colors__filter-dot {
  width: 12px;
  height: 12px;

  margin: 21px 0 28px;

  border-radius: 50%;

  background: #fff;
  border: 2px solid #080808;

  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.28);
}


/* Couleurs des points */

.cosmo-colors__filter--1 .cosmo-colors__filter-dot {
  background: #7b61ff;
  box-shadow: 0 0 14px rgba(123, 97, 255, 0.6);
}

.cosmo-colors__filter--2 .cosmo-colors__filter-dot {
  background: #526dff;
  box-shadow: 0 0 14px rgba(82, 109, 255, 0.6);
}

.cosmo-colors__filter--3 .cosmo-colors__filter-dot {
  background: #52cfff;
  box-shadow: 0 0 14px rgba(82, 207, 255, 0.6);
}

.cosmo-colors__filter--4 .cosmo-colors__filter-dot {
  background: #e7cf59;
  box-shadow: 0 0 14px rgba(231, 207, 89, 0.55);
}

.cosmo-colors__filter--5 .cosmo-colors__filter-dot {
  background: #ef8b42;
  box-shadow: 0 0 14px rgba(239, 139, 66, 0.55);
}

.cosmo-colors__filter--6 .cosmo-colors__filter-dot {
  background: #e35345;
  box-shadow: 0 0 14px rgba(227, 83, 69, 0.55);
}


/* Nom du filtre */

.cosmo-colors__filter strong {
  display: block;

  margin-bottom: 8px;

  font-size: 13px;
  font-weight: 600;

  letter-spacing: 0.08em;

  color: rgba(255, 255, 255, 0.92);
}


/* Nom de la couleur */

.cosmo-colors__filter small {
  display: block;

  font-size: 10px;
  font-weight: 500;

  letter-spacing: 0.12em;
  text-transform: uppercase;

  color: rgba(255, 255, 255, 0.38);
}


/* MOBILE
--------------------------------------------------------- */

@media (max-width: 900px) {

  .cosmo-colors {
    padding: 85px 0;
  }

  .cosmo-colors__inner {
    grid-template-columns: 1fr;
    gap: 65px;
  }

  .cosmo-colors__content {
    max-width: 650px;
  }

  .cosmo-colors__spectrum {
    overflow-x: auto;
    padding-left: 0;
    padding-right: 0;
  }

  .cosmo-colors__filters {
    min-width: 650px;
  }

  .cosmo-colors__spectrum-line {
    left: 54px;
    right: 54px;
  }
}
/* =========================================================
   COSMOPHORIA — HUBBLE / JAMES WEBB
   ========================================================= */

.cosmo-compare {
  position: relative;
  padding: 120px 0 130px;
  background: #050505;
}

.cosmo-compare__heading {
  max-width: 820px;
  margin-bottom: 65px;
}

.cosmo-compare__eyebrow {
  margin-bottom: 20px;

  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;

  letter-spacing: 0.22em;
  text-transform: uppercase;

  color: rgba(255, 255, 255, 0.45);
}

.cosmo-compare__title {
  margin: 0 0 24px;

  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(45px, 5vw, 76px);
  font-weight: 400;
  line-height: 1;

  letter-spacing: -0.035em;

  color: #fff;
}

.cosmo-compare__intro {
  max-width: 690px;
  margin: 0;

  font-size: 17px;
  line-height: 1.75;

  color: rgba(255, 255, 255, 0.62);
}


/* LES DEUX IMAGES
--------------------------------------------------------- */

.cosmo-compare__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.cosmo-compare__item {
  min-width: 0;
}

.cosmo-compare__image-wrap {
  position: relative;
  overflow: hidden;

  aspect-ratio: 4 / 5;

  background: #111;
}

.cosmo-compare__image {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;

  transition:
    transform 900ms cubic-bezier(.2,.7,.2,1),
    filter 500ms ease;
}

.cosmo-compare__item:hover .cosmo-compare__image {
  transform: scale(1.018);
}


/* Dégradé discret pour le label */

.cosmo-compare__image-wrap::after {
  content: "";

  position: absolute;
  inset: auto 0 0 0;

  height: 30%;

  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.75),
    transparent
  );

  pointer-events: none;
}


/* HUBBLE / JAMES WEBB */

.cosmo-compare__label {
  position: absolute;
  z-index: 2;

  left: 28px;
  bottom: 24px;

  font-size: 11px;
  font-weight: 600;

  letter-spacing: 0.2em;
  text-transform: uppercase;

  color: #fff;
}


/* TEXTE SOUS LES IMAGES
--------------------------------------------------------- */

.cosmo-compare__text {
  max-width: 580px;

  margin: 25px 4px 0;

  font-size: 15px;
  line-height: 1.7;

  color: rgba(255, 255, 255, 0.55);
}


/* Séparation subtile avec la section suivante */

.cosmo-compare::after {
  content: "";

  position: absolute;

  left: 50%;
  bottom: 0;

  width: min(1200px, calc(100% - 40px));
  height: 1px;

  transform: translateX(-50%);

  background: rgba(255, 255, 255, 0.07);
}


/* MOBILE
--------------------------------------------------------- */

@media (max-width: 900px) {

  .cosmo-compare {
    padding: 85px 0 95px;
  }

  .cosmo-compare__heading {
    margin-bottom: 45px;
  }

  .cosmo-compare__grid {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .cosmo-compare__image-wrap {
    aspect-ratio: 4 / 5;
  }

  .cosmo-compare__label {
    left: 20px;
    bottom: 18px;
  }

  .cosmo-compare__text {
    margin-top: 20px;
  }
}
/* =========================================================
   COSMOPHORIA — REGARDEZ DE PLUS PRÈS
   ========================================================= */

.cosmo-closer {
  position: relative;
  padding: 130px 0;
  background: #080808;
}

.cosmo-closer__heading {
  max-width: 850px;
  margin-bottom: 70px;
}

.cosmo-closer__eyebrow {
  margin-bottom: 20px;

  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;

  letter-spacing: 0.22em;
  text-transform: uppercase;

  color: rgba(255, 255, 255, 0.45);
}

.cosmo-closer__title {
  margin: 0 0 26px;

  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(46px, 5vw, 76px);
  font-weight: 400;
  line-height: 1;

  letter-spacing: -0.035em;

  color: #fff;
}

.cosmo-closer__intro {
  max-width: 690px;
  margin: 0;

  font-size: 17px;
  line-height: 1.75;

  color: rgba(255, 255, 255, 0.62);
}


/* MISE EN PAGE
--------------------------------------------------------- */

.cosmo-closer__layout {
  display: grid;

  grid-template-columns:
    minmax(0, 1.45fr)
    minmax(320px, 0.55fr);

  gap: clamp(55px, 7vw, 110px);

  align-items: start;
}


/* IMAGE
--------------------------------------------------------- */

.cosmo-closer__visual {
  position: relative;

  overflow: hidden;

  background: #111;
}

.cosmo-closer__image {
  display: block;

  width: 100%;
  height: auto;

  object-fit: cover;
}


/* REPÈRES NUMÉROTÉS
--------------------------------------------------------- */

.cosmo-closer__marker {
  position: absolute;
  z-index: 4;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 38px;
  height: 38px;

  transform: translate(-50%, -50%);

  border: 1px solid rgba(255, 255, 255, 0.65);
  border-radius: 50%;

  background: rgba(5, 5, 5, 0.68);

  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);

  font-size: 11px;
  font-weight: 600;

  letter-spacing: 0.06em;

  color: #fff;

  box-shadow:
    0 0 0 5px rgba(0, 0, 0, 0.14),
    0 0 24px rgba(255, 255, 255, 0.12);
}


/* COLONNE EXPLICATIVE
--------------------------------------------------------- */

.cosmo-closer__points {
  display: flex;
  flex-direction: column;

  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.cosmo-closer__point {
  display: grid;

  grid-template-columns: 48px 1fr;

  gap: 20px;

  padding: 30px 0;

  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}


/* 01 / 02 / 03 */

.cosmo-closer__number {
  padding-top: 5px;

  font-size: 10px;
  font-weight: 600;

  letter-spacing: 0.16em;

  color: rgba(255, 255, 255, 0.35);
}


.cosmo-closer__point h3 {
  margin: 0 0 12px;

  font-size: 19px;
  font-weight: 500;
  line-height: 1.25;

  color: rgba(255, 255, 255, 0.92);
}


.cosmo-closer__point p {
  margin: 0;

  font-size: 14px;
  line-height: 1.7;

  color: rgba(255, 255, 255, 0.52);
}


/* MOBILE
--------------------------------------------------------- */

@media (max-width: 900px) {

  .cosmo-closer {
    padding: 85px 0 95px;
  }

  .cosmo-closer__heading {
    margin-bottom: 45px;
  }

  .cosmo-closer__layout {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .cosmo-closer__points {
    max-width: none;
  }

  .cosmo-closer__marker {
    width: 34px;
    height: 34px;
  }
}
/* =========================================================
   COSMOPHORIA — FABRICATION DU TIRAGE
   ========================================================= */

.cosmo-print {
  position: relative;
  padding: 120px 0;
  background: #0a0a0a;
}

.cosmo-print__heading {
  max-width: 820px;
  margin-bottom: 60px;
}

.cosmo-print__eyebrow {
  margin-bottom: 20px;

  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;

  letter-spacing: 0.22em;
  text-transform: uppercase;

  color: rgba(255, 255, 255, 0.45);
}

.cosmo-print__title {
  margin: 0 0 24px;

  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(44px, 5vw, 72px);
  font-weight: 400;
  line-height: 1;

  letter-spacing: -0.035em;

  color: #fff;
}

.cosmo-print__intro {
  max-width: 680px;
  margin: 0;

  font-size: 17px;
  line-height: 1.75;

  color: rgba(255, 255, 255, 0.6);
}


/* CARACTÉRISTIQUES
--------------------------------------------------------- */

.cosmo-print__specs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));

  border-top: 1px solid rgba(255, 255, 255, 0.1);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.cosmo-print__spec {
  min-height: 145px;

  padding: 28px 28px 30px 0;

  border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.cosmo-print__spec:not(:first-child) {
  padding-left: 28px;
}

.cosmo-print__spec:last-child {
  border-right: 0;
}

.cosmo-print__spec span {
  display: block;

  margin-bottom: 18px;

  font-size: 10px;
  font-weight: 600;

  letter-spacing: 0.18em;
  text-transform: uppercase;

  color: rgba(255, 255, 255, 0.35);
}

.cosmo-print__spec strong {
  display: block;

  font-size: 17px;
  font-weight: 500;
  line-height: 1.5;

  color: rgba(255, 255, 255, 0.9);
}


/* MOBILE
--------------------------------------------------------- */

@media (max-width: 900px) {

  .cosmo-print {
    padding: 85px 0 95px;
  }

  .cosmo-print__heading {
    margin-bottom: 45px;
  }

  .cosmo-print__specs {
    grid-template-columns: repeat(2, 1fr);
  }

  .cosmo-print__spec {
    padding: 24px 20px 24px 0;
  }

  .cosmo-print__spec:not(:first-child) {
    padding-left: 20px;
  }

  .cosmo-print__spec:nth-child(2) {
    border-right: 0;
  }

  .cosmo-print__spec:nth-child(-n+2) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }
}

@media (max-width: 560px) {

  .cosmo-print__specs {
    grid-template-columns: 1fr;
  }

  .cosmo-print__spec,
  .cosmo-print__spec:not(:first-child) {
    padding: 22px 0;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }

  .cosmo-print__spec:last-child {
    border-bottom: 0;
  }
}
/* =========================================================
   COSMOPHORIA — CRÉDITS & SOURCES
   ========================================================= */

.cosmo-sources {
  position: relative;
  padding: 90px 0 100px;
  background: #060606;
}

.cosmo-sources__heading {
  margin-bottom: 42px;
}

.cosmo-sources__eyebrow {
  margin-bottom: 16px;

  font-size: 10px;
  font-weight: 600;
  line-height: 1.4;

  letter-spacing: 0.22em;
  text-transform: uppercase;

  color: rgba(255, 255, 255, 0.38);
}

.cosmo-sources__title {
  margin: 0;

  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(36px, 4vw, 54px);
  font-weight: 400;
  line-height: 1;

  letter-spacing: -0.03em;

  color: #fff;
}


/* CONTENU
--------------------------------------------------------- */

.cosmo-sources__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
  gap: clamp(60px, 8vw, 130px);

  padding-top: 32px;

  border-top: 1px solid rgba(255, 255, 255, 0.1);
}


/* CRÉDITS
--------------------------------------------------------- */

.cosmo-sources__credits {
  display: flex;
  flex-direction: column;
}

.cosmo-sources__row {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 25px;

  padding: 18px 0;

  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.cosmo-sources__row:first-child {
  padding-top: 0;
}

.cosmo-sources__row span {
  padding-top: 3px;

  font-size: 9px;
  font-weight: 600;

  letter-spacing: 0.17em;
  text-transform: uppercase;

  color: rgba(255, 255, 255, 0.3);
}

.cosmo-sources__row p {
  margin: 0;

  font-size: 13px;
  line-height: 1.65;

  color: rgba(255, 255, 255, 0.58);
}


/* SOURCES
--------------------------------------------------------- */

.cosmo-sources__links-title {
  display: block;

  margin-bottom: 10px;

  font-size: 9px;
  font-weight: 600;

  letter-spacing: 0.17em;
  text-transform: uppercase;

  color: rgba(255, 255, 255, 0.3);
}

.cosmo-sources__links a {
  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 20px;

  padding: 16px 0;

  border-bottom: 1px solid rgba(255, 255, 255, 0.08);

  font-size: 13px;
  line-height: 1.4;

  color: rgba(255, 255, 255, 0.68);

  text-decoration: none;

  transition:
    color 250ms ease,
    padding-left 250ms ease;
}

.cosmo-sources__links a:hover {
  padding-left: 5px;
  color: #fff;
}

.cosmo-sources__links a span:last-child {
  color: rgba(255, 255, 255, 0.35);
}


/* MOBILE
--------------------------------------------------------- */

@media (max-width: 800px) {

  .cosmo-sources {
    padding: 70px 0 80px;
  }

  .cosmo-sources__grid {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .cosmo-sources__row {
    grid-template-columns: 100px 1fr;
  }
}

@media (max-width: 520px) {

  .cosmo-sources__row {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}
/* =========================================================
   COSMOPHORIA — AUTRES ŒUVRES / CTA FINAL
   ========================================================= */

.cosmo-final {
  position: relative;
  padding: 130px 0 120px;
  background: #030303;
}


/* EN-TÊTE
--------------------------------------------------------- */

.cosmo-final__heading {
  max-width: 850px;
  margin-bottom: 65px;
}

.cosmo-final__eyebrow {
  margin-bottom: 20px;

  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;

  letter-spacing: 0.22em;
  text-transform: uppercase;

  color: rgba(255, 255, 255, 0.42);
}

.cosmo-final__title {
  margin: 0 0 25px;

  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(46px, 5vw, 76px);
  font-weight: 400;
  line-height: 1;

  letter-spacing: -0.035em;

  color: #fff;
}

.cosmo-final__intro {
  max-width: 680px;
  margin: 0;

  font-size: 17px;
  line-height: 1.75;

  color: rgba(255, 255, 255, 0.58);
}


/* PRODUITS
--------------------------------------------------------- */

.cosmo-final__products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: 18px;

  margin-bottom: 65px;
}

.cosmo-final__product {
  min-width: 0;
}

.cosmo-final__product-link {
  display: block;

  color: inherit;
  text-decoration: none;
}

.cosmo-final__image-wrap {
  position: relative;

  aspect-ratio: 4 / 5;

  overflow: hidden;

  background: #111;
}

.cosmo-final__image {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;

  transition:
    transform 800ms cubic-bezier(.2,.7,.2,1),
    opacity 350ms ease;
}

.cosmo-final__product-link:hover .cosmo-final__image {
  transform: scale(1.025);
}


/* INFORMATIONS PRODUIT
--------------------------------------------------------- */

.cosmo-final__product-info {
  padding-top: 20px;
}

.cosmo-final__category {
  display: block;

  margin-bottom: 9px;

  font-size: 9px;
  font-weight: 600;

  letter-spacing: 0.18em;
  text-transform: uppercase;

  color: rgba(255, 255, 255, 0.35);
}

.cosmo-final__product h3 {
  margin: 0 0 9px;

  font-family: Georgia, "Times New Roman", serif;
  font-size: 23px;
  font-weight: 400;
  line-height: 1.15;

  color: rgba(255, 255, 255, 0.92);
}

.cosmo-final__price {
  font-size: 13px;
  line-height: 1.4;

  color: rgba(255, 255, 255, 0.48);
}

.cosmo-final__price del {
  opacity: 0.5;
}

.cosmo-final__price ins {
  text-decoration: none;
}


/* CTA FINAL
--------------------------------------------------------- */

.cosmo-final__cta {
  display: flex;
  justify-content: center;

  padding-top: 15px;
}

.cosmo-final__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: 35px;

  min-width: 290px;

  padding: 18px 24px;

  border: 1px solid rgba(255, 255, 255, 0.22);

  font-size: 11px;
  font-weight: 600;

  letter-spacing: 0.14em;
  text-transform: uppercase;

  color: #fff;

  text-decoration: none;

  transition:
    background 250ms ease,
    color 250ms ease,
    border-color 250ms ease;
}

.cosmo-final__button span {
  font-size: 18px;
  font-weight: 300;

  transition: transform 250ms ease;
}

.cosmo-final__button:hover {
  background: #fff;
  border-color: #fff;

  color: #050505;
}

.cosmo-final__button:hover span {
  transform: translateX(5px);
}


/* MOBILE
--------------------------------------------------------- */

@media (max-width: 900px) {

  .cosmo-final {
    padding: 90px 0;
  }

  .cosmo-final__heading {
    margin-bottom: 50px;
  }

  .cosmo-final__products {
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 18px;

    margin-bottom: 55px;
  }
}


@media (max-width: 600px) {

  .cosmo-final__products {
    grid-template-columns: 1fr;

    gap: 45px;
  }

  .cosmo-final__image-wrap {
    aspect-ratio: 4 / 5;
  }

  .cosmo-final__button {
    width: 100%;
    min-width: 0;
  }
}