:root{--sgb-black:#0e0e10;--sgb-ink:#1f1f23;--sgb-muted:#716d68;--sgb-gold:#c9a468;--sgb-paper:#f7f5f2;--sgb-white:#fff;--sgb-border:#e9e3dc;--sgb-soft:#fbfaf8}*{box-sizing:border-box}html{scroll-behavior:smooth}.sgb-standalone{margin:0;background:var(--sgb-paper);color:var(--sgb-ink);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}.sgb-no-scroll{overflow:hidden}.sgb-brand{font-family:Georgia,serif;font-size:34px;letter-spacing:-2px}.sgb-brand span{display:inline-block;margin-left:12px;font:11px Inter,sans-serif;text-transform:uppercase;letter-spacing:2px}.sgb-hero{min-height:430px;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.46),rgba(0,0,0,.04)),var(--cover) center/cover;border-radius:0 0 18px 18px;color:#fff;margin:24px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.12)}.sgb-hero nav{display:flex;justify-content:space-between;align-items:center;padding:30px 36px;font-size:14px}.sgb-hero-text{padding:50px 36px;max-width:520px}.sgb-hero h1{font:44px Georgia,serif;margin:0 0 10px}.sgb-hero i{display:block;width:56px;height:2px;background:var(--sgb-gold);margin:22px 0}.sgb-hero a,.sgb-login button,.sgb-toolbar a,.sgb-toolbar button,.sgb-load,.sgb-side-download{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:8px;background:#fff;color:#111;padding:12px 22px;text-decoration:none;cursor:pointer}.sgb-info{display:flex;gap:30px;justify-content:center;padding:18px 20px;margin:-20px 24px 24px;background:#fff;border:1px solid var(--sgb-border);border-radius:0 0 16px 16px;box-shadow:0 10px 30px rgba(0,0,0,.04);font-size:14px}.sgb-info span{display:flex;gap:10px;align-items:center}.sgb-info svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}.sgb-gallery{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;margin:24px}.sgb-gallery aside,.sgb-gallery section,.sgb-login-card{background:#fff;border:1px solid var(--sgb-border);border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.04)}.sgb-gallery aside{padding:22px;height:max-content;position:sticky;top:20px}.sgb-gallery aside h3{text-transform:uppercase;letter-spacing:.08em;font-size:13px;color:#6a6560}.sgb-gallery aside button,.sgb-side-download{width:100%;display:flex;justify-content:space-between;background:#fff;border:0;border-radius:8px;padding:12px;margin:4px 0;text-align:left;cursor:pointer;color:var(--sgb-ink);font-size:14px}.sgb-gallery aside button.active,.sgb-gallery aside button:hover,.sgb-side-download:hover{background:var(--sgb-paper)}.sgb-side-download{justify-content:center;border:1px solid var(--sgb-border);margin-top:16px}.sgb-gallery section{padding:20px}.sgb-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.sgb-toolbar button,.sgb-toolbar a{background:#111;color:#fff;padding:10px 16px;font-size:13px}.sgb-masonry{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:8px;gap:10px;align-items:start}.sgb-photo{position:relative;display:block;margin:0;overflow:hidden;border-radius:10px;background:#eee;transform:translateZ(0);box-shadow:0 1px 0 rgba(0,0,0,.04)}.sgb-photo img{width:100%;height:auto;object-fit:contain;display:block;transition:transform .28s ease;backface-visibility:hidden;cursor:zoom-in}.sgb-photo:hover img{transform:scale(1.018)}.sgb-photo figcaption{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.46));opacity:0;transition:opacity .18s ease;pointer-events:none;will-change:opacity}.sgb-photo:hover figcaption{opacity:1}.sgb-fav,.sgb-dl{position:absolute;top:10px;border:0;background:#fff;color:#111;border-radius:999px;width:34px;height:34px;text-align:center;line-height:34px;text-decoration:none;cursor:pointer;pointer-events:auto;box-shadow:0 6px 16px rgba(0,0,0,.18)}.sgb-fav{right:10px}.sgb-dl{right:52px}.sgb-photo.is-fav .sgb-fav{background:#111;color:#fff}.sgb-load{display:block;margin:20px auto 0;background:#111;color:#fff}.sgb-footer{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:30px 24px 0;padding:24px;border-top:1px solid var(--sgb-border);color:#555}.sgb-login{min-height:100vh;display:grid;place-items:center;grid-template-columns:1fr 1fr;padding:8vw;background:radial-gradient(circle at 75% 45%,#efe5da 0 18%,transparent 19%),#fbfaf8}.sgb-login-card{padding:48px;max-width:580px;width:100%}.sgb-login-card h1{font:34px Georgia,serif}.sgb-login-card input{width:100%;padding:14px;border:1px solid var(--sgb-border);border-radius:8px;margin:12px 0}.sgb-login button{width:100%;justify-content:center;background:#111;color:#fff}.sgb-illustration{width:min(360px,80vw);height:260px;background:url('../svg/camera-flower.svg') center/contain no-repeat;opacity:.65}.sgb-lightbox{position:fixed;inset:0;background:rgba(10,10,12,.92);z-index:999999;display:none;align-items:center;justify-content:center;padding:42px}.sgb-lightbox.is-open{display:flex}.sgb-lightbox img{max-width:min(1180px,86vw);max-height:82vh;border-radius:10px;box-shadow:0 25px 80px rgba(0,0,0,.4);object-fit:contain}.sgb-lb-close,.sgb-lb-prev,.sgb-lb-next{position:absolute;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.12);color:#fff;border-radius:999px;cursor:pointer;backdrop-filter:blur(10px)}.sgb-lb-close{right:24px;top:24px;width:42px;height:42px;font-size:28px;line-height:38px}.sgb-lb-prev,.sgb-lb-next{top:50%;transform:translateY(-50%);width:54px;height:54px;font-size:44px;line-height:44px}.sgb-lb-prev{left:24px}.sgb-lb-next{right:24px}.sgb-lb-bar{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);display:flex;align-items:center;gap:18px;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:10px 16px;backdrop-filter:blur(10px)}.sgb-lb-download{color:#fff;text-decoration:none;border-left:1px solid rgba(255,255,255,.22);padding-left:18px}@media(max-width:1180px){.sgb-masonry{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:860px){.sgb-hero{margin:0;border-radius:0;min-height:360px}.sgb-hero h1{font-size:30px}.sgb-info{margin:0;border-radius:0;display:grid;justify-content:stretch}.sgb-gallery{grid-template-columns:1fr;margin:12px}.sgb-gallery aside{position:static}.sgb-toolbar{gap:12px;align-items:flex-start;flex-direction:column}.sgb-masonry{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.sgb-photo{margin-bottom:0}.sgb-footer{grid-template-columns:1fr 1fr}.sgb-login{grid-template-columns:1fr}.sgb-illustration{display:none}.sgb-lightbox{padding:20px}.sgb-lb-prev,.sgb-lb-next{width:42px;height:42px;font-size:34px}.sgb-lb-prev{left:10px}.sgb-lb-next{right:10px}.sgb-lb-bar{bottom:12px}}@media(max-width:520px){.sgb-masonry{grid-template-columns:repeat(2,minmax(0,1fr))}.sgb-photo{border-radius:7px}.sgb-dl{right:48px}.sgb-lightbox img{max-width:94vw;max-height:76vh}.sgb-lb-close{right:12px;top:12px}}
.sgb-empty{grid-column:1/-1;display:block;padding:34px;border:1px dashed var(--sgb-border);border-radius:12px;background:var(--sgb-soft);color:var(--sgb-muted);text-align:center;column-span:all}

.sgb-toolbar .sgb-filter.active{background:#fff;color:#111;border:1px solid var(--sgb-border)}
.sgb-no-selection{grid-column:1/-1;margin:14px 0 0;padding:20px;border:1px dashed var(--sgb-border);border-radius:12px;background:var(--sgb-soft);color:var(--sgb-muted);text-align:center}
.sgb-photo[style*="display: none"]{grid-row-end:auto!important}

/* Studio Gallery 1.1.0 — boutique */
.sgb-photo figcaption .sgb-buy{border:0;border-radius:999px;background:rgba(255,255,255,.92);color:#111;padding:8px 12px;font-size:12px;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.12)}
.sgb-open-cart{width:100%;margin-top:12px;border:1px solid rgba(10,10,10,.12);background:#fff;border-radius:14px;padding:13px 16px;cursor:pointer;text-align:left}
.sgb-shop-panel{position:fixed;inset:0;background:rgba(8,9,10,.42);backdrop-filter:blur(8px);z-index:99999;display:none;align-items:center;justify-content:center;padding:24px}
.sgb-shop-panel.is-open{display:flex}
.sgb-shop-card{width:min(860px,96vw);max-height:90vh;overflow:auto;background:#fff;border-radius:26px;box-shadow:0 30px 90px rgba(0,0,0,.22);padding:28px;position:relative}
.sgb-shop-close{position:absolute;top:18px;right:18px;border:0;background:#111;color:#fff;border-radius:50%;width:34px;height:34px;font-size:22px;cursor:pointer}
.sgb-shop-card h2{font-family:Playfair Display,Georgia,serif;font-size:32px;margin:0 0 8px}.sgb-shop-card h3{margin:24px 0 10px}.sgb-shop-current{color:#666;margin:0 0 18px}
.sgb-products{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.sgb-product{text-align:left;border:1px solid rgba(0,0,0,.08);background:#fbfaf8;border-radius:18px;padding:16px;cursor:pointer;display:flex;flex-direction:column;gap:6px}.sgb-product:hover{box-shadow:0 16px 40px rgba(0,0,0,.09);transform:translateY(-1px)}.sgb-product span{color:#777;font-size:12px}.sgb-product em{font-style:normal;font-weight:700;color:#111}
.sgb-cart{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.sgb-cart li{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(0,0,0,.08);border-radius:16px;padding:12px}.sgb-cart small{display:block;color:#777;margin-top:3px}.sgb-cart button{border:0;background:#f2f2f2;border-radius:50%;width:28px;height:28px;cursor:pointer}.sgb-cart-total{margin-top:14px;text-align:right;font-size:18px}.sgb-submit-order{margin-top:14px;width:100%;border:0;border-radius:16px;background:#101113;color:#fff;padding:15px 18px;cursor:pointer}.sgb-order-msg{min-height:22px;color:#555}.sgb-lb-buy{border:0;border-radius:999px;background:#fff;color:#111;padding:10px 14px;cursor:pointer}

/* 1.1.1 — validation commande */
.sgb-checkout-fields{margin-top:22px;padding:18px;border:1px solid rgba(20,20,20,.08);border-radius:18px;background:#faf9f6;display:grid;gap:12px}
.sgb-checkout-fields h3{margin:0 0 4px;font-family:Playfair Display, Georgia, serif;font-size:22px;font-weight:500}
.sgb-checkout-fields label{display:grid;gap:6px;font-size:13px;color:#555}
.sgb-checkout-fields input,.sgb-checkout-fields textarea{width:100%;border:1px solid rgba(20,20,20,.12);border-radius:12px;padding:12px 14px;background:#fff;font:inherit;color:#111;box-sizing:border-box}
.sgb-order-msg.is-success{padding:14px 16px;border-radius:14px;background:#f1f7ef;color:#23421f;border:1px solid rgba(35,66,31,.12)}

/* Studio Gallery 1.1.3 — flux panier + icône */
.sgb-photo figcaption .sgb-buy{
  position:absolute;
  left:50%;
  bottom:12px;
  transform:translateX(-50%);
  z-index:5;
  pointer-events:auto;
  width:42px;
  height:42px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.sgb-cart-icon{width:21px;height:21px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sgb-shop-panel{z-index:1000002}
.sgb-shop-step{display:none}
.sgb-shop-step.is-active{display:block}
.sgb-go-checkout,.sgb-submit-order,.sgb-shop-close-confirm{
  margin-top:16px;
  width:100%;
  border:0;
  border-radius:16px;
  background:#101113;
  color:#fff;
  padding:15px 18px;
  cursor:pointer;
  font:inherit;
}
.sgb-back-products{
  margin-top:10px;
  width:100%;
  border:1px solid rgba(20,20,20,.12);
  border-radius:16px;
  background:#fff;
  color:#111;
  padding:13px 18px;
  cursor:pointer;
  font:inherit;
}
.sgb-terms{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:10px!important;background:#fff;border:1px solid rgba(20,20,20,.1);border-radius:14px;padding:12px 14px}
.sgb-terms input{width:auto!important;margin:0;accent-color:#111}
.sgb-confirm-message{margin:18px 0 0;padding:18px;border-radius:18px;background:#f1f7ef;color:#23421f;border:1px solid rgba(35,66,31,.12);line-height:1.5}
.sgb-lb-buy{display:inline-flex;align-items:center;gap:8px}
.sgb-lb-buy .sgb-cart-icon{width:18px;height:18px}


/* Studio Gallery 1.1.4 — corrections panier + z-index */
.sgb-photo{isolation:isolate!important;}
.sgb-photo figcaption{z-index:10!important;pointer-events:none!important;}
.sgb-fav,.sgb-dl,.sgb-buy{pointer-events:auto!important;}
.sgb-photo .sgb-buy,
.sgb-photo figcaption .sgb-buy{
  position:absolute!important;
  left:10px!important;
  top:10px!important;
  right:auto!important;
  bottom:auto!important;
  z-index:80!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.96)!important;
  color:#111!important;
  cursor:pointer!important;
  box-shadow:0 10px 28px rgba(0,0,0,.22)!important;
}
.sgb-photo .sgb-buy:hover{transform:translateY(-1px);background:#fff!important;}
.sgb-cart-icon{width:19px!important;height:19px!important;display:block!important;fill:none!important;stroke:currentColor!important;stroke-width:1.9!important;stroke-linecap:round!important;stroke-linejoin:round!important;}
.sgb-open-cart.sgb-cart-fab,
.sgb-open-cart.sgb-cart-toolbar,
.sgb-lb-buy{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-width:44px!important;
  min-height:40px!important;
  padding:10px 13px!important;
  border-radius:999px!important;
  font-size:0!important;
  position:relative!important;
  z-index:100!important;
}
.sgb-open-cart small,
.sgb-open-cart .sgb-cart-count-inline{
  font-size:11px!important;
  line-height:1!important;
  min-width:18px!important;
  height:18px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  background:var(--sgb-gold)!important;
  color:#111!important;
  padding:0 5px!important;
  margin-left:-5px!important;
}
.sgb-shop-panel{z-index:2147483000!important;}
.sgb-shop-card{position:relative!important;z-index:2147483001!important;}
.sgb-lightbox{z-index:2147482000!important;}
.sgb-lb-bar{z-index:2147482001!important;}

/* V1.1.5 — panier stable + checkout complet */
.sgb-shop-panel{z-index:2147483600!important;align-items:flex-start!important;overflow-y:auto!important;padding:28px 18px!important;}
.sgb-shop-card{width:min(980px,96vw)!important;max-height:none!important;min-height:auto!important;overflow:visible!important;margin:24px auto!important;padding:30px!important;box-sizing:border-box!important;}
.sgb-shop-step{min-height:0!important;}
.sgb-cart-preview{max-height:none!important;overflow:visible!important;}
.sgb-checkout-actions{display:flex!important;gap:12px!important;align-items:center!important;justify-content:space-between!important;margin-top:18px!important;position:sticky!important;bottom:0!important;background:linear-gradient(180deg,rgba(255,255,255,.82),#fff 35%)!important;padding-top:14px!important;z-index:5!important;}
.sgb-back-products{border:1px solid rgba(20,20,20,.12)!important;background:#fff!important;color:#111!important;border-radius:16px!important;padding:15px 18px!important;cursor:pointer!important;}
.sgb-submit-order{margin-top:0!important;width:auto!important;min-width:240px!important;}
.sgb-step-confirm.is-active{display:grid!important;place-items:center!important;min-height:340px!important;text-align:center!important;}
.sgb-confirm-message{display:block!important;opacity:1!important;visibility:visible!important;font-size:17px!important;max-width:620px!important;background:#f3f7ee!important;color:#24401f!important;border:1px solid rgba(36,64,31,.18)!important;}
.sgb-photo .sgb-buy,.sgb-photo .sgb-buy:hover,.sgb-lb-buy,.sgb-lb-buy:hover,.sgb-open-cart,.sgb-open-cart:hover{transform:none!important;translate:0 0!important;}
.sgb-photo .sgb-buy{width:38px!important;height:38px!important;display:grid!important;place-items:center!important;padding:0!important;line-height:1!important;}
.sgb-photo .sgb-buy .sgb-cart-icon{width:19px!important;height:19px!important;}
.sgb-address-grid{display:grid!important;grid-template-columns:.55fr 1.45fr .8fr 1.2fr!important;gap:12px!important;}
.sgb-shipping-choice{border:1px solid rgba(20,20,20,.10)!important;border-radius:18px!important;padding:14px!important;margin:6px 0!important;background:#fff!important;display:grid!important;gap:10px!important;}
.sgb-shipping-choice legend{font-weight:700;color:#111;padding:0 6px!important;}
.sgb-shipping-choice label{display:flex!important;grid-template-columns:none!important;align-items:center!important;gap:10px!important;color:#222!important;cursor:pointer!important;}
.sgb-shipping-choice input{width:auto!important;}
.sgb-shipping-choice strong{font-weight:700;color:#9b7645;}
.sgb-shipping-line{background:#faf7f1!important;border-color:rgba(155,118,69,.25)!important;}
@media(max-width:720px){.sgb-address-grid{grid-template-columns:1fr!important}.sgb-checkout-actions{flex-direction:column-reverse!important;align-items:stretch!important}.sgb-submit-order{width:100%!important;min-width:0!important}.sgb-back-products{width:100%!important}}


/* V1.1.11 — compatibilité client + rendu premium plus discret */
.sgb-dl,
.sgb-lb-download,
.sgb-download-all,
.sgb-side-download{
  -webkit-touch-callout:default!important;
  touch-action:manipulation!important;
}
.sgb-photo img{
  -webkit-user-select:none!important;
  user-select:none!important;
}

/* Overlay invisible au repos, léger au survol */
.sgb-photo figcaption{
  opacity:0!important;
  background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.20))!important;
  transition:opacity .18s ease!important;
}
.sgb-photo:hover figcaption,
.sgb-photo:focus-within figcaption{
  opacity:1!important;
}

/* Boutons plus petits, plus élégants, semi-transparents au repos */
.sgb-photo .sgb-fav,
.sgb-photo .sgb-dl,
.sgb-photo .sgb-buy{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.72)!important;
  color:#111!important;
  box-shadow:0 6px 18px rgba(0,0,0,.14)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
  opacity:.72!important;
  transform:none!important;
  transition:opacity .16s ease, background .16s ease, box-shadow .16s ease!important;
  -webkit-tap-highlight-color:rgba(0,0,0,0)!important;
}
.sgb-photo .sgb-fav{right:9px!important;top:9px!important;}
.sgb-photo .sgb-dl{right:49px!important;top:9px!important;}
.sgb-photo .sgb-buy{left:9px!important;top:9px!important;right:auto!important;}
.sgb-photo .sgb-buy .sgb-cart-icon,
.sgb-cart-icon{
  width:16px!important;
  height:16px!important;
}
.sgb-photo .sgb-fav:hover,
.sgb-photo .sgb-dl:hover,
.sgb-photo .sgb-buy:hover,
.sgb-photo:hover .sgb-fav,
.sgb-photo:hover .sgb-dl,
.sgb-photo:hover .sgb-buy,
.sgb-photo:focus-within .sgb-fav,
.sgb-photo:focus-within .sgb-dl,
.sgb-photo:focus-within .sgb-buy{
  opacity:1!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 10px 26px rgba(0,0,0,.20)!important;
}
.sgb-photo.is-fav .sgb-fav{
  opacity:1!important;
  background:#111!important;
  color:#fff!important;
}

/* Sur mobile tactile : boutons visibles, mais moins agressifs */
@media (hover:none), (pointer:coarse){
  .sgb-photo figcaption{
    opacity:0!important;
    visibility:visible!important;
    transform:none!important;
  }
  .sgb-photo .sgb-fav,
  .sgb-photo .sgb-dl,
  .sgb-photo .sgb-buy{
    opacity:.78!important;
    visibility:visible!important;
    background:rgba(255,255,255,.76)!important;
  }
  .sgb-photo .sgb-fav:active,
  .sgb-photo .sgb-dl:active,
  .sgb-photo .sgb-buy:active{
    opacity:1!important;
    background:#fff!important;
  }
  .sgb-toolbar,
  .sgb-info{
    -webkit-overflow-scrolling:touch!important;
  }
  .sgb-shop-card{
    width:calc(100vw - 24px)!important;
    padding:22px 16px!important;
    border-radius:22px!important;
  }
}
@supports (-webkit-touch-callout:none){
  .sgb-shop-panel{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
  .sgb-photo .sgb-fav,
  .sgb-photo .sgb-dl,
  .sgb-photo .sgb-buy{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
}
