/* ═══════════════════════════════════════════════════
   HUBCOWORKING BORDEAUX — CHILD THEME CSS
   Préfixe hc- pour éviter les conflits avec le parent
   ═══════════════════════════════════════════════════ */

:root{
  --hc-ink:#1a1814;--hc-ink-soft:#3d3a35;--hc-ink-muted:#6e6a62;
  --hc-cream:#f8f5ef;--hc-cream-warm:#f2ede4;
  --hc-accent:#c8aa6e;--hc-accent-dk:#a8893e;
  --hc-white:#ffffff;
  --hc-border:rgba(26,24,20,.12);--hc-border-med:rgba(26,24,20,.22);
  --hc-serif:'Playfair Display',Georgia,serif;
  --hc-sans:'DM Sans',system-ui,sans-serif;
  --hc-max-w:1200px;--hc-narrow:760px;
  --hc-gap:clamp(1.5rem,4vw,3rem);
  --hc-section:clamp(4rem,8vw,7rem);
  --hc-r-sm:6px;--hc-r:12px;--hc-r-lg:20px;
  --hc-ease:cubic-bezier(.22,1,.36,1);
}

.hc-section,.hc-section *,.hc-hero,.hc-hero *{box-sizing:border-box}

.hc-container{width:100%;max-width:var(--hc-max-w);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2.5rem)}
.hc-container--narrow{max-width:var(--hc-narrow)}
.hc-section{padding-block:var(--hc-section)}
.hc-section__header{margin-bottom:clamp(2.5rem,5vw,4rem)}
.hc-section__title{font-family:var(--hc-serif)!important;font-size:clamp(1.75rem,3.5vw,2.75rem)!important;font-weight:700!important;line-height:1.15!important;color:var(--hc-ink)!important;margin-bottom:1.25rem!important}
.hc-section__intro{font-size:1.0625rem;color:var(--hc-ink-muted);max-width:560px;font-family:var(--hc-sans)}
.hc-eyebrow{font-family:var(--hc-sans)!important;font-size:.75rem!important;font-weight:500!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:var(--hc-accent-dk)!important;margin-bottom:.75rem!important;display:block!important}
.hc-lead{font-size:1.1rem;color:var(--hc-ink-soft);margin-bottom:1.25rem;font-family:var(--hc-sans)}

/* BUTTONS */
.hc-btn{display:inline-flex!important;align-items:center!important;gap:.5rem!important;padding:.75rem 1.75rem!important;font-family:var(--hc-sans)!important;font-size:.9375rem!important;font-weight:400!important;text-decoration:none!important;border-radius:var(--hc-r-sm)!important;border:1.5px solid transparent!important;cursor:pointer!important;transition:all .22s var(--hc-ease)!important;white-space:nowrap!important;line-height:1!important}
.hc-btn:hover{transform:translateY(-1px)!important}
.hc-btn--primary{background:var(--hc-ink)!important;color:var(--hc-cream)!important;border-color:var(--hc-ink)!important}
.hc-btn--primary:hover{background:var(--hc-ink-soft)!important;border-color:var(--hc-ink-soft)!important}
.hc-btn--ghost{background:transparent!important;color:var(--hc-cream)!important;border-color:rgba(255,255,255,.35)!important}
.hc-btn--ghost:hover{border-color:rgba(255,255,255,.75)!important}
.hc-btn--outline{background:transparent!important;color:var(--hc-ink)!important;border-color:var(--hc-border-med)!important}
.hc-btn--outline:hover{border-color:var(--hc-ink)!important;background:var(--hc-ink)!important;color:var(--hc-cream)!important}
.hc-btn--sm{padding:.5rem 1.25rem!important;font-size:.875rem!important}
.hc-btn--block{width:100%!important;justify-content:center!important}
.hc-btn__arrow{transition:transform .2s}
.hc-btn:hover .hc-btn__arrow{transform:translateX(3px)}

/* HERO */
.hc-hero{position:relative;min-height:100svh;display:grid;grid-template-columns:1fr 1fr;align-items:center;background:var(--hc-ink);overflow:hidden;padding-top:5rem}
.hc-hero__bg{position:absolute;inset:0;pointer-events:none}
.hc-hero__noise{position:absolute;inset:0;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E")}
.hc-hero__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(200,170,110,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(200,170,110,.06) 1px,transparent 1px);background-size:60px 60px}
.hc-hero__content{position:relative;z-index:2;padding:clamp(3rem,6vw,5rem) clamp(1.5rem,4vw,4rem) clamp(3rem,6vw,5rem) clamp(1.5rem,6vw,5rem)}
.hc-hero__content .hc-eyebrow{color:var(--hc-accent)!important}
.hc-hero__title{font-family:var(--hc-serif)!important;font-size:clamp(2.5rem,5.5vw,4.5rem)!important;color:var(--hc-cream)!important;line-height:1.07!important;margin-bottom:1.75rem!important;font-weight:700!important}
.hc-hero__title em{font-style:italic!important;color:var(--hc-accent)!important}
.hc-hero__subtitle{font-size:clamp(1rem,1.5vw,1.125rem);color:rgba(248,245,239,.65);margin-bottom:2.5rem;max-width:480px;font-weight:300;font-family:var(--hc-sans)}
.hc-hero__actions{display:flex;gap:.875rem;flex-wrap:wrap;margin-bottom:3rem}
.hc-hero__stats{display:flex;align-items:center;gap:1.5rem}
.hc-stat__num{display:block;font-family:var(--hc-serif);font-size:1.75rem;font-weight:700;color:var(--hc-cream)}
.hc-stat__label{font-family:var(--hc-sans);font-size:.75rem;color:rgba(248,245,239,.5);font-weight:300}
.hc-stat__sep{width:1px;height:36px;background:rgba(248,245,239,.2)}
.hc-hero__visual{position:relative;z-index:2;height:100%;min-height:500px;display:flex;align-items:stretch}
.hc-hero__img{width:100%;height:100%;object-fit:cover;border-left:1px solid rgba(200,170,110,.2)}
.hc-hero__img-placeholder{width:100%;min-height:500px;background:rgba(248,245,239,.05);border-left:1px solid rgba(200,170,110,.2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:rgba(248,245,239,.25);font-size:.8125rem;font-family:var(--hc-sans);text-align:center;padding:2rem}
.hc-hero__scroll{position:absolute;bottom:2.5rem;left:clamp(1.5rem,6vw,5rem);z-index:5;text-decoration:none}
.hc-scroll-bar{display:block;width:1px;height:48px;background:linear-gradient(to bottom,var(--hc-accent),transparent);animation:hcScroll 2s ease-in-out infinite}
@keyframes hcScroll{0%,100%{opacity:.6}50%{opacity:1}}

/* ABOUT */
.hc-about{background:var(--hc-cream)}
.hc-about__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--hc-gap) clamp(3rem,6vw,6rem);align-items:center}
.hc-about__images{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.hc-img-placeholder{background:var(--hc-cream-warm);border-radius:var(--hc-r);display:flex;align-items:center;justify-content:center;color:var(--hc-ink-muted);font-size:.8125rem;text-align:center;font-style:italic;font-family:var(--hc-sans)}
.hc-img-placeholder--tall{grid-column:1/-1;height:280px}
.hc-img-placeholder--short{grid-column:1/-1;height:140px}
.hc-about__badge{position:absolute;bottom:5rem;right:-1.25rem;background:var(--hc-ink);color:var(--hc-cream);padding:1rem 1.25rem;border-radius:var(--hc-r);text-align:center;z-index:2;box-shadow:0 8px 32px rgba(26,24,20,.25)}
.hc-about__badge strong{display:block;font-family:var(--hc-serif);font-size:1.5rem;font-weight:700;color:var(--hc-cream)}
.hc-about__badge span{font-size:.75rem;opacity:.65;font-weight:300;font-family:var(--hc-sans)}
.hc-about__text p{color:var(--hc-ink-soft);font-family:var(--hc-sans);margin-bottom:1rem}
.hc-about__text strong{font-weight:500}
.hc-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.75rem}
.hc-tag{padding:.3125rem .875rem;border:1px solid var(--hc-border-med);border-radius:100px;font-size:.8125rem;font-weight:400;color:var(--hc-ink-soft);font-family:var(--hc-sans)}

/* SERVICES */
.hc-services{background:var(--hc-cream-warm)}
.hc-services__grid{list-style:none!important;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.25rem;padding:0!important}
.hc-service-card{background:var(--hc-white);border:1px solid var(--hc-border);border-radius:var(--hc-r);padding:1.75rem;transition:box-shadow .2s,transform .2s}
.hc-service-card:hover{box-shadow:0 8px 28px rgba(26,24,20,.08);transform:translateY(-2px)}
.hc-service-card__icon{width:44px;height:44px;border-radius:var(--hc-r-sm);background:rgba(200,170,110,.12);display:flex;align-items:center;justify-content:center;color:var(--hc-accent-dk);margin-bottom:1rem}
.hc-service-card h3{font-family:var(--hc-sans)!important;font-size:1rem!important;font-weight:500!important;margin-bottom:.5rem!important;color:var(--hc-ink)!important}
.hc-service-card p{font-size:.9rem!important;color:var(--hc-ink-muted)!important;margin:0!important;font-family:var(--hc-sans)!important}

/* TARIFS */
.hc-tarifs{background:var(--hc-ink)}
.hc-tarifs .hc-eyebrow{color:var(--hc-accent)!important}
.hc-tarifs .hc-section__title{color:var(--hc-cream)!important}
.hc-tarifs .hc-section__intro{color:rgba(248,245,239,.55)}
.hc-tarifs__grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:780px;margin-inline:auto}
.hc-tarif{background:rgba(248,245,239,.06);border:1px solid rgba(248,245,239,.12);border-radius:var(--hc-r-lg);padding:2.25rem 2rem;position:relative;transition:border-color .2s}
.hc-tarif:hover{border-color:rgba(200,170,110,.4)}
.hc-tarif--featured{background:var(--hc-cream)!important;border-color:var(--hc-cream)!important}
.hc-tarif__badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--hc-accent);color:var(--hc-ink);font-size:.7rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:.3rem 1rem;border-radius:100px;white-space:nowrap;font-family:var(--hc-sans)}
.hc-tarif__label{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--hc-accent);font-weight:400;display:block;margin-bottom:.75rem;font-family:var(--hc-sans)}
.hc-tarif--featured .hc-tarif__label{color:var(--hc-accent-dk)}
.hc-tarif__header h3{font-family:var(--hc-serif)!important;font-size:1.5rem!important;color:var(--hc-cream)!important;margin-bottom:1.25rem!important;font-weight:700!important}
.hc-tarif--featured .hc-tarif__header h3{color:var(--hc-ink)!important}
.hc-tarif__price{display:flex;align-items:flex-start;gap:.375rem;margin-bottom:.5rem}
.hc-price__num{font-family:var(--hc-serif);font-size:3.25rem;font-weight:700;line-height:1;color:var(--hc-cream)}
.hc-tarif--featured .hc-price__num{color:var(--hc-ink)}
.hc-price__meta{padding-top:.5rem;display:flex;flex-direction:column;gap:2px}
.hc-price__meta span:first-child{font-size:.875rem;color:rgba(248,245,239,.6);font-weight:300;font-family:var(--hc-sans)}
.hc-price__meta span:last-child{font-size:.8125rem;color:rgba(248,245,239,.5);font-family:var(--hc-sans)}
.hc-tarif--featured .hc-price__meta span{color:var(--hc-ink-muted)!important}
.hc-tarif__sub{font-size:.8125rem;color:rgba(248,245,239,.5);margin-bottom:1.75rem;font-family:var(--hc-sans)}
.hc-tarif--featured .hc-tarif__sub{color:var(--hc-ink-muted)}
.hc-tarif__features{list-style:none!important;margin-bottom:2rem!important;display:flex!important;flex-direction:column!important;gap:.625rem!important;padding:0!important}
.hc-tarif__features li{font-size:.9rem;color:rgba(248,245,239,.7);padding-left:1.25rem;position:relative;font-family:var(--hc-sans)}
.hc-tarif__features li::before{content:''!important;position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--hc-accent)}
.hc-tarif--featured .hc-tarif__features li{color:var(--hc-ink-soft)}
.hc-tarif--featured .hc-tarif__features li::before{background:var(--hc-accent-dk)!important}
.hc-tarifs__note{text-align:center;font-size:.8125rem;color:rgba(248,245,239,.4);margin-top:2.5rem;font-family:var(--hc-sans)}

/* LOCATION */
.hc-location{background:var(--hc-cream-warm)}
.hc-location__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--hc-gap) clamp(3rem,6vw,5rem);align-items:center}
.hc-location__address{font-style:normal;font-size:1.0625rem;line-height:1.8;color:var(--hc-ink-soft);margin-bottom:1.75rem;font-family:var(--hc-sans)}
.hc-location__address strong{color:var(--hc-ink);font-weight:500}
.hc-location__details{list-style:none!important;display:flex;flex-direction:column;gap:.875rem;padding:0!important}
.hc-location__details li{font-size:.9375rem;color:var(--hc-ink-soft);font-family:var(--hc-sans)}
.hc-location__details a{color:var(--hc-ink)!important;text-decoration:underline;text-decoration-color:var(--hc-border-med)}
.hc-location__details a:hover{color:var(--hc-accent-dk)!important}
.hc-map-placeholder{height:380px;background:var(--hc-cream);border:1px solid var(--hc-border);border-radius:var(--hc-r-lg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--hc-ink-muted);text-align:center;padding:2rem}
.hc-map-pin{color:var(--hc-accent-dk)}
.hc-map-placeholder p{font-size:.9375rem;color:var(--hc-ink-soft);font-family:var(--hc-sans)}
.hc-location__map iframe{width:100%;height:380px;border-radius:var(--hc-r-lg);border:0;display:block}

/* FAQ */
.hc-faq{background:var(--hc-cream)}
.hc-faq__list{display:flex;flex-direction:column;border-top:1px solid var(--hc-border)}
.hc-faq__item{border-bottom:1px solid var(--hc-border)}
.hc-faq__btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.375rem 0;background:none;border:none;text-align:left;font-family:var(--hc-sans);font-size:1rem;font-weight:400;color:var(--hc-ink);cursor:pointer;transition:color .15s}
.hc-faq__btn:hover{color:var(--hc-accent-dk)}
.hc-faq__chevron{width:20px;height:20px;border:1px solid var(--hc-border-med);border-radius:50%;flex-shrink:0;position:relative;transition:transform .25s var(--hc-ease),border-color .2s}
.hc-faq__chevron::before,.hc-faq__chevron::after{content:'';position:absolute;top:50%;left:50%;width:8px;height:1.5px;background:currentColor;border-radius:1px;transform:translate(-50%,-50%);transition:transform .25s var(--hc-ease)}
.hc-faq__chevron::after{transform:translate(-50%,-50%) rotate(90deg)}
.hc-faq__btn[aria-expanded="true"] .hc-faq__chevron{border-color:var(--hc-accent-dk);transform:rotate(45deg)}
.hc-faq__btn[aria-expanded="true"]{color:var(--hc-accent-dk)}
.hc-faq__answer{padding-bottom:1.375rem}
.hc-faq__answer p{font-size:.9375rem;color:var(--hc-ink-soft);margin:0;font-family:var(--hc-sans)}
.hc-faq__answer a{color:var(--hc-accent-dk)!important}

/* CONTACT */
.hc-contact{background:var(--hc-cream-warm)}
.hc-contact__grid{display:grid;grid-template-columns:1fr 1.35fr;gap:var(--hc-gap) clamp(3rem,6vw,5rem);align-items:start}
.hc-contact__info p{color:var(--hc-ink-soft);margin-bottom:2rem;font-family:var(--hc-sans)}
.hc-contact__links{display:flex;flex-direction:column;gap:.875rem;margin-bottom:2rem}
.hc-contact__link{display:flex!important;align-items:center!important;gap:.625rem!important;text-decoration:none!important;font-size:1.0625rem!important;color:var(--hc-ink)!important;transition:color .15s;font-family:var(--hc-sans)}
.hc-contact__link svg{color:var(--hc-accent-dk);flex-shrink:0}
.hc-contact__link:hover{color:var(--hc-accent-dk)!important}
.hc-contact__social{display:flex;gap:.75rem}
.hc-social-btn{display:inline-flex!important;align-items:center!important;gap:.5rem!important;padding:.5rem 1rem!important;border:1px solid var(--hc-border-med)!important;border-radius:var(--hc-r-sm)!important;font-size:.875rem!important;color:var(--hc-ink-soft)!important;text-decoration:none!important;transition:all .2s;font-family:var(--hc-sans)}
.hc-social-btn:hover{border-color:var(--hc-ink)!important;color:var(--hc-ink)!important}
.hc-form{background:var(--hc-white);border:1px solid var(--hc-border);border-radius:var(--hc-r-lg);padding:2.25rem 2rem}
.hc-form__row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.hc-form__field{margin-bottom:1.25rem}
.hc-form__field label{display:block;font-size:.875rem;color:var(--hc-ink-soft);margin-bottom:.4rem;font-family:var(--hc-sans)}
.hc-form__field abbr{text-decoration:none;color:var(--hc-accent-dk)}
.hc-form__field input,.hc-form__field select,.hc-form__field textarea{width:100%!important;padding:.7rem 1rem!important;font-family:var(--hc-sans)!important;font-size:.9375rem!important;color:var(--hc-ink)!important;background:var(--hc-cream)!important;border:1.5px solid var(--hc-border)!important;border-radius:var(--hc-r-sm)!important;transition:border-color .15s,box-shadow .15s!important;appearance:none;-webkit-appearance:none;line-height:1.5!important}
.hc-form__field textarea{resize:vertical;min-height:110px}
.hc-form__field input:focus,.hc-form__field select:focus,.hc-form__field textarea:focus{outline:none!important;border-color:var(--hc-accent-dk)!important;box-shadow:0 0 0 3px rgba(168,137,62,.15)!important}
.hc-form__field select{background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236e6a62' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 1rem center!important;background-size:12px!important;padding-right:2.5rem!important;cursor:pointer}
.hc-form__check{display:flex;gap:.75rem;align-items:flex-start;margin-bottom:1.5rem}
.hc-form__check input[type="checkbox"]{width:18px;height:18px;min-width:18px;border-radius:4px;cursor:pointer;padding:0;margin-top:.1rem;accent-color:var(--hc-accent-dk)}
.hc-form__check label{font-size:.8125rem;color:var(--hc-ink-muted);line-height:1.6;margin:0;font-family:var(--hc-sans)}
.hc-form__check a{color:var(--hc-accent-dk)!important}
.hc-form__msg{margin-top:1rem;padding:.875rem 1rem;border-radius:var(--hc-r-sm);font-size:.9rem;font-family:var(--hc-sans)}
.hc-form__msg--success{background:#ecfdf5;color:#166534;border:1px solid #bbf7d0}
.hc-form__msg--error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}

@media(max-width:900px){
  .hc-hero{grid-template-columns:1fr;min-height:auto;padding-bottom:4rem}
  .hc-hero__visual{display:none}
  .hc-hero__content{padding-inline:clamp(1.25rem,5vw,2.5rem);padding-top:8rem}
  .hc-about__grid,.hc-location__grid,.hc-contact__grid{grid-template-columns:1fr}
  .hc-about__images{display:none}
  .hc-tarifs__grid{grid-template-columns:1fr;max-width:420px}
}
@media(max-width:640px){
  .hc-form__row{grid-template-columns:1fr}
  .hc-hero__stats{gap:1rem}
  .hc-stat__num{font-size:1.375rem}
  .hc-services__grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .hc-section *,.hc-hero *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
