/* =========================================================
   COFFY'S — DARK EDITORIAL GLOBAL
   Sycow client layer
   ========================================================= */
:root{
  --co-black:#070707;
  --co-black-2:#0c0c0c;
  --co-black-3:#131211;
  --co-paper:#f3ede6;
  --co-cream:#ddd0c4;
  --co-bronze:#b79c86;
  --co-wine:#5e2028;
  --co-muted:#9d958f;
  --co-line:rgba(255,255,255,.14);
  --co-line-strong:rgba(255,255,255,.24);
  --co-serif:"Iowan Old Style","Baskerville","Times New Roman",serif;
  --co-sans:"Manrope","Helvetica Neue",Arial,sans-serif;
  --co-ease:cubic-bezier(.22,1,.36,1);
  --co-shell:min(94vw,1540px);
}

html{scroll-behavior:smooth;background:var(--co-black)}
body{margin:0}
body.coffys-menu-open{overflow:hidden}
.coffys-header,.coffys-header *,.coffys-footer,.coffys-footer *{box-sizing:border-box}
.coffys-shell{width:var(--co-shell);margin-inline:auto}
.coffys-skip-link{position:fixed;left:16px;top:-100px;z-index:20000;padding:12px 16px;background:#fff;color:#000;text-decoration:none;font:700 12px/1 var(--co-sans)}
.coffys-skip-link:focus{top:16px}

/* --------------------------- Header --------------------------- */
.coffys-header{position:sticky;top:0;z-index:9990;width:100%;background:rgba(7,7,7,.96);color:var(--co-paper);font-family:var(--co-sans);border-bottom:1px solid var(--co-line);transition:background .35s ease,border-color .35s ease,box-shadow .35s ease}
.home .coffys-header,.front-page .coffys-header{position:fixed;background:linear-gradient(180deg,rgba(0,0,0,.68),rgba(0,0,0,0));border-bottom-color:transparent}
.coffys-header.is-scrolled,.home .coffys-header.is-scrolled,.front-page .coffys-header.is-scrolled{background:rgba(7,7,7,.94);border-bottom-color:var(--co-line);box-shadow:0 14px 40px rgba(0,0,0,.22);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.admin-bar .coffys-header{top:32px}

.coffys-header__bar{height:28px;border-bottom:1px solid rgba(255,255,255,.09);overflow:hidden;transition:height .3s var(--co-ease),opacity .3s ease}
.coffys-header.is-scrolled .coffys-header__bar{height:0;opacity:0}
.coffys-header__bar-inner{width:var(--co-shell);height:28px;margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.coffys-header__bar a{color:inherit;text-decoration:none;transition:color .2s ease}.coffys-header__bar a:hover{color:#fff}

.coffys-header__main{position:relative}
.coffys-header__inner{width:var(--co-shell);height:92px;margin-inline:auto;display:grid;grid-template-columns:minmax(0,1fr) 118px minmax(0,1fr);align-items:center;gap:32px;transition:height .3s var(--co-ease)}
.coffys-header.is-scrolled .coffys-header__inner{height:72px}
.coffys-header__nav{display:flex;align-items:center;gap:clamp(14px,1.6vw,30px)}
.coffys-header__nav--right{justify-content:flex-end}
.coffys-header__nav>a{position:relative;display:inline-flex;align-items:center;min-height:42px;color:rgba(255,255,255,.84);font-size:9px;font-weight:600;letter-spacing:.14em;text-decoration:none;text-transform:uppercase;white-space:nowrap;transition:color .2s ease}
.coffys-header__nav>a:not(.coffys-header__icon)::after{content:"";position:absolute;right:0;bottom:7px;left:0;height:1px;background:var(--co-bronze);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--co-ease)}
.coffys-header__nav>a:hover{color:#fff}.coffys-header__nav>a:hover::after{transform:scaleX(1);transform-origin:left}

.coffys-header__brand{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;text-decoration:none}
.coffys-header__brand img{display:block;width:92px;height:92px;object-fit:contain;filter:drop-shadow(0 5px 16px rgba(0,0,0,.15));transition:width .3s var(--co-ease),height .3s var(--co-ease)}
.coffys-header.is-scrolled .coffys-header__brand img{width:66px;height:66px}
.coffys-header__brand>span{font-family:var(--co-serif);font-size:28px;line-height:.9}.coffys-header__brand>small{font-size:7px;letter-spacing:.22em;margin-top:6px}

.coffys-header__icon{width:34px;justify-content:center}
.coffys-header__icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.coffys-header__cart{gap:3px}.coffys-header__cart-count{font-size:8px;transform:translateY(-8px)}
.coffys-header__toggle{display:none;width:44px;height:44px;margin-left:auto;padding:0;border:0;background:transparent;color:#fff;cursor:pointer}
.coffys-header__toggle>span:not(.screen-reader-text){display:block;width:26px;height:1px;margin:7px auto;background:currentColor;transition:transform .3s var(--co-ease)}
.coffys-header.is-menu-open .coffys-header__toggle>span:first-child{transform:translateY(4px) rotate(45deg)}
.coffys-header.is-menu-open .coffys-header__toggle>span:nth-child(2){transform:translateY(-4px) rotate(-45deg)}

/* Mobile overlay */
.coffys-mobile{position:fixed;inset:0;z-index:9991;visibility:hidden;opacity:0;background:#070707;color:#fff;transition:opacity .35s ease,visibility .35s ease}
.coffys-mobile.is-open{visibility:visible;opacity:1}
.coffys-mobile__inner{width:min(90vw,760px);min-height:100svh;margin-inline:auto;padding:120px 0 34px;display:flex;flex-direction:column}
.admin-bar .coffys-mobile__inner{padding-top:150px}
.coffys-mobile__top{display:flex;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--co-line);font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:var(--co-muted)}
.coffys-mobile__nav{display:flex;flex-direction:column}
.coffys-mobile__nav a{display:grid;grid-template-columns:38px 1fr auto;align-items:center;min-height:66px;border-bottom:1px solid var(--co-line);color:#fff;text-decoration:none}
.coffys-mobile__nav small{font-size:8px;color:var(--co-muted);letter-spacing:.12em}.coffys-mobile__nav span{font-family:var(--co-serif);font-size:clamp(30px,7vw,54px);line-height:1}.coffys-mobile__nav i{font-style:normal;color:var(--co-bronze)}
.coffys-mobile__bottom{margin-top:auto;padding-top:26px}.coffys-mobile__bottom>div{display:flex;gap:22px;margin-top:24px;font-size:9px;letter-spacing:.1em;text-transform:uppercase}.coffys-mobile__bottom a{color:inherit;text-decoration:none}

/* Buttons / shared links */
.coffys-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border:1px solid transparent;color:#0a0a0a;background:var(--co-paper);font-family:var(--co-sans);font-size:9px;font-weight:700;letter-spacing:.13em;text-decoration:none;text-transform:uppercase;transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s var(--co-ease)}
.coffys-btn:hover{transform:translateY(-2px)}
.coffys-btn--light{background:var(--co-paper);color:#0b0b0b}.coffys-btn--light:hover{background:#fff}
.coffys-btn--ghost,.coffys-btn--outline{border-color:rgba(255,255,255,.38);background:transparent;color:#fff}.coffys-btn--ghost:hover,.coffys-btn--outline:hover{border-color:#fff;background:#fff;color:#080808}
.coffys-text-link{display:inline-flex;align-items:center;gap:16px;color:inherit;font-family:var(--co-sans);font-size:9px;font-weight:700;letter-spacing:.13em;text-decoration:none;text-transform:uppercase}.coffys-text-link span{transition:transform .25s var(--co-ease)}.coffys-text-link:hover span{transform:translate(4px,-2px)}
.coffys-eyebrow{margin:0;font-family:var(--co-sans);font-size:9px;font-weight:650;letter-spacing:.18em;line-height:1.4;text-transform:uppercase}

/* --------------------------- Footer --------------------------- */
.coffys-footer{background:#050505;color:var(--co-paper);font-family:var(--co-sans);border-top:1px solid var(--co-line)}
.coffys-footer__statement{padding:clamp(70px,9vw,145px) 0;border-bottom:1px solid var(--co-line)}
.coffys-footer__statement p{margin:0 0 24px;color:var(--co-muted);font-size:8px;letter-spacing:.2em}
.coffys-footer__statement h2{max-width:1100px;margin:0;font-family:var(--co-serif);font-size:clamp(54px,8.4vw,132px);font-weight:400;line-height:.86;letter-spacing:-.045em}
.coffys-footer__statement h2 em{color:var(--co-bronze);font-weight:400}
.coffys-footer__main{display:grid;grid-template-columns:1.45fr repeat(3,.7fr);gap:clamp(35px,6vw,100px);padding-top:70px;padding-bottom:70px}
.coffys-footer__logo{display:inline-flex;align-items:center;color:#fff;text-decoration:none}.coffys-footer__logo img{width:92px;height:92px;object-fit:contain}.coffys-footer__logo span{font-family:var(--co-serif);font-size:32px}.coffys-footer__brand-col>p{max-width:380px;margin:24px 0;color:var(--co-muted);font-size:12px;line-height:1.8}.coffys-footer__whatsapp{display:inline-flex;gap:10px;color:var(--co-paper);font-size:9px;font-weight:700;letter-spacing:.12em;text-decoration:none;text-transform:uppercase}
.coffys-footer__title{margin:0 0 24px;color:var(--co-muted)!important;font-size:8px!important;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.coffys-footer__nav-col,.coffys-footer__contact-col{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding-top:7px}.coffys-footer__nav-col a,.coffys-footer__contact-col a{position:relative;color:var(--co-paper);font-size:11px;line-height:1.5;text-decoration:none}.coffys-footer__nav-col a::after,.coffys-footer__contact-col a::after{content:"";position:absolute;right:0;bottom:-3px;left:0;height:1px;background:var(--co-bronze);transform:scaleX(0);transform-origin:right;transition:transform .3s var(--co-ease)}.coffys-footer__nav-col a:hover::after,.coffys-footer__contact-col a:hover::after{transform:scaleX(1);transform-origin:left}.coffys-footer__contact-col>p:not(.coffys-footer__title){margin:0 0 8px;color:var(--co-muted);font-size:11px;line-height:1.8}
.coffys-footer__bottom{min-height:70px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;border-top:1px solid var(--co-line);color:var(--co-muted);font-size:8px;letter-spacing:.09em;text-transform:uppercase}.coffys-footer__bottom p{margin:0}.coffys-footer__bottom nav{display:flex;gap:20px}.coffys-footer__bottom a{color:inherit;text-decoration:none}.coffys-footer__credit{justify-self:end}

@media(max-width:1180px){
  .coffys-header__inner{grid-template-columns:1fr 100px 1fr}.coffys-header__nav{gap:14px}.coffys-header__nav>a{font-size:8px}.coffys-header__text-action{display:none!important}.coffys-header__brand img{width:78px;height:78px}
  .coffys-footer__main{grid-template-columns:1.2fr repeat(3,.8fr);gap:35px}
}
@media(max-width:900px){
  .home .coffys-header,.front-page .coffys-header{background:rgba(7,7,7,.97);border-bottom-color:var(--co-line);box-shadow:0 10px 30px rgba(0,0,0,.18);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
  .admin-bar .coffys-header{top:46px}
  .coffys-header__bar{display:none}
  .coffys-header__inner,.coffys-header.is-scrolled .coffys-header__inner{height:74px;grid-template-columns:1fr auto 1fr}
  .coffys-header__nav{display:none}.coffys-header__toggle{display:block;position:relative;z-index:9993;grid-column:3}.coffys-header__brand{grid-column:2;grid-row:1}.coffys-header__brand img,.coffys-header.is-scrolled .coffys-header__brand img{width:66px;height:66px}
  .coffys-footer__main{grid-template-columns:1.2fr 1fr 1fr}.coffys-footer__contact-col{grid-column:2/4}.coffys-footer__bottom{grid-template-columns:1fr;gap:14px;padding:24px 0}.coffys-footer__bottom nav{flex-wrap:wrap}.coffys-footer__credit{justify-self:start}
}
@media(max-width:620px){
  .coffys-footer__statement{padding:70px 0}.coffys-footer__statement h2{font-size:clamp(52px,16vw,78px)}
  .coffys-footer__main{grid-template-columns:1fr 1fr;padding-top:54px;padding-bottom:54px}.coffys-footer__brand-col{grid-column:1/-1}.coffys-footer__contact-col{grid-column:1/-1}.coffys-footer__brand-col>p{font-size:11px}
  .coffys-mobile__inner{padding-top:100px}.admin-bar .coffys-mobile__inner{padding-top:126px}.coffys-mobile__nav a{min-height:59px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.coffys-header,.coffys-header *, .coffys-footer *{transition:none!important}}

/* =========================================================
   V2 — MOBILE MINI APP NAVIGATION
   ========================================================= */
.coffys-mobile-dock{display:none}

@media(max-width:900px){
  /* Le mobile reste volontairement opaque, même sur la home. */
  .coffys-header,
  .home .coffys-header,
  .front-page .coffys-header,
  .coffys-header.is-scrolled,
  .home .coffys-header.is-scrolled,
  .front-page .coffys-header.is-scrolled{
    background:#070707!important;
    background-image:none!important;
    border-bottom-color:var(--co-line)!important;
    box-shadow:0 10px 30px rgba(0,0,0,.22);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }

  /* Le panneau mobile possède son propre fond plein écran. */
  .coffys-mobile{
    position:fixed;
    inset:0;
    z-index:10010;
    overflow-y:auto;
    visibility:hidden;
    opacity:0;
    background:#070707!important;
    background-color:#070707!important;
    background-image:none!important;
    color:#fff;
    isolation:isolate;
  }
  .coffys-mobile::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    min-height:100%;
    background:#070707;
    pointer-events:none;
  }
  .coffys-mobile.is-open{visibility:visible;opacity:1}
  .coffys-mobile__inner{
    position:relative;
    z-index:1;
    width:min(90vw,760px);
    min-height:100svh;
    padding:96px 0 118px;
    background:#070707;
  }
  .admin-bar .coffys-mobile__inner{padding-top:122px}

  /* La barre basse devient le contrôle principal en mobile. */
  .coffys-header__toggle{display:none!important}
  .coffys-mobile-dock{
    position:fixed;
    right:12px;
    bottom:max(10px,env(safe-area-inset-bottom));
    left:12px;
    z-index:10030;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    min-height:66px;
    padding:6px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:18px;
    background:rgba(10,10,10,.96);
    box-shadow:0 18px 50px rgba(0,0,0,.42);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }
  .coffys-mobile-dock__item{
    position:relative;
    min-width:0;
    min-height:54px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    padding:5px 3px;
    border:0;
    border-radius:13px;
    background:transparent;
    color:rgba(255,255,255,.78);
    font:600 8px/1 var(--co-sans);
    letter-spacing:.08em;
    text-decoration:none;
    text-transform:uppercase;
    cursor:pointer;
    transition:background .2s ease,color .2s ease,transform .2s ease;
    -webkit-tap-highlight-color:transparent;
  }
  .coffys-mobile-dock__item:hover,
  .coffys-mobile-dock__item:focus-visible,
  .coffys-mobile-dock__item[aria-expanded="true"]{
    background:rgba(255,255,255,.09);
    color:#fff;
  }
  .coffys-mobile-dock__item:active{transform:translateY(1px)}
  .coffys-mobile-dock__item svg{
    width:21px;
    height:21px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.5;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .coffys-mobile-dock__cart-wrap{position:relative;display:inline-flex}
  .coffys-mobile-dock__count{
    position:absolute;
    top:-7px;
    right:-10px;
    min-width:17px;
    height:17px;
    padding:0 4px;
    display:grid;
    place-items:center;
    border-radius:999px;
    background:var(--co-bronze);
    color:#080808;
    font-size:8px;
    font-weight:800;
    line-height:1;
  }
  .coffys-footer{padding-bottom:88px}
}

@media(max-width:390px){
  .coffys-mobile-dock{right:8px;left:8px;padding:5px}
  .coffys-mobile-dock__item{font-size:7px;letter-spacing:.05em}
  .coffys-mobile-dock__item svg{width:20px;height:20px}
}


/* =========================================================
   V3 — CONFIG BUTTONS + FOOTER MOBILE 2 COLONNES
   ========================================================= */
:root{
  --co-button:var(--sy-button,var(--sy-primary,#b79c86));
  --co-button-hover:var(--sy-button-hover,var(--sy-primary,#c8ad96));
  --co-button-text:var(--sy-button-text,#fff);
}

.coffys-btn--light{
  background:var(--co-button);
  border-color:var(--co-button);
  color:var(--co-button-text);
}
.coffys-btn--light:hover{
  background:var(--co-button-hover);
  border-color:var(--co-button-hover);
  color:var(--co-button-text);
}
.coffys-btn--ghost,
.coffys-btn--outline{
  border-color:var(--co-button);
}
.coffys-btn--ghost:hover,
.coffys-btn--outline:hover{
  background:var(--co-button);
  border-color:var(--co-button);
  color:var(--co-button-text);
}
.coffys-mobile-dock__count{
  background:var(--co-button);
  color:var(--co-button-text);
}

@media(max-width:620px){
  .coffys-footer__main{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:42px 24px;
    padding-top:50px;
    padding-bottom:50px;
  }
  .coffys-footer__brand-col,
  .coffys-footer__contact-col{
    grid-column:auto;
    min-width:0;
  }
  .coffys-footer__logo img{
    width:72px;
    height:72px;
  }
  .coffys-footer__brand-col>p{
    max-width:100%;
    margin:18px 0;
    font-size:10px;
    line-height:1.7;
  }
  .coffys-footer__nav-col,
  .coffys-footer__contact-col{
    gap:10px;
    padding-top:0;
  }
  .coffys-footer__title{
    margin-bottom:14px;
  }
  .coffys-footer__whatsapp{
    font-size:8px;
    line-height:1.5;
  }
  .coffys-footer__bottom{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px 20px;
    padding:24px 0 30px;
  }
  .coffys-footer__bottom>p{
    grid-column:1/-1;
  }
  .coffys-footer__bottom nav{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px 18px;
  }
  .coffys-footer__credit{
    grid-column:1/-1;
    justify-self:start;
  }
}
