/* ==========================================================
   HORLOGERIE / BIJOUTERIE LUXE — FRONT DESIGN V2
   Inspiration : univers sombre/ivoire/or de l'horlogerie joaillerie
   Fichier chargé par inc/setup.php et importé dans style.css.
   ========================================================== */
:root {
  --hb-bg: #f6f3ee;
  --hb-bg-2: #efe8dc;
  --hb-surface: #ffffff;
  --hb-surface-2: #fbf8f2;
  --hb-ink: #111723;
  --hb-ink-2: #1b2737;
  --hb-ink-soft: #405064;
  --hb-muted: #758092;
  --hb-line: #ded6c9;
  --hb-line-dark: rgba(255,255,255,.14);
  --hb-blue: #e9f3f8;
  --hb-blue-2: #c9dce9;
  --hb-gold: #c7a15d;
  --hb-gold-2: #ead5ad;
  --hb-copper: #b97645;
  --hb-dark: #0b111b;
  --hb-dark-2: #131d2a;
  --hb-gray: #ece8df;
  --hb-shadow: 0 30px 80px rgba(17, 23, 35, .14);
  --hb-shadow-soft: 0 18px 46px rgba(17, 23, 35, .09);
  --hb-radius: 7px;
  --hb-radius-sm: 4px;
  --hb-container: 1200px;
}
html { scroll-behavior: smooth; }
body.dgb-body {
  background:
    radial-gradient(circle at top left, rgba(201,161,93,.18), transparent 36rem),
    radial-gradient(circle at 88% 12%, rgba(201,220,233,.7), transparent 28rem),
    linear-gradient(180deg, #fcfaf5 0%, var(--hb-bg) 46%, #fff 100%);
  color: var(--hb-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: -.01em;
}
body.dgb-body a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .24em; }
body.dgb-body img { max-width: 100%; height: auto; }
body.dgb-body ::selection { background: var(--hb-gold-2); color: var(--hb-ink); }
.container { max-width: var(--hb-container); }

/* Header */
.dgb-site-header {
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(222,214,201,.72);
  background: rgba(255,255,255,.9);
  z-index: 1040;
}
.dgb-navbar { min-height: 78px; }
.dgb-nav-container { padding-inline: clamp(1rem, 3vw, 2.9rem); }
.dgb-brand { display:flex; align-items:center; gap:.85rem; text-decoration:none!important; color:var(--hb-ink)!important; }
.dgb-brand-mark {
  width: 44px; height: 44px; display:inline-grid; place-items:center;
  border:1px solid rgba(199,161,93,.48); background:linear-gradient(135deg,#fff,#f8efe1);
  color:var(--hb-gold); font:700 1rem/1 Georgia, serif; border-radius: var(--hb-radius-sm);
  box-shadow: 0 10px 26px rgba(199,161,93,.14);
}
.dgb-brand-text { display:flex; flex-direction:column; line-height:1.05; text-transform:uppercase; letter-spacing:.1em; }
.dgb-brand-text strong { font-size:.96rem; }
.dgb-brand-text small { font-size:.66rem; color:var(--hb-muted); margin-top:.23rem; }
.navbar-nav .nav-link { color:var(--hb-ink-soft)!important; font-size:.9rem; font-weight:700; padding:.7rem .78rem!important; border-radius: var(--hb-radius-sm); }
.navbar-nav .nav-link:hover, .navbar-nav .current-menu-item>.nav-link { background:var(--hb-blue); color:var(--hb-ink)!important; }
.dgb-phone-link { font-weight:750; color:var(--hb-ink); text-decoration:none!important; white-space:nowrap; }
.dgb-toggler { border:1px solid var(--hb-line); padding:.55rem; border-radius:var(--hb-radius-sm); box-shadow:none!important; }
.dgb-toggler span { display:block; width:22px; height:2px; background:var(--hb-ink); margin:4px 0; }

/* Buttons */
.btn { --bs-btn-border-radius: var(--hb-radius-sm); font-weight:800; letter-spacing:.01em; padding:.78rem 1.1rem; text-transform:none; }
.btn-lg { padding: .95rem 1.35rem; }
.btn-primary {
  --bs-btn-bg: var(--hb-gold); --bs-btn-border-color: var(--hb-gold);
  --bs-btn-hover-bg: #ab8846; --bs-btn-hover-border-color: #ab8846;
  --bs-btn-color:#111723; --bs-btn-hover-color:#111723;
  box-shadow: 0 16px 38px rgba(199,161,93,.26);
}
.btn-primary:hover { transform: translateY(-2px); }
.btn-outline-dark { --bs-btn-border-color: rgba(17,23,35,.26); --bs-btn-color:var(--hb-ink); --bs-btn-hover-bg:var(--hb-ink); --bs-btn-hover-border-color:var(--hb-ink); }

/* Sections / typography */
.dgb-section { padding: clamp(4.8rem, 8vw, 8rem) 0; position:relative; }
.dgb-section-sm { padding: clamp(3.5rem, 6vw, 5.8rem) 0; }
.bg-light-subtle { background: linear-gradient(180deg, rgba(239,232,220,.82), rgba(250,248,242,.96))!important; }
.dgb-eyebrow { display:inline-flex; align-items:center; gap:.6rem; color:var(--hb-gold); text-transform:uppercase; letter-spacing:.18em; font-size:.74rem; font-weight:900; margin-bottom:1rem; }
.dgb-eyebrow::before { content:""; width:30px; height:1px; background:currentColor; opacity:.7; }
.dgb-fluid-h1, .dgb-page-hero h1 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(3rem, 6.3vw, 6.6rem); line-height:.92; letter-spacing:-.062em; color:var(--hb-ink); margin:0 0 1.25rem; }
.dgb-fluid-h2 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.15rem, 4.4vw, 4.65rem); line-height:.96; letter-spacing:-.055em; color:var(--hb-ink); margin-bottom:1rem; }
.dgb-fluid-h3 { font-size: clamp(1.35rem, 2vw, 2rem); }
.lead, .dgb-hero-lead { color:var(--hb-ink-soft); font-size: clamp(1.04rem, 1.3vw, 1.24rem); line-height:1.68; }

/* Cards square premium */
.dgb-card {
  background: rgba(255,255,255,.94);
  border:1px solid rgba(222,214,201,.92);
  border-radius:var(--hb-radius);
  box-shadow: var(--hb-shadow-soft);
  overflow:hidden;
  transition: transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s ease, border-color .4s ease;
}
.dgb-card:hover, .dgbfx-hover-lift:hover { transform: translateY(-8px); box-shadow: var(--hb-shadow); border-color: rgba(199,161,93,.46); }
.dgb-card-kicker { color:var(--hb-gold); text-transform:uppercase; letter-spacing:.13em; font-size:.72rem; font-weight:900; margin-bottom:.62rem; }
.dgb-link-arrow { text-decoration:none; color:var(--hb-ink); font-weight:850; white-space:nowrap; }
.dgb-link-arrow::after { content:" →"; color:var(--hb-gold); }

/* Hero */
.dgb-hbjo-hero { min-height: 84vh; display:grid; align-items:center; overflow:hidden; background:linear-gradient(135deg,#fbf8f2 0%, #eef4f8 48%, #f2e7d8 100%); }
.dgb-hbjo-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(11,17,27,.03), rgba(11,17,27,0)); pointer-events:none; z-index:1; }
.dgb-hero-media { position:absolute; inset:0 0 0 auto; width:min(58vw, 1000px); height:100%; overflow:hidden; z-index:0; }
.dgb-hero-media img { width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(1.03) contrast(1.05); }
.dgb-hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg, rgba(252,250,245,1) 0%, rgba(252,250,245,.94) 40%, rgba(252,250,245,.48) 64%, rgba(252,250,245,.08) 100%); z-index:1; pointer-events:none; }
.dgb-hbjo-hero .container { position:relative; z-index:2; }
.min-vh-75 { min-height: 75vh; }
.dgb-hero-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.9rem; margin-top:2rem; max-width:660px; }
.dgb-hero-stats>div { background:rgba(255,255,255,.78); border:1px solid rgba(222,214,201,.86); border-radius:var(--hb-radius-sm); padding:1rem; box-shadow:0 12px 32px rgba(17,23,35,.07); }
.dgb-hero-stats strong { display:block; font-family:Georgia,serif; font-size:1.65rem; color:var(--hb-ink); }
.dgb-hero-stats span { color:var(--hb-muted); font-size:.86rem; }

/* Product cards */
.dgb-hbjo-collection { background:#fff; }
.dgb-product-card { position:relative; min-height:100%; }
.dgb-product-card figure { aspect-ratio: 1 / 1; margin:0; overflow:hidden; background:var(--hb-gray); position:relative; }
.dgb-product-card figure img { width:100%; height:100%; object-fit:cover; transition:transform .78s cubic-bezier(.22,1,.36,1), filter .78s ease; }
.dgb-product-card:hover figure img { transform:scale(1.07); filter:saturate(1.08) contrast(1.04); }
.dgb-product-badge { position:absolute; top:.9rem; left:.9rem; z-index:2; background:rgba(255,255,255,.9); border:1px solid var(--hb-line); border-radius:var(--hb-radius-sm); padding:.35rem .68rem; font-size:.68rem; font-weight:900; color:var(--hb-gold); text-transform:uppercase; letter-spacing:.1em; }
.dgb-product-body { padding:1.35rem; }
.dgb-product-body h3 { font-size:1.12rem; line-height:1.22; margin:0 0 .5rem; color:var(--hb-ink); }
.dgb-product-body p { color:var(--hb-muted); margin-bottom:.75rem; }
.dgb-product-body strong { font-size:1.03rem; }
.dgb-card-link { position:absolute; inset:0; z-index:3; text-indent:-9999px; }

/* Services */
.dgb-service-card { padding:1.55rem; border-radius: var(--hb-radius); background:linear-gradient(180deg,#fff,#faf7f0); position:relative; }
.dgb-service-icon { width:48px; height:48px; display:grid; place-items:center; border-radius:var(--hb-radius-sm); background:var(--hb-dark); color:var(--hb-gold-2); font-size:1.35rem; margin-bottom:1.1rem; border:1px solid rgba(199,161,93,.32); }
.dgb-service-card h3 { font-size:1.05rem; margin-bottom:.65rem; }
.dgb-service-card p { color:var(--hb-muted); margin:0; }

/* Editorial */
.dgb-hbjo-editorial { background:linear-gradient(135deg,#0b111b 0%, #172231 52%, #efe2cd 180%); overflow:hidden; color:#fff; }
.dgb-hbjo-editorial .dgb-fluid-h2, .dgb-hbjo-editorial p { color:#fff; }
.dgb-hbjo-editorial p { color:rgba(255,255,255,.76); }
.dgb-featured-media { min-height: 590px; margin:0; overflow:hidden; }
.dgb-featured-media img { width:100%; height:100%; object-fit:cover; display:block; }
.dgb-featured-content { padding: clamp(3rem, 6vw, 6.6rem); max-width:720px; }
.dgb-amenities { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; margin:1.7rem 0 2rem; }
.dgb-amenities span { background:rgba(255,255,255,.08); border:1px solid var(--hb-line-dark); border-radius:var(--hb-radius-sm); padding:.8rem .95rem; color:rgba(255,255,255,.84); font-weight:750; }
.dgb-hbjo-editorial .btn-outline-dark { --bs-btn-color:#fff; --bs-btn-border-color:rgba(255,255,255,.36); --bs-btn-hover-bg:#fff; --bs-btn-hover-color:var(--hb-dark); --bs-btn-hover-border-color:#fff; }

/* Atelier / Images */
.dgb-atelier { background:var(--hb-bg); }
.dgb-image-frame { margin:0; border-radius:var(--hb-radius); overflow:hidden; box-shadow:var(--hb-shadow); border:1px solid rgba(222,214,201,.85); background:#fff; position:relative; }
.dgb-image-frame img { display:block; width:100%; aspect-ratio: 4 / 3; object-fit:cover; }
.dgb-image-frame::after { content:""; position:absolute; inset:0; background:linear-gradient(120deg, rgba(255,255,255,.0), rgba(255,255,255,.16), rgba(255,255,255,0)); transform:translateX(-120%); transition:transform .8s ease; pointer-events:none; }
.dgb-image-frame:hover::after { transform:translateX(120%); }
.dgb-check-list { list-style:none; padding:0; margin:1.5rem 0 0; display:grid; gap:.85rem; }
.dgb-check-list li { position:relative; padding-left:2rem; color:var(--hb-ink-soft); }
.dgb-check-list li::before { content:"✓"; position:absolute; left:0; top:0; width:1.35rem; height:1.35rem; display:grid; place-items:center; border-radius:50%; background:var(--hb-dark); color:var(--hb-gold-2); font-weight:900; }

/* Testimonials */
.dgb-testimonial-card { padding:1.6rem; min-height:100%; }
.dgb-testimonial-card p { font-family:Georgia,serif; font-size:1.16rem; line-height:1.6; color:var(--hb-ink); }
.dgb-testimonial-card footer { display:grid; gap:.2rem; color:var(--hb-muted); }
.dgb-testimonial-card em { color:var(--hb-gold); font-style:normal; letter-spacing:.08em; }

/* CTA */
.dgb-final-cta-inner, .dgb-footer-cta {
  display:grid; grid-template-columns:1.15fr 1fr auto; align-items:center; gap:1.5rem;
  background:linear-gradient(135deg,var(--hb-dark) 0%, #1b2737 48%, #c7a15d 170%);
  color:#fff; border-radius:var(--hb-radius); padding:clamp(1.7rem,4vw,3rem); box-shadow:var(--hb-shadow); overflow:hidden; position:relative;
}
.dgb-final-cta-inner::after, .dgb-footer-cta::after { content:""; position:absolute; width:270px; height:270px; border-radius:50%; right:-75px; top:-96px; background:rgba(199,161,93,.28); filter:blur(2px); }
.dgb-final-cta-inner .dgb-eyebrow, .dgb-footer-cta .dgb-eyebrow { color:var(--hb-gold-2); }
.dgb-final-cta-inner h2, .dgb-footer-cta h2 { font-family:Georgia,serif; font-size:clamp(2rem,3vw,3.35rem); line-height:.98; margin:0; }
.dgb-final-cta-inner p, .dgb-footer-cta p { color:rgba(255,255,255,.78); margin:0; position:relative; z-index:1; }
.dgb-final-cta-inner .btn, .dgb-footer-cta .btn { position:relative; z-index:1; }

/* Pages / forms */
.dgb-page-hero { padding:clamp(5.2rem,8vw,8.2rem) 0; background:linear-gradient(135deg,#fbf8f2,#eef4f8 54%,#f2e3cc); }
.dgb-page-hero p { max-width:760px; color:var(--hb-ink-soft); font-size:1.12rem; }
.dgb-contact-section { background:linear-gradient(135deg,#fff,#f6f3ee); }
.dgb-contact-note { margin-top:1.5rem; padding:1rem; border:1px solid var(--hb-line); background:#fff; border-radius:var(--hb-radius-sm); display:grid; gap:.25rem; }
.dgb-contact-note span { color:var(--hb-muted); }
.dgb-contact-form-wrap { background:#fff; border:1px solid var(--hb-line); border-radius:var(--hb-radius); box-shadow:var(--hb-shadow-soft); padding:clamp(1.25rem,3vw,2rem); }
.dgb-contact-form-wrap.is-dark { background:var(--hb-dark); border-color:rgba(255,255,255,.14); color:#fff; }
.dgb-contact-form-wrap.is-dark .form-label, .dgb-contact-form-wrap.is-dark p, .dgb-contact-form-wrap.is-dark small { color:rgba(255,255,255,.78); }
.dgb-contact-form .form-control, .dgb-contact-form .form-select { border-radius:var(--hb-radius-sm); border-color:#d7cec0; min-height:48px; background:#fffaf2; }
.dgb-contact-form textarea.form-control { min-height:150px; }
.dgb-contact-form .form-control:focus, .dgb-contact-form .form-select:focus { border-color:var(--hb-gold); box-shadow:0 0 0 .2rem rgba(199,161,93,.18); }
.dgb-hp-field { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.dgb-consent { font-size:.88rem; color:var(--hb-muted); }

/* Footer */
.dgb-footer { background:#0b111b; color:rgba(255,255,255,.78); padding:clamp(3.5rem,6vw,5.5rem) 0 1.6rem; }
.dgb-footer a { color:rgba(255,255,255,.84); text-decoration:none; }
.dgb-footer h2, .dgb-footer strong { color:#fff; }
.dgb-footer-cta { margin-bottom:3.8rem; }
.dgb-footer-brand { display:flex; align-items:center; gap:.85rem; margin-bottom:1rem; }
.dgb-footer-list { list-style:none; padding:0; margin:0; display:grid; gap:.55rem; }
.dgb-footer-bottom { border-top:1px solid rgba(255,255,255,.12); margin-top:2.6rem; padding-top:1.2rem; display:flex; justify-content:space-between; gap:1rem; color:rgba(255,255,255,.55); }
.dgb-footer-link { color:var(--hb-gold-2)!important; font-weight:850; }

/* Effects */
.dgbfx-reveal { opacity:0; transform: translateY(24px); transition: opacity .74s ease, transform .74s ease; }
.dgbfx-reveal.is-visible { opacity:1; transform:none; }
.dgbfx-delay-1 { transition-delay:.1s; } .dgbfx-delay-2 { transition-delay:.18s; } .dgbfx-delay-3 { transition-delay:.26s; }
.dgbfx-float, .dgbfx-float-slow { will-change:transform; animation: dgbFloat 5.2s ease-in-out infinite; }
.dgbfx-float-slow { animation-duration:7.5s; }
.dgbfx-soft-glow { box-shadow:0 26px 86px rgba(199,161,93,.26); }
.dgbfx-tilt:hover { transform: perspective(900px) rotateX(1.2deg) rotateY(-1.2deg) translateY(-8px); }
@keyframes dgbFloat { 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-14px);} }
.dgb-product-card::after, .dgb-service-card::after { content:""; position:absolute; inset:0; pointer-events:none; opacity:0; background:linear-gradient(120deg, transparent 20%, rgba(255,255,255,.34), transparent 58%); transform:translateX(-120%); transition:transform .75s ease, opacity .3s ease; }
.dgb-product-card:hover::after, .dgb-service-card:hover::after { opacity:1; transform:translateX(120%); }
.dgb-effect-orb { width:86px; height:86px; border-radius:50%; background: radial-gradient(circle at 35% 35%, #fff, var(--hb-blue) 42%, var(--hb-gold-2)); box-shadow:0 22px 50px rgba(199,161,93,.22); }

/* WooCommerce */
.woocommerce .products .product { background:#fff; border:1px solid var(--hb-line); border-radius:var(--hb-radius); padding:1rem; box-shadow:var(--hb-shadow-soft); }
.woocommerce ul.products li.product a img { border-radius:var(--hb-radius-sm); aspect-ratio:1/1; object-fit:cover; }
.woocommerce div.product .product_title { font-family:Georgia,serif; }

@media (max-width: 991.98px) {
  .dgb-hero-media { position:absolute; inset:auto 0 0 0; width:100%; height:46%; opacity:.42; }
  .dgb-hero-overlay { background:linear-gradient(180deg,#fcfaf5 0%,rgba(252,250,245,.94) 56%,rgba(252,250,245,.5) 100%); }
  .dgb-hero-stats, .dgb-final-cta-inner, .dgb-footer-cta { grid-template-columns:1fr; }
  .dgb-featured-media { min-height:380px; }
  .navbar-collapse { padding:1rem 0 1.25rem; }
}
@media (max-width: 575.98px) {
  .dgb-section { padding:4rem 0; }
  .dgb-fluid-h1, .dgb-page-hero h1 { font-size:2.75rem; }
  .dgb-hero-stats { grid-template-columns:1fr; }
  .dgb-amenities { grid-template-columns:1fr; }
  .dgb-footer-bottom { flex-direction:column; }
  .dgb-brand-text small { display:none; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.001ms!important; transition-duration:.001ms!important; scroll-behavior:auto!important; }
  .dgbfx-reveal { opacity:1; transform:none; }
}
