
  :root{
    --bleu: #123642;
    --bleu-clair: #1c5a6b;
    --sable: #f3ead9;
    --rouge: #c1432e;
    --blanc: #fffdf9;
    --texte: #2c3a3e;
    --bordure: #e3d8c3;
  }
  *{ box-sizing:border-box; margin:0; padding:0; }
  html{scroll-behavior:smooth;}
  body{ font-family:'Work Sans', sans-serif; color:var(--texte); background:var(--blanc); }
  h1,h2,h3{ font-family:'Fraunces', serif; }
  a{ color:inherit; }

  header.top{
    background:var(--bleu); color:var(--blanc); padding:16px 5vw;
    display:flex; align-items:center; justify-content:space-between;
    position:sticky; top:0; z-index:40;
  }
  .logo{ font-family:'Fraunces', serif; font-weight:700; font-size:1.15rem; }
  .logo small{ display:block; font-family:'Work Sans'; font-weight:400; font-size:0.7rem; opacity:0.7; letter-spacing:0.08em; }
  .cart-btn{
    background:var(--rouge); color:var(--blanc); border:none; padding:10px 18px; border-radius:4px;
    font-weight:600; font-size:0.9rem; cursor:pointer; display:flex; align-items:center; gap:8px;
  }
  .cart-count{ background:var(--blanc); color:var(--rouge); border-radius:50%; width:20px; height:20px; display:flex; align-items:center; justify-content:center; font-size:0.75rem; }

  .hero{
    background:linear-gradient(160deg, #f7efe2 0%, #fffdf9 100%);
    color:var(--bleu);
    padding:34px 5vw 46px;
    text-align:center;
    border-bottom:6px solid var(--rouge);
  }
  .hero-logo{
    display:block;
    width:min(430px, 86vw);
    height:auto;
    margin:0 auto 18px;
  }
  .hero h1{ font-size:clamp(2rem,5vw,3rem); margin-bottom:10px; }
  .hero p{ opacity:0.78; max-width:520px; margin:0 auto; font-size:0.98rem; }
  .hero .badges{ display:flex; gap:10px; justify-content:center; margin-top:22px; flex-wrap:wrap; font-size:0.82rem; }
  .hero .badges span{ background:#ffffff; border:1px solid var(--bordure); padding:7px 14px; border-radius:20px; }

  .infostrip{ display:flex; flex-wrap:wrap; justify-content:center; background:var(--sable); font-size:0.85rem; text-align:center; }
  .infostrip div{ padding:12px 24px; border-right:1px solid var(--bordure); }
  .infostrip div:last-child{ border-right:none; }

  main{ max-width:820px; margin:0 auto; padding:50px 5vw; }
  #menu{scroll-margin-top:90px;}
  .cat{ margin-bottom:38px; }
  .cat h2{ font-size:1.35rem; color:var(--bleu); margin-bottom:16px; padding-bottom:8px; border-bottom:2px solid var(--rouge); display:inline-block; }
  .item{ display:flex; justify-content:space-between; gap:16px; padding:14px 0; border-bottom:1px solid var(--bordure); }
  .item-info h3{ font-size:1rem; font-weight:600; font-family:'Work Sans'; margin-bottom:4px; }
  .item-info p{ font-size:0.83rem; color:#66757a; max-width:400px; }
  .item-info .tag{ display:inline-block; margin-top:6px; font-size:0.68rem; text-transform:uppercase; letter-spacing:0.05em; color:var(--rouge); font-weight:600; }
  .item-right{ display:flex; align-items:center; gap:14px; flex-shrink:0; }
  .price{ font-weight:600; color:var(--bleu); white-space:nowrap; }
  .add-btn{ width:34px; height:34px; border-radius:50%; border:1.5px solid var(--rouge); background:var(--blanc); color:var(--rouge); font-size:1.2rem; cursor:pointer; transition:.15s; }
  .add-btn:hover{ background:var(--rouge); color:var(--blanc); }
  .loading{ text-align:center; opacity:0.5; padding:40px 0; }

  footer{ background:var(--bleu); color:var(--blanc); padding:44px 5vw 26px; margin-top:20px; }
  .footer-grid{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:30px; max-width:820px; margin:0 auto 30px; font-size:0.88rem; }
  .footer-grid h4{ color:var(--rouge); font-size:0.95rem; margin-bottom:10px; font-family:'Work Sans'; }
  .footer-grid p{ opacity:0.85; line-height:1.7; }
  .footer-bottom{ text-align:center; font-size:0.75rem; opacity:0.5; border-top:1px solid rgba(255,255,255,0.15); padding-top:18px; max-width:820px; margin:0 auto; }

  .overlay{ position:fixed; inset:0; background:rgba(18,54,66,0.45); opacity:0; pointer-events:none; transition:.25s; z-index:60; }
  .overlay.open{ opacity:1; pointer-events:auto; }
  .drawer{ position:fixed; top:0; right:0; bottom:0; width:min(420px,92vw); background:var(--blanc); z-index:70; transform:translateX(100%); transition:.3s ease; display:flex; flex-direction:column; box-shadow:-8px 0 30px rgba(0,0,0,0.25); }
  .drawer.open{ transform:translateX(0); }
  .drawer-head{ background:var(--bleu); color:var(--blanc); padding:18px 22px; display:flex; justify-content:space-between; align-items:center; }
  .drawer-head button{ background:none; border:none; color:var(--blanc); font-size:1.4rem; cursor:pointer; }
  .drawer-body{ flex:1; overflow-y:auto; padding:18px 22px; }
  .cart-line{ display:flex; justify-content:space-between; align-items:center; padding:12px 0; border-bottom:1px solid var(--bordure); }
  .cart-line .name{ font-size:0.92rem; font-weight:600; }
  .cart-line .sub{ font-size:0.78rem; color:#66757a; }
  .qty-ctrl{ display:flex; align-items:center; gap:8px; }
  .qty-ctrl button{ width:24px; height:24px; border-radius:50%; border:1px solid var(--bleu); background:none; cursor:pointer; }
  .empty-cart{ text-align:center; opacity:0.5; padding:40px 0; font-size:0.95rem; }

  .checkout-form{ margin-top:20px; border-top:1px solid var(--bordure); padding-top:18px; display:none; }
  .checkout-form.visible{ display:block; }
  .checkout-form label{ display:block; font-size:0.8rem; font-weight:600; margin-bottom:5px; margin-top:12px; }
  .checkout-form input, .checkout-form textarea{
    width:100%; padding:9px 10px; border:1px solid var(--bordure); border-radius:4px; font-family:inherit; font-size:0.9rem;
  }
  .pickup-time-box{margin-top:14px;padding:13px;border:1px solid var(--bordure);border-radius:8px;background:#fffdf8;}
  .pickup-time-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px;}
  .pickup-time-title strong{font-size:.86rem;color:var(--bleu);}
  .pickup-time-title small{font-size:.68rem;color:#6e7777;}
  .pickup-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;}
  .pickup-slot{border:1px solid #cfc8be;background:#fff;color:var(--bleu);padding:9px 5px;border-radius:6px;font:700 .78rem inherit;cursor:pointer;transition:.15s ease;}
  .pickup-slot:hover{border-color:var(--bleu);}
  .pickup-slot.active{background:var(--bleu);color:#fff;border-color:var(--bleu);}
  .pickup-slot:disabled{opacity:.32;cursor:not-allowed;background:#eeeae4;}
  .pickup-time-message{font-size:.72rem;color:#687577;margin:8px 0 0;line-height:1.4;}
  .pickup-time-message.closed{color:var(--rouge);font-weight:700;}
  @media(max-width:430px){.pickup-slots{grid-template-columns:repeat(3,1fr);}}
  .pay-options{ display:flex; gap:10px; margin-top:8px; }
  .pay-options label{
    flex:1; border:1.5px solid var(--bordure); border-radius:6px; padding:10px; text-align:center;
    font-size:0.82rem; font-weight:500; cursor:pointer; margin:0;
  }
  .pay-options input{ display:none; }
  .pay-options input:checked + span{ color:var(--rouge); font-weight:700; }
  .pay-options label:has(input:checked){ border-color:var(--rouge); background:#fdf1ee; }
  .form-error{ color:var(--rouge); font-size:0.82rem; margin-top:10px; display:none; }
  .promo-box{margin-top:14px;padding:12px;border:1px dashed var(--rouge);border-radius:8px;background:#fff8f4;}
  .promo-row{display:flex;gap:8px;align-items:center;}
  .promo-row input{flex:1;text-transform:uppercase;font-weight:700;letter-spacing:.05em;margin:0;}
  .promo-row button{border:0;border-radius:6px;background:var(--bleu);color:#fff;padding:10px 12px;font-weight:800;cursor:pointer;white-space:nowrap;}
  .promo-msg{font-size:.78rem;margin-top:7px;line-height:1.35;color:#66757a;}
  .promo-msg.ok{color:#20733b;font-weight:700;}
  .promo-msg.bad{color:var(--rouge);font-weight:700;}
  .discount-row{display:none;justify-content:space-between;font-weight:800;font-size:.92rem;color:#20733b;margin:0 0 9px;}

  .sept20-banner{background:#f4c84a;color:#0c3541;padding:12px 18px;text-align:center;font-weight:950;letter-spacing:.02em;border-bottom:2px solid #0c3541;position:relative;z-index:35;}
  .sept20-banner strong{font-size:1.15rem;color:#df432a;margin-right:7px;}
  .sept20-banner .sept20-code{display:inline-block;background:#0c3541;color:#fff;padding:4px 9px;border-radius:999px;margin:0 6px;font-size:.88rem;}
  .sept20-banner a{color:#0c3541;text-decoration:underline;text-underline-offset:2px;white-space:nowrap;}
  @media(max-width:600px){.sept20-banner{font-size:.78rem;padding:10px 12px;line-height:1.45}.sept20-banner strong{font-size:1rem;display:block;margin:0 0 2px}.sept20-banner .sept20-code{font-size:.78rem}}

  .drawer-foot{ padding:18px 22px 24px; border-top:1px solid var(--bordure); }
  .total-row{ display:flex; justify-content:space-between; font-weight:700; font-size:1.2rem; margin-bottom:14px; color:var(--bleu); }
  .checkout-btn{ width:100%; padding:14px; background:var(--rouge); color:var(--blanc); border:none; border-radius:4px; font-weight:600; font-size:0.95rem; cursor:pointer; }
  .checkout-btn:disabled{ opacity:0.6; cursor:default; }
  .checkout-note{ font-size:0.72rem; opacity:0.55; text-align:center; margin-top:8px; }
  .basket-goal{display:none;margin:12px 0 4px;padding:10px 12px;background:#fff8e5;border:1px solid #e7c963;border-radius:8px;color:var(--bleu);font-size:.75rem;font-weight:700}.basket-goal.show{display:block}.upsell-box{display:none;margin:14px 0;padding:13px;background:#f8f1e7;border:1px solid var(--bordure);border-radius:9px}.upsell-box.show{display:block}.upsell-box h4{margin:0 0 9px;color:var(--bleu);font-size:.85rem}.upsell-list{display:grid;gap:7px}.upsell-item{display:flex;justify-content:space-between;align-items:center;gap:10px;background:white;border:1px solid var(--bordure);border-radius:7px;padding:8px 9px}.upsell-item span{font-size:.74rem;font-weight:700}.upsell-item button{border:0;background:var(--rouge);color:#fff;border-radius:5px;padding:7px 9px;font-weight:800;cursor:pointer}.local-seo-order{max-width:820px;margin:22px auto 38px;padding:18px 5vw;border-top:1px solid var(--bordure);border-bottom:1px solid var(--bordure)}.local-seo-order h2{font-size:1.25rem;color:var(--bleu);margin-bottom:6px}.local-seo-order p{font-size:.82rem;line-height:1.6;color:#536267}

  .toast{ position:fixed; bottom:24px; left:50%; transform:translateX(-50%) translateY(20px); background:var(--bleu); color:var(--blanc); padding:12px 22px; border-radius:30px; font-size:0.85rem; opacity:0; pointer-events:none; transition:.3s; z-index:80; max-width:80vw; }
  .toast.show{ opacity:1; transform:translateX(-50%) translateY(0); }


  .menu-modal{ position:fixed; inset:0; z-index:90; display:none; align-items:center; justify-content:center; padding:18px; background:rgba(18,54,66,.72); }
  .menu-modal.open{ display:flex; }
  .menu-card{ width:min(520px,100%); max-height:90vh; overflow-y:auto; background:var(--blanc); border-radius:12px; box-shadow:0 20px 60px rgba(0,0,0,.3); }
  .menu-card-head{ background:var(--bleu); color:var(--blanc); padding:18px 20px; display:flex; justify-content:space-between; align-items:center; position:sticky; top:0; z-index:2; }
  .menu-card-head button{ border:0; background:none; color:var(--blanc); font-size:1.5rem; cursor:pointer; }
  .menu-card-body{ padding:20px; }
  .choice-group{ margin-bottom:22px; }
  .choice-group h4{ color:var(--bleu); margin-bottom:10px; }
  .choice-list{ display:grid; gap:8px; }
  .choice-list label{ display:flex; align-items:center; gap:10px; padding:11px 12px; border:1.5px solid var(--bordure); border-radius:8px; cursor:pointer; }
  .choice-list label:has(input:checked){ border-color:var(--rouge); background:#fdf1ee; }
  .choice-list input{ accent-color:var(--rouge); }
  .menu-add{ width:100%; padding:14px; border:0; border-radius:6px; background:var(--rouge); color:var(--blanc); font-weight:700; cursor:pointer; }
  .menu-choice-error{ color:var(--rouge); font-size:.82rem; margin:0 0 12px; display:none; }

  @media (max-width:600px){ .footer-grid{ grid-template-columns:1fr; } }
  :focus-visible{ outline:3px solid var(--rouge); outline-offset:2px; }

  .seo-intro{max-width:820px;margin:0 auto;padding:38px 5vw 8px;text-align:left;}
  .seo-intro h2{color:var(--bleu);font-size:1.55rem;margin-bottom:12px;}
  .seo-intro p{line-height:1.7;color:#536267;margin-bottom:10px;}
  .seo-points{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px;}
  .seo-point{border:1px solid var(--bordure);background:#fff;padding:16px;border-radius:8px;}
  .seo-point strong{display:block;color:var(--bleu);margin-bottom:5px;}
  .menu-heading{max-width:820px;margin:0 auto;padding:30px 5vw 0;}
  .menu-heading h2{color:var(--bleu);font-size:1.65rem;}
  .faq{max-width:820px;margin:0 auto;padding:10px 5vw 45px;}
  .faq h2{color:var(--bleu);font-size:1.45rem;margin-bottom:15px;}
  .faq details{border-top:1px solid var(--bordure);padding:14px 0;}
  .faq summary{font-weight:700;cursor:pointer;color:var(--bleu);}
  .faq details p{padding-top:9px;line-height:1.6;color:#536267;}
  @media (max-width:700px){.seo-points{grid-template-columns:1fr;}}


  .hero-cta{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:22px;}
  .hero-cta a{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:6px;font-weight:700;text-decoration:none;}
  .hero-cta .primary{background:var(--rouge);color:var(--blanc);}
  .hero-cta .secondary{border:1px solid var(--bleu);color:var(--bleu);background:#fff;}
  .hook-line{font-family:'Fraunces',serif;font-size:1.15rem;color:var(--rouge);font-weight:700;margin-top:15px;}

  .brand-name{max-width:360px;line-height:1.05;}
  @media (max-width:520px){
    .brand-name{font-size:1.15rem;max-width:230px;}
    .brand-sub{font-size:.72rem;letter-spacing:.12em;}
  }

  .hours-section{max-width:820px;margin:0 auto;padding:10px 5vw 30px;}
  .hours-section h2{color:var(--bleu);font-size:1.45rem;margin-bottom:15px;}
  .hours-card{border:1px solid var(--bordure);background:#fff;border-radius:8px;padding:8px 18px;}
  .hours-card div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--bordure);}
  .hours-card div:last-child{border-bottom:0;}
  .hours-card strong{color:var(--bleu);}
  .hours-card span{font-weight:700;}
  @media (max-width:520px){.hours-card div{align-items:flex-start;flex-direction:column;gap:3px;}}


  .highlights{max-width:1180px;margin:0 auto;padding:48px 5vw 20px;}
  .highlights-head{text-align:center;max-width:760px;margin:0 auto 28px;}
  .highlights-wave{display:block;color:var(--rouge);font-size:2rem;font-weight:800;line-height:1;}
  .highlights-head h2{color:var(--bleu);font-size:clamp(1.8rem,4vw,2.8rem);margin:6px 0 8px;}
  .highlights-head p{color:#58666a;line-height:1.6;}
  .highlight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .highlight-card{display:block;overflow:hidden;border:1px solid var(--bordure);border-radius:14px;background:#fff;box-shadow:0 12px 30px rgba(18,54,66,.09);transition:transform .2s ease,box-shadow .2s ease;text-decoration:none;color:inherit;cursor:pointer;}
  .highlight-card:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(18,54,66,.14);}
  .highlight-image{
    height:230px;
    padding:14px;
    background:#f7efe2;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
  }
  .highlight-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    border-radius:10px;
  }
  .highlight-content{padding:22px 22px 25px;}
  .highlight-accent{display:block;color:var(--rouge);font-size:1.4rem;font-weight:800;line-height:1;margin-bottom:5px;}
  .highlight-content h3{color:var(--bleu);font-size:1.35rem;line-height:1.2;margin:0 0 12px;}
  .highlight-content p{color:#4f5d61;line-height:1.55;margin:0;}
  .highlight-link{display:inline-block;margin-top:14px;color:var(--rouge);font-weight:700;font-size:.9rem;}
  @media(max-width:850px){
    .highlight-grid{grid-template-columns:1fr;max-width:620px;margin:0 auto}
    .highlight-image{height:220px}
  }


  .about-cabane{
    scroll-margin-top:90px;
    background:linear-gradient(135deg,#123642 0%,#174957 100%);
    color:#fffdf9;
    padding:64px 5vw;
  }
  .about-cabane-inner{
    max-width:900px;
    margin:0 auto;
    text-align:center;
  }
  .about-cabane-kicker{
    color:#ef7c67;
    text-transform:uppercase;
    letter-spacing:.16em;
    font-size:.78rem;
    font-weight:700;
    margin-bottom:12px;
  }
  .about-cabane h2{
    font-size:clamp(2rem,5vw,3.3rem);
    margin-bottom:20px;
  }
  .about-cabane p{
    max-width:760px;
    margin:0 auto 14px;
    line-height:1.75;
    color:rgba(255,253,249,.86);
  }
  .about-cabane .about-lead{
    font-size:1.08rem;
    color:#fffdf9;
    font-weight:600;
  }
  .about-values{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
    margin:32px 0;
    text-align:left;
  }
  .about-value{
    padding:20px;
    border:1px solid rgba(255,255,255,.18);
    background:rgba(255,255,255,.06);
    border-radius:12px;
  }
  .about-value strong{
    display:block;
    color:#ef7c67;
    margin-bottom:8px;
    font-size:1rem;
  }
  .about-value span{
    color:rgba(255,253,249,.82);
    line-height:1.5;
    font-size:.9rem;
  }
  .about-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:var(--rouge);
    color:var(--blanc);
    text-decoration:none;
    padding:13px 20px;
    border-radius:6px;
    font-weight:700;
  }
  @media(max-width:760px){
    .about-cabane{padding:48px 5vw;}
    .about-values{grid-template-columns:1fr;text-align:center;}
  }


  .top-actions{display:flex;align-items:center;gap:10px;}
  .contact-nav{
    color:var(--blanc);
    text-decoration:none;
    border:1px solid rgba(255,255,255,.45);
    padding:9px 14px;
    border-radius:5px;
    font-weight:700;
    font-size:.85rem;
  }
  .contact-nav:hover{background:rgba(255,255,255,.1);}
  .contact-section{
    scroll-margin-top:88px;
    background:linear-gradient(145deg,#f3ead9 0%,#fffdf9 100%);
    padding:60px 5vw;
    border-top:1px solid var(--bordure);
  }
  .contact-wrap{
    max-width:1050px;
    margin:0 auto;
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:36px;
    align-items:start;
  }
  .contact-copy .eyebrow{
    color:var(--rouge);
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:.75rem;
    margin-bottom:10px;
  }
  .contact-copy h2{
    color:var(--bleu);
    font-size:clamp(2rem,4vw,3rem);
    margin-bottom:16px;
  }
  .contact-copy p{
    line-height:1.7;
    color:#536267;
    margin-bottom:14px;
  }
  .event-types{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:20px;
  }
  .event-types span{
    background:#fff;
    color:var(--bleu);
    border:1px solid var(--bordure);
    border-radius:30px;
    padding:8px 12px;
    font-size:.82rem;
    font-weight:700;
  }
  .quote-form{
    background:#fff;
    border:1px solid var(--bordure);
    border-radius:14px;
    padding:26px;
    box-shadow:0 14px 35px rgba(18,54,66,.09);
  }
  .form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px;
  }
  .form-field{display:flex;flex-direction:column;gap:6px;}
  .form-field.full{grid-column:1/-1;}
  .form-field label{
    color:var(--bleu);
    font-weight:700;
    font-size:.84rem;
  }
  .form-field input,
  .form-field select,
  .form-field textarea{
    width:100%;
    border:1px solid var(--bordure);
    border-radius:7px;
    padding:11px 12px;
    font:inherit;
    color:var(--texte);
    background:#fff;
  }
  .form-field textarea{resize:vertical;min-height:125px;}
  .consent-row{
    grid-column:1/-1;
    display:flex;
    align-items:flex-start;
    gap:9px;
    font-size:.78rem;
    line-height:1.45;
    color:#637176;
  }
  .consent-row input{margin-top:3px;accent-color:var(--rouge);}
  .quote-submit{
    grid-column:1/-1;
    border:0;
    border-radius:7px;
    padding:14px 18px;
    background:var(--rouge);
    color:#fff;
    font-weight:800;
    font-size:.95rem;
    cursor:pointer;
  }
  .quote-submit:disabled{opacity:.6;cursor:wait;}
  .quote-status{
    grid-column:1/-1;
    display:none;
    border-radius:7px;
    padding:11px 12px;
    font-size:.86rem;
    line-height:1.45;
  }
  .quote-status.success{display:block;background:#e9f6ed;color:#205f35;}
  .quote-status.error{display:block;background:#fdecea;color:#8b2e22;}
  @media(max-width:760px){
    .top{gap:10px;}
    .top-actions{gap:7px;}
    .contact-nav{font-size:.72rem;padding:8px 9px;}
    .cart-btn{padding:9px 11px;}
    .contact-wrap{grid-template-columns:1fr;}
    .form-grid{grid-template-columns:1fr;}
    .form-field.full,.consent-row,.quote-submit,.quote-status{grid-column:1;}
  }


  .loyalty-home{
    background:var(--bleu);
    color:#fff;
    padding:48px 5vw;
  }
  .loyalty-home-inner{
    max-width:1050px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
  }
  .loyalty-home-kicker{
    color:#ef7c67;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:.75rem;
    margin-bottom:8px;
  }
  .loyalty-home h2{
    color:#fff;
    font-size:clamp(2rem,4vw,3rem);
    margin:0 0 12px;
  }
  .loyalty-home p{
    margin:0 0 18px;
    color:#dce8e8;
    line-height:1.6;
  }
  .loyalty-home-benefits{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }
  .loyalty-home-benefits span{
    border:1px solid rgba(255,255,255,.28);
    border-radius:30px;
    padding:8px 12px;
    font-size:.82rem;
    font-weight:700;
  }
  .loyalty-home-button{
    flex:0 0 auto;
    background:var(--rouge);
    color:#fff;
    text-decoration:none;
    font-weight:800;
    padding:14px 18px;
    border-radius:8px;
    text-align:center;
  }
  @media(max-width:760px){
    .loyalty-home-inner{flex-direction:column;align-items:flex-start;}
    .loyalty-home-button{width:100%;}
  }


  .top{
    position:sticky;
    top:0;
    z-index:40;
    min-height:78px;
    padding:10px 4vw;
    background:var(--bleu);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    box-shadow:0 5px 18px rgba(0,0,0,.14);
  }
  .brand{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
    color:#fff;
    text-decoration:none;
  }
  .brand img{
    width:58px;
    height:50px;
    object-fit:contain;
    flex:0 0 auto;
  }
  .brand-text{
    display:flex;
    flex-direction:column;
    min-width:0;
  }
  .brand-text strong{
    font-size:1.08rem;
    line-height:1.05;
  }
  .brand-text small{
    margin-top:3px;
    opacity:.75;
    font-size:.72rem;
    white-space:nowrap;
  }
  .desktop-nav{
    display:flex;
    align-items:center;
    gap:20px;
    margin-left:auto;
  }
  .desktop-nav a{
    color:#fff;
    text-decoration:none;
    font-weight:700;
    font-size:.84rem;
    white-space:nowrap;
  }
  .desktop-nav a:hover{color:#ef7c67;}
  .hero-logo{
    width:min(300px,72vw)!important;
    height:auto!important;
    max-height:210px;
    object-fit:contain;
    margin-bottom:14px;
  }
  .hero{
    padding-top:42px!important;
    padding-bottom:42px!important;
  }
  .hero h1{
    max-width:780px;
    margin-left:auto;
    margin-right:auto;
    line-height:1.08;
  }
  .hero p{
    max-width:650px!important;
    line-height:1.6;
  }
  .hero-cta a{
    min-height:48px;
    min-width:190px;
  }
  .mobile-bottom-nav{display:none;}

  @media(max-width:900px){
    .desktop-nav{display:none;}
    .top{min-height:70px;padding:8px 14px;}
    .brand img{width:50px;height:44px;}
    .brand-text strong{font-size:1rem;}
    .brand-text small{font-size:.66rem;}
    .cart-btn{padding:9px 12px;font-size:.78rem;}
    body{padding-bottom:72px;}
    .mobile-bottom-nav{
      position:fixed;
      left:0;
      right:0;
      bottom:0;
      z-index:80;
      display:grid;
      grid-template-columns:repeat(4,1fr);
      align-items:stretch;
      background:#fff;
      border-top:1px solid var(--bordure);
      box-shadow:0 -5px 18px rgba(18,54,66,.12);
      padding-bottom:env(safe-area-inset-bottom);
    }
    .mobile-bottom-nav a{
      min-height:58px;
      display:flex;
      align-items:center;
      justify-content:center;
      text-align:center;
      color:var(--bleu);
      text-decoration:none;
      font-weight:800;
      font-size:.72rem;
      padding:8px 4px;
    }
    .mobile-bottom-nav .mobile-order{
      background:var(--rouge);
      color:#fff;
    }
    .hero{
      padding:28px 18px 32px!important;
    }
    .hero h1{
      font-size:clamp(2rem,10vw,3rem)!important;
      line-height:1.02;
    }
    .hero p{font-size:.95rem!important;}
    .hero .badges{
      gap:7px!important;
      margin-top:17px!important;
    }
    .hero .badges span{
      padding:6px 10px!important;
      font-size:.72rem!important;
    }
    .hero-cta{
      display:grid!important;
      grid-template-columns:1fr;
      width:100%;
      max-width:420px;
      margin:20px auto 0!important;
    }
    .hero-cta a{
      width:100%;
      min-height:50px;
    }
    main{padding-left:16px!important;padding-right:16px!important;}
    .highlight-grid{grid-template-columns:1fr!important;}
    .highlight-card{max-width:520px;margin:0 auto;width:100%;}
    .about-cabane,.contact-section,.loyalty-home{padding-left:18px!important;padding-right:18px!important;}
  }

  @media(max-width:420px){
    .brand-text small{display:none;}
    .brand img{width:46px;height:40px;}
    .cart-btn{font-size:.72rem;padding:8px 10px;}
    .hero-logo{width:min(245px,76vw)!important;}
    .hero h1{font-size:2.15rem!important;}
  }


  .instagram-nav{color:#ef7c67!important;}
  .instagram-home{
    background:#fffdf9;
    border-top:1px solid var(--bordure);
    border-bottom:1px solid var(--bordure);
    padding:38px 5vw;
  }
  .instagram-home-inner{
    max-width:1050px;
    margin:0 auto;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:20px;
  }
  .instagram-icon{
    width:58px;
    height:58px;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:2.25rem;
    font-weight:900;
    color:#fff;
    background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045);
  }
  .instagram-home-kicker{
    color:var(--rouge);
    font-size:.74rem;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
    margin-bottom:5px;
  }
  .instagram-home h2{
    color:var(--bleu);
    margin:0 0 7px;
    font-size:clamp(1.45rem,3vw,2.2rem);
  }
  .instagram-home p{
    margin:0;
    color:#5e6c70;
    line-height:1.55;
  }
  .instagram-home-button{
    background:var(--bleu);
    color:#fff;
    text-decoration:none;
    font-weight:800;
    padding:13px 17px;
    border-radius:8px;
    white-space:nowrap;
  }
  footer a{color:inherit;}
  @media(max-width:760px){
    .instagram-home{padding:30px 18px;}
    .instagram-home-inner{
      grid-template-columns:auto 1fr;
      align-items:start;
    }
    .instagram-home-button{
      grid-column:1/-1;
      width:100%;
      text-align:center;
      margin-top:4px;
    }
  }


  .google-reviews{
    background:#f7f1e7;
    padding:56px 5vw;
    border-top:1px solid var(--bordure);
  }
  .google-reviews-inner{
    max-width:1050px;
    margin:0 auto;
  }
  .reviews-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:26px;
  }
  .reviews-kicker{
    color:var(--rouge);
    font-size:.75rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.12em;
    margin-bottom:8px;
  }
  .reviews-heading h2{
    color:var(--bleu);
    margin:0 0 10px;
    font-size:clamp(2rem,4vw,3rem);
  }
  .reviews-heading p{
    margin:0;
    color:#5d6a6f;
    line-height:1.6;
    max-width:670px;
  }
  .reviews-rating{
    flex:0 0 auto;
    background:#fff;
    border:1px solid var(--bordure);
    border-radius:14px;
    padding:16px 20px;
    min-width:170px;
    text-align:center;
    box-shadow:0 10px 25px rgba(18,54,66,.08);
  }
  .reviews-rating strong{
    display:block;
    color:var(--bleu);
    font-size:1.8rem;
  }
  .reviews-rating .stars{
    display:block;
    color:#f4b400;
    letter-spacing:.1em;
    margin:3px 0;
  }
  .reviews-rating small{
    color:#66757a;
  }
  .reviews-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
  }
  .review-card{
    background:#fff;
    border:1px solid var(--bordure);
    border-radius:14px;
    padding:22px;
    box-shadow:0 10px 25px rgba(18,54,66,.07);
  }
  .review-stars{
    color:#f4b400;
    letter-spacing:.08em;
    margin-bottom:12px;
  }
  .review-card p{
    color:#3f5157;
    line-height:1.62;
    margin:0 0 16px;
  }
  .review-card strong{
    display:block;
    color:var(--bleu);
    margin-bottom:3px;
  }
  .review-card span{
    color:#78868a;
    font-size:.8rem;
  }
  .reviews-actions{
    display:flex;
    justify-content:center;
    gap:12px;
    flex-wrap:wrap;
    margin-top:26px;
  }
  .reviews-button{
    text-decoration:none;
    font-weight:800;
    padding:13px 18px;
    border-radius:8px;
  }
  .primary-review{
    background:var(--rouge);
    color:#fff;
  }
  .secondary-review{
    border:1px solid var(--bleu);
    color:var(--bleu);
    background:#fff;
  }
  @media(max-width:760px){
    .google-reviews{padding:42px 18px;}
    .reviews-heading{
      flex-direction:column;
      align-items:stretch;
    }
    .reviews-rating{width:100%;}
    .reviews-grid{grid-template-columns:1fr;}
    .reviews-actions{display:grid;}
    .reviews-button{text-align:center;}
  }

.quote-form{position:relative}

/* CABANE V6 — compte client, historique & fidélité liée aux commandes */
.nav-account-link,.mobile-account-link{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
.desktop-nav .nav-account-link{font-size:.78rem;font-weight:600;text-decoration:none;letter-spacing:.01em}
.hero-cta button.secondary{appearance:none;cursor:pointer;font:inherit}
.account-choice{border:1px solid var(--bordure);padding:12px;margin:0 0 14px;background:#fffdfa}
.account-choice-title{font-size:.69rem;text-transform:uppercase;letter-spacing:.13em;font-weight:700;color:#5e6f73;margin-bottom:8px}
.account-choice-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.account-choice button{padding:9px 10px;border:1px solid #123642;background:#fff;color:#123642;font-size:.76rem;font-weight:700;cursor:pointer}
.account-choice button.primary{background:#123642;color:white}
.account-mini{display:none;border:1px solid #d8d0c3;background:#f8f1e7;padding:11px 12px;margin-bottom:12px;font-size:.78rem}
.account-mini.visible{display:flex;justify-content:space-between;align-items:center;gap:10px}
.account-mini strong{display:block;color:#123642}.account-mini small{color:#68777a}
.account-mini button{border:0;background:none;text-decoration:underline;font:inherit;font-size:.72rem;cursor:pointer}
#guestFields{display:none}#guestFields.visible{display:block}
.guest-warning{font-size:.69rem;color:#7c7065;line-height:1.45;margin:7px 0 0}
.account-overlay{position:fixed;inset:0;background:rgba(10,31,37,.66);z-index:2400;display:none;padding:18px;overflow:auto}
.account-overlay.open{display:flex;align-items:flex-start;justify-content:center}
.account-modal{width:min(760px,100%);margin:auto;background:#fffdf8;border:1px solid #cfc3b4;box-shadow:0 30px 90px rgba(0,0,0,.24)}
.account-head{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:16px 18px;border-bottom:1px solid #ddd3c7}
.account-head span{font-size:.65rem;text-transform:uppercase;letter-spacing:.15em;color:#6a7779}.account-head h2{margin:2px 0 0;font-size:1.35rem;color:#123642}
.account-close{border:0;background:none;font-size:1.8rem;line-height:1;cursor:pointer;color:#123642}
.account-body{padding:18px}
.account-auth-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:22px}
.account-panel{border-top:2px solid #123642;padding-top:12px}.account-panel h3{font-size:1rem;margin:0 0 5px;color:#123642}.account-panel p{font-size:.75rem;color:#69777a;margin:0 0 12px;line-height:1.5}
.account-form label{display:block;font-size:.7rem;font-weight:700;margin:9px 0 4px}.account-form input{width:100%;padding:9px 10px;border:1px solid #cfc6b9;background:white;font:inherit}
.account-check{display:flex!important;gap:8px;align-items:flex-start;font-weight:500!important;line-height:1.35}.account-check input{width:auto;margin-top:2px}.account-check a{color:#123642}
.account-submit{width:100%;margin-top:12px;padding:10px 12px;border:0;background:#e14832;color:#fff;font-weight:700;cursor:pointer}
.account-error{display:none;color:#b33022;font-size:.72rem;margin-top:8px}.account-error.show{display:block}
.demo-hint{display:none;background:#f4ead9;border:1px dashed #c0a987;padding:9px 10px;margin-bottom:12px;font-size:.72rem;line-height:1.45}.demo-hint.show{display:block}
.account-dashboard{display:none}.account-dashboard.visible{display:block}
.account-topline{display:grid;grid-template-columns:1.35fr .8fr .8fr;gap:10px;margin-bottom:18px}
.account-stat{padding:13px;border-top:2px solid #123642;background:#f7f0e6}.account-stat span{display:block;font-size:.63rem;text-transform:uppercase;letter-spacing:.11em;color:#6f7776}.account-stat strong{display:block;margin-top:4px;font-size:1.15rem;color:#123642}.account-stat small{display:block;margin-top:3px;font-size:.67rem;color:#737b7b}
.orders-title{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:15px 0 8px}.orders-title h3{margin:0;font-size:1rem;color:#123642}.orders-title small{font-size:.68rem;color:#767e7e}
.order-history{border-top:1px solid #cfc8be}.order-row{padding:12px 0;border-bottom:1px solid #ddd6cc;display:grid;grid-template-columns:95px 1fr auto;gap:12px;align-items:start}.order-date{font-size:.7rem;color:#687577}.order-info strong{display:block;color:#123642;font-size:.82rem}.order-info p{margin:3px 0 0;font-size:.7rem;color:#6e7777;line-height:1.45}.order-actions{text-align:right}.order-actions strong{display:block;font-size:.8rem;color:#123642;margin-bottom:5px}.reorder-btn{border:1px solid #123642;background:#123642;color:#fff;padding:7px 9px;font-size:.7rem;font-weight:700;cursor:pointer}.reorder-btn.secondary{background:white;color:#123642}
.account-logout{border:0;background:none;text-decoration:underline;font-size:.7rem;cursor:pointer;color:#6d7474;margin-top:14px}
@media(max-width:720px){.account-auth-grid{grid-template-columns:1fr}.account-topline{grid-template-columns:1fr 1fr}.account-stat:first-child{grid-column:1/-1}.order-row{grid-template-columns:70px 1fr}.order-actions{grid-column:2;text-align:left}.account-choice-actions{grid-template-columns:1fr}.account-modal{margin:0 auto}.account-overlay{padding:8px}.account-body{padding:14px}}

  .best-seller{
    max-width:1100px;
    margin:34px auto 28px;
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
    background:#fffaf1;
    border:1px solid var(--bordure);
    overflow:hidden;
  }
  .best-seller-photo{
    min-height:430px;
    background:#eee7db;
  }
  .best-seller-photo img{
    width:100%;
    height:100%;
    min-height:430px;
    display:block;
    object-fit:cover;
    object-position:center;
  }
  .best-seller-copy{
    padding:46px 42px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
  }
  .best-seller-kicker{
    display:inline-block;
    color:var(--rouge);
    border:1px solid var(--rouge);
    border-radius:999px;
    padding:6px 10px;
    font-size:.7rem;
    font-weight:800;
    letter-spacing:.16em;
    margin-bottom:18px;
  }
  .best-seller-copy h2{
    margin:0 0 10px;
    color:var(--bleu);
    font-family:'Fraunces',serif;
    font-size:clamp(2rem,4vw,3.4rem);
    line-height:.98;
    font-weight:700;
  }
  .best-seller-lead{
    margin:4px 0 9px;
    color:var(--bleu);
    font-size:1.05rem;
    font-weight:700;
  }
  .best-seller-desc{
    margin:0;
    max-width:430px;
    color:#52666b;
    line-height:1.6;
    font-size:.92rem;
  }
  .best-seller-bottom{
    width:100%;
    margin-top:28px;
    padding-top:22px;
    border-top:1px solid var(--bordure);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
  }
  .best-seller-bottom strong{
    color:var(--rouge);
    font-family:'Fraunces',serif;
    font-size:2rem;
  }
  .best-seller-btn{
    border:0;
    background:var(--bleu);
    color:white;
    padding:12px 18px;
    border-radius:4px;
    font:700 .82rem 'Work Sans',sans-serif;
    cursor:pointer;
  }
  .best-seller-btn:hover{ opacity:.9; }

  @media(max-width:760px){
    .best-seller{
      margin:22px 16px 24px;
      grid-template-columns:1fr;
    }
    .best-seller-photo,
    .best-seller-photo img{
      min-height:320px;
      height:320px;
    }
    .best-seller-copy{ padding:28px 22px 30px; }
    .best-seller-bottom{ align-items:center; }
  }



/* CABANE V2 — esthétique Marseille x snack new-yorkais */
:root{--v2-navy:#0b3440;--v2-red:#df432a;--v2-cream:#fff5e7;--v2-yellow:#f5c84b;--v2-ink:#102f39;--v2-line:#d8c8b2}
body{background:var(--v2-cream);color:var(--v2-ink)}
.top{background:rgba(11,52,64,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.16);box-shadow:none;padding:10px 5vw}
.brand img{filter:drop-shadow(0 4px 10px rgba(0,0,0,.16))}.brand-text strong{letter-spacing:.04em}.desktop-nav a{position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:2px;background:var(--v2-yellow);transition:.2s}.desktop-nav a:hover:after{right:0}
.cart-btn{border-radius:999px!important;background:var(--v2-red)!important;border:0!important;padding:11px 16px!important}
.hero{min-height:650px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:88px 7vw 70px;position:relative;overflow:hidden;background:var(--v2-navy);color:white;text-align:left!important}
.hero:before{content:"MARSEILLE 08";position:absolute;right:-20px;top:50px;font-size:clamp(70px,15vw,210px);font-weight:1000;line-height:.8;letter-spacing:-.08em;color:rgba(255,255,255,.045);white-space:nowrap;pointer-events:none}
.hero:after{content:"〰〰〰〰〰";position:absolute;right:5vw;bottom:35px;font-size:36px;letter-spacing:10px;color:var(--v2-yellow);transform:rotate(-4deg)}
.hero-logo{width:min(260px,48vw)!important;height:auto!important;margin:0 0 24px!important;filter:drop-shadow(0 10px 22px rgba(0,0,0,.2))}
.hero h1{max-width:850px;font-size:clamp(3rem,8vw,7rem)!important;line-height:.88!important;letter-spacing:-.055em!important;margin:0 0 22px!important;text-transform:uppercase}
.hero p{max-width:650px!important;font-size:clamp(1rem,2vw,1.25rem)!important;opacity:.9!important;margin:0!important}
.hero-cta{justify-content:flex-start!important;margin-top:28px!important}.hero-cta a{border-radius:999px!important;padding:14px 21px!important;font-weight:900!important}.hero-cta .primary{background:var(--v2-red)!important}.hero-cta .secondary{background:transparent!important;border:1px solid rgba(255,255,255,.5)!important;color:white!important}
.hook-line{margin-top:25px!important;font-size:.82rem!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:var(--v2-yellow)!important;font-weight:900!important}
.badges{justify-content:flex-start!important;gap:8px!important}.badges span{border:1px solid rgba(255,255,255,.22)!important;background:rgba(255,255,255,.07)!important;border-radius:999px!important;padding:8px 12px!important}
.infostrip{background:var(--v2-yellow)!important;color:var(--v2-ink)!important;border:0!important;font-weight:800!important;gap:20px!important;padding:12px 5vw!important}
.about-cabane,.highlights,.google-reviews,.contact-section,.loyalty-home,.hours-section,.faq,.instagram-home{max-width:1160px!important;margin:64px auto!important;padding-left:20px!important;padding-right:20px!important}
.about-cabane-inner,.loyalty-home-inner,.instagram-home-inner,.contact-wrap{border-radius:24px!important;overflow:hidden}
.about-cabane-inner{background:white!important;border:1px solid var(--v2-line)!important;padding:clamp(28px,5vw,58px)!important;box-shadow:0 18px 50px rgba(16,47,57,.08)!important}
.about-cabane-kicker,.reviews-kicker,.loyalty-home-kicker,.instagram-home-kicker,.contact-copy .eyebrow{letter-spacing:.16em!important;text-transform:uppercase!important;color:var(--v2-red)!important;font-weight:900!important;font-size:.76rem!important}
.about-cabane h2,.highlights h2,.google-reviews h2,.contact-section h2,.loyalty-home h2,.hours-section h2,.faq h2{font-size:clamp(2rem,4vw,4rem)!important;line-height:.95!important;letter-spacing:-.04em!important}
.about-values{gap:10px!important}.about-value{border-radius:16px!important;background:var(--v2-cream)!important;border:1px solid #ecdfce!important}
.highlight-grid{gap:15px!important}.highlight-card{border-radius:22px!important;overflow:hidden!important;border:1px solid var(--v2-line)!important;box-shadow:none!important;transition:transform .22s ease,box-shadow .22s ease!important}.highlight-card:hover{transform:translateY(-5px)!important;box-shadow:0 18px 38px rgba(16,47,57,.12)!important}.highlight-image{aspect-ratio:4/3!important}.highlight-image img{width:100%;height:100%;object-fit:cover!important}.highlight-link{color:var(--v2-red)!important;font-weight:900!important}
.discover-v2{max-width:1160px;margin:70px auto 34px;padding:0 20px}.discover-v2-head span{color:var(--v2-red);font-weight:900;letter-spacing:.14em;font-size:.75rem}.discover-v2-head h2{font-size:clamp(2.3rem,5vw,5rem);line-height:.9;letter-spacing:-.05em;margin:6px 0 10px}.discover-v2-head p{margin:0 0 22px}.discover-v2-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.discover-v2-grid a{min-height:190px;background:var(--v2-navy);color:white;text-decoration:none;border-radius:18px;padding:20px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.discover-v2-grid a:nth-child(2),.discover-v2-grid a:nth-child(4){background:var(--v2-red)}.discover-v2-grid a:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 100% 0,rgba(245,200,75,.28),transparent 42%)}.discover-v2-grid b{font-size:clamp(1.5rem,3vw,2.5rem);line-height:.9;letter-spacing:-.04em;z-index:1}.discover-v2-grid span,.discover-v2-grid em{z-index:1}.discover-v2-grid span{font-size:.84rem;opacity:.78;margin-top:8px}.discover-v2-grid em{font-style:normal;font-weight:900;margin-top:18px;color:var(--v2-yellow)}
.menu-heading{max-width:1160px!important;margin:70px auto 10px!important;text-align:left!important;padding:0 20px!important}.menu-heading h2{font-size:clamp(2.4rem,5vw,5rem)!important;line-height:.9!important;letter-spacing:-.05em!important}
#menu{max-width:1160px!important}.cat{background:white!important;border:1px solid var(--v2-line)!important;border-radius:22px!important;padding:22px!important;margin-bottom:14px!important}.cat h2{font-size:1rem!important;letter-spacing:.13em!important;text-transform:uppercase!important;color:var(--v2-red)!important}.item{border-bottom:1px dashed #dfd0bc!important;padding:17px 0!important}.item:last-child{border-bottom:0!important}.item-info h3{font-size:1.28rem!important}.price{color:var(--v2-red)!important;font-weight:1000!important}.add-btn{border-radius:999px!important;background:var(--v2-navy)!important;width:42px!important;height:42px!important}
.hours-card,.faq details,.review-card{border-radius:16px!important;border:1px solid var(--v2-line)!important;background:white!important;box-shadow:none!important}.reviews-rating{background:var(--v2-yellow)!important;color:var(--v2-ink)!important;border-radius:18px!important}.review-card{position:relative!important}.review-card:before{content:'“';position:absolute;right:15px;top:-12px;font-size:80px;color:rgba(223,67,42,.1);font-family:Georgia}
.loyalty-home-inner{background:var(--v2-red)!important;color:white!important;padding:36px!important}.loyalty-home-kicker{color:var(--v2-yellow)!important}.loyalty-home-button{background:var(--v2-yellow)!important;color:var(--v2-ink)!important;border-radius:999px!important}
.instagram-home-inner{background:var(--v2-navy)!important;color:white!important;padding:34px!important}.instagram-home-button{border-radius:999px!important;background:white!important;color:var(--v2-navy)!important}
.contact-wrap{background:white!important;border:1px solid var(--v2-line)!important;box-shadow:0 18px 50px rgba(16,47,57,.08)!important}.quote-form input,.quote-form select,.quote-form textarea{border-radius:10px!important;background:#fffdfa!important;border:1px solid #d7cab7!important}.quote-submit{border-radius:999px!important;background:var(--v2-red)!important}
footer{background:#082d37!important}.footer-grid{max-width:1160px!important}.footer-bottom{max-width:1160px!important}
.mobile-bottom-nav{background:rgba(11,52,64,.96)!important;backdrop-filter:blur(12px)!important;border-top:1px solid rgba(255,255,255,.15)!important}.mobile-bottom-nav a{color:white!important}
@media(max-width:850px){.discover-v2-grid{grid-template-columns:1fr 1fr}.hero{min-height:610px;padding:70px 24px 60px}.hero:after{font-size:22px}.about-cabane,.highlights,.google-reviews,.contact-section,.loyalty-home,.hours-section,.faq,.instagram-home{margin:44px auto!important}}
@media(max-width:540px){.discover-v2-grid{grid-template-columns:1fr}.discover-v2-grid a{min-height:145px}.hero h1{font-size:clamp(3.1rem,15vw,5.2rem)!important}.infostrip{font-size:.8rem!important}.badges span:nth-child(2){display:none}.about-values{grid-template-columns:1fr!important}}

:root{--navy:#0c3541;--red:#e4442d;--cream:#fff8ee;--ink:#17343d;--sand:#f1e5d5;--yellow:#f4c84a}body{background:var(--cream)!important;color:var(--ink)!important}.top{background:rgba(12,53,65,.97)!important;backdrop-filter:blur(12px)}.hero{min-height:520px!important;background:var(--navy)!important;padding:72px 7vw 64px!important}.hero h1{font-size:clamp(3.4rem,8.5vw,7.4rem)!important;line-height:.86!important;max-width:900px!important}.desktop-nav{gap:20px!important}.desktop-nav a{font-size:.86rem!important}.home-story{max-width:1160px;margin:64px auto;display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center;padding:0 20px}.home-story-photo{border-radius:26px;overflow:hidden;aspect-ratio:4/3;background:var(--sand)}.home-story-photo img{width:100%;height:100%;object-fit:cover;display:block}.home-story-copy h2,.section-head h2,.useful-card h2,.social-strip h2{font-size:clamp(2.15rem,4.5vw,4.5rem);line-height:.95;letter-spacing:-.05em;margin:8px 0 18px}.eyebrow{font-weight:950;letter-spacing:.15em;font-size:.74rem;color:var(--red)}.pill-btn{display:inline-block;margin-top:12px;padding:13px 20px;border-radius:999px;background:var(--red);color:white!important;text-decoration:none;font-weight:900}.signature-section{max-width:1160px;margin:60px auto;padding:0 20px}.signature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.signature-grid article{background:white;border:1px solid #dfd2c0;border-radius:20px;padding:22px;min-height:235px;display:flex;flex-direction:column}.signature-grid article>span{font-size:.75rem;font-weight:900;color:var(--red)}.signature-grid h3{font-size:1.45rem;margin:18px 0 10px}.signature-grid p{margin:0 0 auto}.signature-grid strong{margin-top:20px;color:var(--red)}.menu-heading{max-width:1160px!important;text-align:left!important;margin:58px auto 14px!important;padding:0 20px!important}#menu{max-width:1160px!important;padding:0 20px!important}.cat{background:white!important;border:1px solid #dfd2c0!important;border-radius:20px!important;padding:22px!important;margin-bottom:12px!important}.cat h2{color:var(--red)!important;text-transform:uppercase!important;letter-spacing:.12em!important;font-size:.82rem!important}.item{padding:16px 0!important;border-bottom:1px dashed #ddd0bd!important}.item-info h3,.item-info p{color:var(--ink)!important}.price{color:var(--red)!important}.useful-grid{max-width:1160px;margin:64px auto;padding:0 20px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.useful-card{background:white;border:1px solid #dfd2c0;border-radius:22px;padding:28px;min-height:280px}.useful-card.dark{background:var(--navy);color:white;border:0}.useful-card.dark h2,.useful-card.dark p{color:white!important}.useful-card.red{background:var(--red);color:white;border:0}.useful-card.red h2,.useful-card.red p{color:white!important}.pill-btn.light{background:white;color:var(--navy)!important}.text-link{font-weight:900;color:var(--red);text-decoration:none}.social-strip{max-width:1160px;margin:0 auto 70px;padding:34px;border-radius:24px;background:var(--yellow);display:flex;align-items:center;justify-content:space-between;gap:30px}footer{background:#082d37!important}@media(max-width:900px){.signature-grid{grid-template-columns:1fr 1fr}.home-story{grid-template-columns:1fr}.useful-grid{grid-template-columns:1fr}.social-strip{margin-left:20px;margin-right:20px;flex-direction:column;align-items:flex-start}}@media(max-width:560px){.signature-grid{grid-template-columns:1fr}.hero{min-height:470px!important;padding:62px 22px 54px!important}.home-story-photo{border-radius:18px}}

/* CABANE — couche d'animations (ajout uniquement, ne modifie aucune règle existante) */

@keyframes cabaneFadeRise{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:translateY(0);}}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);}
.reveal.in{opacity:1;transform:translateY(0);}

/* Logo du hero : léger mouvement au survol */
.hero-logo{transition:transform .4s cubic-bezier(.2,.7,.2,1);}
.hero-logo:hover{transform:rotate(-2deg) scale(1.03);}

/* Boutons : décollage net au survol au lieu d'un état statique */
.hero-cta a,.pill-btn,.checkout-btn,.quote-submit,.cart-btn,.instagram-home-button,.loyalty-home-button,.about-cta,.reviews-button{
  transition:transform .18s cubic-bezier(.2,.7,.2,1),box-shadow .18s ease,filter .18s ease;
}
.hero-cta a:hover,.pill-btn:hover,.instagram-home-button:hover,.loyalty-home-button:hover,.about-cta:hover,.reviews-button:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 26px rgba(11,52,64,.22);
}
.checkout-btn:not(:disabled):hover,.quote-submit:not(:disabled):hover{
  transform:translateY(-2px);
  filter:brightness(1.06);
}
.cart-btn:hover{transform:translateY(-2px) scale(1.02);}

/* Cartes menu / infos / avis : petit soulèvement au survol, cohérent partout */
.signature-grid article,.useful-card,.review-card,.highlight-card,.about-cabane-inner,.item{
  transition:transform .22s cubic-bezier(.2,.7,.2,1),box-shadow .22s ease;
}
.signature-grid article:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 34px rgba(16,47,57,.14);
  border-color:var(--v2-red,var(--red,#df432a));
}
.useful-card:hover,.review-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 32px rgba(16,47,57,.12);
}
.item:hover{background:rgba(223,67,42,.035);border-radius:8px;}

/* Bouton + du menu : petit "pop" au survol/clic */
.add-btn{transition:transform .15s cubic-bezier(.34,1.56,.64,1),background .15s ease,color .15s ease;}
.add-btn:hover{transform:scale(1.12) rotate(90deg);}
.add-btn:active{transform:scale(0.92) rotate(90deg);}

/* Numéros 01/02/03/04 de la carte signature : légère bascule au survol de la carte */
.signature-grid article>span{display:inline-block;transition:transform .22s ease;}
.signature-grid article:hover>span{transform:scale(1.15);}

/* Bannière promo : léger effet de respiration pour attirer l'œil sans clignoter agressivement */
@keyframes cabaneBannerGlow{
  0%,100%{filter:brightness(1);}
  50%{filter:brightness(1.06);}
}
.sept20-banner{animation:cabaneBannerGlow 3.2s ease-in-out infinite;}
.sept20-banner .sept20-code{transition:transform .18s ease;}
.sept20-banner a:hover{text-decoration-thickness:2px;}

/* Étoiles des avis : petit scintillement discret au chargement */
@keyframes cabaneStarIn{from{opacity:0;transform:scale(.6);}to{opacity:1;transform:scale(1);}}
.review-stars,.reviews-rating .stars{animation:cabaneStarIn .5s ease both;}

@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1!important;transform:none!important;transition:none!important;}
  .sept20-banner{animation:none!important;}
  .hero-logo,.hero-cta a,.pill-btn,.add-btn,.signature-grid article,.useful-card,.review-card{transition:none!important;}
}


/* Refonte typographique légère — visuels, couleurs et structure inchangés */
body{
  font-family:'Manrope','Work Sans',sans-serif;
  font-weight:400;
  font-size:15px;
  line-height:1.62;
  letter-spacing:-.008em;
}
h1,h2,h3,.hook-line,.highlights-head h2,.highlight-content h3{
  font-family:'Cormorant Garamond','Fraunces',serif;
  font-weight:600;
  letter-spacing:-.025em;
}
.logo,.brand-name{font-family:'Cormorant Garamond','Fraunces',serif;font-weight:600!important;letter-spacing:-.015em}
.logo small,.brand-sub{font-family:'Manrope','Work Sans',sans-serif!important;font-weight:400!important;letter-spacing:.09em}
.desktop-nav a,.contact-nav,.cart-btn,.hero-cta a,.highlight-link,.checkout-btn,.menu-add,.promo-row button,.mobile-bottom-nav a{
  font-family:'Manrope','Work Sans',sans-serif;
  font-weight:600!important;
  letter-spacing:-.01em;
}
.hero h1{font-size:clamp(1.9rem,4.2vw,2.65rem)!important;font-weight:600!important;line-height:1.04!important;letter-spacing:-.03em!important}
.hero p{font-size:.92rem!important;line-height:1.65}
.hero .badges{font-size:.76rem}
.seo-intro h2,.menu-heading h2,.faq h2,.hours-section h2{font-weight:600!important;letter-spacing:-.02em}
.seo-intro h2{font-size:1.38rem!important}
.menu-heading h2{font-size:1.48rem!important}
.faq h2,.hours-section h2{font-size:1.32rem!important}
.cat h2{font-size:1.22rem!important;font-weight:600!important}
.item-info h3{font-family:'Manrope','Work Sans',sans-serif;font-size:.94rem;font-weight:600!important;letter-spacing:-.01em}
.item-info p{font-size:.8rem;line-height:1.55}
.item-info .tag{font-weight:600!important}
.price{font-weight:600!important}
.highlights-head h2{font-size:clamp(1.65rem,3.2vw,2.25rem)!important;line-height:1.05}
.highlight-content h3{font-size:1.2rem!important;font-weight:600!important}
.highlight-content p,.seo-intro p,.faq details p{font-size:.9rem;line-height:1.7}
.highlight-accent,.highlights-wave{font-weight:600!important}
.eyebrow,.section-kicker,.event-kicker,.about-kicker{font-weight:600!important;letter-spacing:.13em}
.about-cabane h2,.event-section h2,.contact-section h2,.instagram-home h2,.google-reviews h2{
  font-family:'Cormorant Garamond','Fraunces',serif!important;
  font-weight:600!important;
  font-size:clamp(1.65rem,3.2vw,2.3rem)!important;
  letter-spacing:-.025em!important;
  line-height:1.05!important;
}
.about-cabane p,.event-section p,.contact-section p,.instagram-home p,.google-reviews p{font-size:.9rem;line-height:1.7}
.hook-line{font-size:1.02rem!important;font-weight:600!important}
.footer-grid h4{font-family:'Manrope','Work Sans',sans-serif;font-weight:600!important;font-size:.88rem}
.footer-grid,.footer-bottom{font-weight:400}
strong,b{font-weight:600}
@media(max-width:600px){
  body{font-size:14px}
  .hero h1{font-size:1.9rem!important;line-height:1.05!important}
  .hero p{font-size:.88rem!important}
  .highlights-head h2{font-size:1.7rem!important}
  .about-cabane h2,.event-section h2,.contact-section h2,.instagram-home h2,.google-reviews h2{font-size:1.72rem!important}
  .brand-name{font-size:1.02rem!important}
}


/* CABANE — version plus fine. Même identité, proportions resserrées. */
body{font-size:14px!important;line-height:1.56!important}
.top{padding:9px 4vw!important;min-height:58px!important}
.desktop-nav{gap:15px!important}.desktop-nav a{font-size:.78rem!important}.cart-btn,.contact-nav{font-size:.78rem!important;padding:8px 13px!important}
.hero{min-height:360px!important;padding:44px 6vw 40px!important}
.hero:before{font-size:clamp(54px,10vw,130px)!important;top:34px!important}.hero:after{font-size:20px!important;bottom:22px!important}
.hero-logo{width:min(175px,38vw)!important;margin-bottom:16px!important}
.hero h1{font-size:clamp(2rem,4.3vw,3.15rem)!important;line-height:.98!important;max-width:700px!important;margin-bottom:13px!important}
.hero p{max-width:560px!important;font-size:.88rem!important;line-height:1.58!important}
.hook-line{margin-top:13px!important;font-size:.7rem!important;letter-spacing:.13em!important}
.hero-cta{margin-top:17px!important;gap:8px!important}.hero-cta a,.pill-btn{padding:9px 14px!important;font-size:.78rem!important}
.badges{gap:6px!important;margin-top:15px!important}.badges span{padding:5px 9px!important;font-size:.7rem!important}
.infostrip{padding:7px 4vw!important;gap:0!important;font-size:.76rem!important}.infostrip div{padding:7px 15px!important}

.home-story,.signature-section,.useful-grid,.social-strip,.discover-v2,.about-cabane,.highlights,.google-reviews,.contact-section,.loyalty-home,.hours-section,.faq,.instagram-home,.menu-heading,#menu{max-width:1040px!important}
.home-story{margin:38px auto!important;gap:22px!important;padding:0 16px!important}.home-story-photo{border-radius:14px!important}.home-story-copy h2,.section-head h2,.useful-card h2,.social-strip h2{font-size:clamp(1.65rem,3.1vw,2.6rem)!important;line-height:1.02!important;margin:5px 0 11px!important}.eyebrow{font-size:.66rem!important;letter-spacing:.13em!important;font-weight:600!important}
.signature-section{margin:34px auto!important;padding:0 16px!important}.signature-grid{gap:9px!important}.signature-grid article{border-radius:13px!important;padding:15px!important;min-height:165px!important}.signature-grid article>span{font-size:.66rem!important}.signature-grid h3{font-size:1.08rem!important;margin:11px 0 7px!important}.signature-grid p{font-size:.8rem!important;line-height:1.48!important}.signature-grid strong{margin-top:11px!important;font-size:.82rem!important}

.about-cabane,.highlights,.google-reviews,.contact-section,.loyalty-home,.hours-section,.faq,.instagram-home{margin:38px auto!important;padding-left:16px!important;padding-right:16px!important}.about-cabane-inner,.loyalty-home-inner,.instagram-home-inner,.contact-wrap{border-radius:15px!important}.about-cabane-inner{padding:24px!important}.about-cabane h2,.highlights h2,.google-reviews h2,.contact-section h2,.loyalty-home h2,.hours-section h2,.faq h2{font-size:clamp(1.65rem,3vw,2.45rem)!important;line-height:1.02!important}.about-cabane-kicker,.reviews-kicker,.loyalty-home-kicker,.instagram-home-kicker,.contact-copy .eyebrow{font-size:.65rem!important;font-weight:600!important}.about-value{border-radius:10px!important;padding:12px!important}
.highlights{padding-top:0!important}.highlights-head h2{font-size:clamp(1.65rem,3vw,2.35rem)!important}.highlight-grid{gap:10px!important}.highlight-card{border-radius:13px!important}.highlight-content{padding:15px 15px 17px!important}.highlight-content h3{font-size:1.03rem!important;margin-bottom:7px!important}.highlight-content p{font-size:.8rem!important;line-height:1.5!important}.highlight-link{margin-top:9px!important;font-size:.78rem!important}

.discover-v2{margin:38px auto 24px!important;padding:0 16px!important}.discover-v2-head h2{font-size:clamp(1.7rem,3.4vw,2.75rem)!important;line-height:1!important}.discover-v2-head span{font-size:.64rem!important}.discover-v2-grid{gap:8px!important}.discover-v2-grid a{min-height:130px!important;border-radius:12px!important;padding:14px!important}.discover-v2-grid b{font-size:1.25rem!important}.discover-v2-grid span{font-size:.73rem!important}.discover-v2-grid em{margin-top:10px!important;font-size:.75rem!important}

.menu-heading{margin:38px auto 8px!important;padding:0 16px!important}.menu-heading h2{font-size:1.72rem!important;line-height:1!important}#menu{padding:0 16px!important}.cat{border-radius:12px!important;padding:15px!important;margin-bottom:9px!important}.cat h2{font-size:.74rem!important;letter-spacing:.11em!important;margin-bottom:8px!important}.item{padding:10px 0!important;gap:11px!important}.item-info h3{font-size:.88rem!important}.item-info p{font-size:.75rem!important;line-height:1.45!important}.item-info .tag{font-size:.61rem!important}.price{font-size:.86rem!important}.add-btn{width:31px!important;height:31px!important;font-size:1rem!important;border-width:1px!important}

.useful-grid{margin:38px auto!important;padding:0 16px!important;gap:10px!important}.useful-card{border-radius:14px!important;padding:19px!important;min-height:185px!important}.useful-card p{font-size:.83rem!important;line-height:1.55!important}.text-link{font-size:.8rem!important}.social-strip{margin:0 auto 42px!important;padding:20px!important;border-radius:14px!important;gap:18px!important}
.loyalty-home-inner,.instagram-home-inner{padding:22px!important}.reviews-rating{border-radius:12px!important;padding:14px!important}.review-card,.hours-card,.faq details{border-radius:10px!important}.faq details{padding:10px 0!important}.hours-card{padding:5px 13px!important}.hours-card div{padding:9px 0!important}
.quote-form input,.quote-form select,.quote-form textarea{padding:8px 10px!important;border-radius:7px!important}.quote-submit,.checkout-btn,.menu-add{padding:10px 14px!important;font-size:.8rem!important}
footer{padding:28px 4vw 18px!important;margin-top:10px!important}.footer-grid{max-width:1040px!important;gap:20px!important;margin-bottom:20px!important;font-size:.79rem!important}.footer-grid h4{font-size:.8rem!important;margin-bottom:7px!important}.footer-bottom{max-width:1040px!important;padding-top:12px!important;font-size:.68rem!important}

@media(max-width:900px){
 .hero{min-height:330px!important;padding:38px 20px 34px!important}
 .home-story{margin:30px auto!important}.signature-section,.useful-grid,.about-cabane,.highlights,.google-reviews,.contact-section,.loyalty-home,.hours-section,.faq,.instagram-home{margin:30px auto!important}
 .signature-grid{grid-template-columns:1fr 1fr!important}.signature-grid article{min-height:145px!important}
 .useful-card{min-height:0!important}.social-strip{margin-left:16px!important;margin-right:16px!important}
}
@media(max-width:560px){
 body{font-size:13px!important;padding-bottom:60px!important}.top{min-height:54px!important;padding:6px 11px!important}
 .hero{min-height:300px!important;padding:34px 18px 31px!important}.hero-logo{width:135px!important}.hero h1{font-size:1.82rem!important;line-height:1.01!important}.hero p{font-size:.82rem!important}.hero:after{display:none!important}
 .hero-cta a{padding:8px 11px!important;font-size:.72rem!important}.badges span{font-size:.64rem!important;padding:4px 8px!important}
 .home-story,.signature-section,.useful-grid,.about-cabane,.highlights,.google-reviews,.contact-section,.loyalty-home,.hours-section,.faq,.instagram-home,.menu-heading,#menu{padding-left:13px!important;padding-right:13px!important}
 .home-story{gap:16px!important;margin:24px auto!important}.home-story-photo{border-radius:11px!important}.home-story-copy h2,.section-head h2,.useful-card h2,.social-strip h2{font-size:1.58rem!important}
 .signature-section{margin:24px auto!important}.signature-grid{gap:7px!important}.signature-grid article{padding:12px!important;min-height:130px!important;border-radius:10px!important}.signature-grid h3{font-size:.96rem!important}.signature-grid p{font-size:.73rem!important}
 .menu-heading{margin:28px auto 6px!important}.menu-heading h2{font-size:1.5rem!important}.cat{padding:12px!important}.item{padding:9px 0!important}.item-info h3{font-size:.84rem!important}.item-info p{font-size:.72rem!important}.add-btn{width:29px!important;height:29px!important}
 .useful-grid{margin:26px auto!important}.useful-card{padding:15px!important;border-radius:11px!important}.social-strip{padding:16px!important;margin-bottom:30px!important;border-radius:11px!important}
 footer{padding:22px 16px 14px!important}.footer-grid{gap:14px!important;font-size:.75rem!important}
 .mobile-bottom-nav a{min-height:52px!important;font-size:.64rem!important;padding:6px 3px!important}
}


/* CABANE V5 — Marseille éditorial. Même palette, mêmes visuels, beaucoup moins "site à cartes". */
:root{--ed-navy:#0c3541;--ed-red:#e4442d;--ed-cream:#fff8ee;--ed-ink:#17343d;--ed-sand:#f1e5d5;--ed-yellow:#f4c84a;--ed-line:#d9cbb8}
body{font-family:'Manrope','Work Sans',sans-serif!important;background:var(--ed-cream)!important;color:var(--ed-ink)!important;font-size:14px!important;line-height:1.58!important}
h1,h2,h3,.brand-text strong,.section-head h2,.home-story-copy h2,.useful-card h2,.social-strip h2,.menu-heading h2{font-family:'Bricolage Grotesque','Work Sans',sans-serif!important;font-weight:600!important;letter-spacing:-.045em!important}

/* Navigation : fine, presque magazine */
.top{min-height:56px!important;padding:7px 3.5vw!important;background:rgba(12,53,65,.985)!important;border-bottom:1px solid rgba(255,255,255,.18)!important;box-shadow:none!important}
.brand{gap:8px!important}.brand img{width:42px!important;height:37px!important}.brand-text strong{font-size:.95rem!important;line-height:1!important}.brand-text small{font-size:.57rem!important;letter-spacing:.08em!important;text-transform:uppercase!important;opacity:.65!important}
.desktop-nav{gap:19px!important}.desktop-nav a{font-size:.71rem!important;font-weight:500!important;letter-spacing:.03em!important;text-transform:uppercase!important}.desktop-nav a:after{height:1px!important;bottom:-7px!important;background:var(--ed-yellow)!important}
.cart-btn{border-radius:2px!important;padding:8px 12px!important;font-size:.71rem!important;font-weight:600!important;letter-spacing:.02em!important;text-transform:uppercase!important;background:var(--ed-red)!important}

/* Promo : bande typographique, pas de gros bandeau */
.sept20-banner{min-height:30px!important;padding:5px 4vw!important;background:var(--ed-yellow)!important;color:var(--ed-navy)!important;font-size:.66rem!important;letter-spacing:.04em!important;border:0!important;text-transform:uppercase!important}
.sept20-banner strong{font-weight:700!important}.sept20-code{border:1px solid rgba(12,53,65,.35)!important;border-radius:0!important;padding:1px 5px!important;background:transparent!important}

/* Hero éditorial : composition asymétrique, pas de bloc géant */
.hero{min-height:430px!important;padding:48px 6vw 42px!important;background:var(--ed-navy)!important;display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(190px,.65fr)!important;grid-template-rows:auto auto auto auto!important;column-gap:7vw!important;align-content:center!important;align-items:end!important;text-align:left!important;border-bottom:0!important;position:relative!important}
.hero:before{content:'POINTE ROUGE / 13008'!important;right:22px!important;top:50%!important;transform:translateY(-50%) rotate(90deg)!important;transform-origin:center!important;font-family:'Manrope',sans-serif!important;font-size:.6rem!important;font-weight:600!important;letter-spacing:.22em!important;color:rgba(255,255,255,.45)!important;line-height:1!important}
.hero:after{content:'↘ MARSEILLE'!important;right:6vw!important;bottom:28px!important;font-family:'Bricolage Grotesque',sans-serif!important;font-size:.78rem!important;letter-spacing:.04em!important;color:var(--ed-yellow)!important;transform:none!important}
.hero-logo{grid-column:2!important;grid-row:1 / span 3!important;justify-self:center!important;align-self:center!important;width:min(205px,18vw)!important;margin:0!important;filter:drop-shadow(0 12px 30px rgba(0,0,0,.18))!important}
.hero h1{grid-column:1!important;grid-row:1!important;font-size:clamp(2.65rem,5.4vw,5rem)!important;line-height:.9!important;max-width:760px!important;margin:0 0 18px!important;text-transform:none!important;font-weight:600!important;letter-spacing:-.065em!important}
.hero p{grid-column:1!important;grid-row:2!important;max-width:620px!important;font-size:.88rem!important;line-height:1.65!important;margin:0!important;opacity:.82!important}
.hero-cta{grid-column:1!important;grid-row:3!important;justify-content:flex-start!important;margin-top:22px!important;gap:8px!important}.hero-cta a{border-radius:2px!important;padding:9px 13px!important;font-size:.72rem!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.04em!important}.hero-cta .secondary{border:1px solid rgba(255,255,255,.5)!important}
.hook-line{grid-column:1!important;grid-row:4!important;margin-top:20px!important;font-family:'Manrope',sans-serif!important;font-size:.68rem!important;font-weight:500!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:var(--ed-yellow)!important}
.badges{grid-column:2!important;grid-row:4!important;align-self:end!important;justify-content:flex-end!important;gap:0!important;margin:0!important;flex-direction:column!important;align-items:flex-start!important}.badges span{padding:4px 0!important;border:0!important;background:transparent!important;border-radius:0!important;font-size:.62rem!important;opacity:.68!important}

.infostrip{max-width:none!important;padding:0 5vw!important;background:var(--ed-cream)!important;color:var(--ed-ink)!important;border-bottom:1px solid var(--ed-line)!important;border-top:1px solid var(--ed-line)!important;font-size:.67rem!important;font-weight:500!important;display:grid!important;grid-template-columns:1fr 1fr 1fr!important}.infostrip div{padding:10px 18px!important;border-right:1px solid var(--ed-line)!important}.infostrip div:last-child{border-right:0!important}

/* Histoire : image légèrement hors grille, lignes nettes */
.home-story{max-width:1080px!important;margin:56px auto 62px!important;padding:0 18px!important;grid-template-columns:1.12fr .88fr!important;gap:54px!important;align-items:center!important;position:relative!important}
.home-story:before{content:'01 / LA CABANE';position:absolute;left:18px;top:-24px;font-size:.63rem;font-weight:600;letter-spacing:.17em;color:var(--ed-red)}
.home-story-photo{border-radius:0!important;aspect-ratio:5/4!important;overflow:visible!important;position:relative!important;background:var(--ed-sand)!important}
.home-story-photo:before{content:'';position:absolute;left:-12px;bottom:-12px;width:52%;height:55%;background:var(--ed-red);z-index:-1}
.home-story-photo img{border-radius:0!important;filter:saturate(.92) contrast(1.02)!important}
.home-story-copy{padding:10px 0 10px!important;border-top:1px solid var(--ed-ink)!important;border-bottom:1px solid var(--ed-line)!important}
.home-story-copy h2{font-size:clamp(2rem,3.5vw,3.15rem)!important;line-height:.98!important;margin:10px 0 18px!important;max-width:500px!important}
.home-story-copy p{font-size:.84rem!important;line-height:1.72!important;max-width:470px!important}.eyebrow{font-size:.6rem!important;letter-spacing:.18em!important;font-weight:600!important}.pill-btn{border-radius:2px!important;padding:8px 11px!important;font-size:.7rem!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.04em!important}

/* 4 signatures : plus de cartes. Une vraie grille éditoriale */
.signature-section{max-width:1080px!important;margin:0 auto 60px!important;padding:0 18px!important}.section-head{display:grid!important;grid-template-columns:150px 1fr!important;align-items:start!important;border-top:1px solid var(--ed-ink)!important;padding-top:13px!important;margin-bottom:18px!important}.section-head .eyebrow{padding-top:5px!important}.section-head h2{font-size:clamp(1.85rem,3.2vw,2.8rem)!important;line-height:.98!important;margin:0!important;max-width:680px!important}.signature-grid{grid-template-columns:1fr 1fr!important;gap:0!important;border-top:1px solid var(--ed-line)!important}
.signature-grid article{position:relative!important;background:transparent!important;border:0!important;border-radius:0!important;padding:20px 26px 22px 0!important;min-height:165px!important;border-bottom:1px solid var(--ed-line)!important}.signature-grid article:nth-child(odd){border-right:1px solid var(--ed-line)!important}.signature-grid article:nth-child(even){padding-left:26px!important}.signature-grid article>span{font-size:.62rem!important;letter-spacing:.15em!important;color:var(--ed-red)!important}.signature-grid h3{font-size:1.35rem!important;line-height:1!important;margin:23px 0 9px!important}.signature-grid p{font-size:.76rem!important;line-height:1.55!important;max-width:360px!important}.signature-grid strong{font-family:'Bricolage Grotesque',sans-serif!important;font-size:.75rem!important;margin-top:16px!important;color:var(--ed-red)!important}

/* Carte : lignes, repères, zéro effet "catalogue de cartes" */
.menu-heading{max-width:1080px!important;margin:58px auto 14px!important;padding:0 18px!important;border-top:1px solid var(--ed-ink)!important}.menu-heading:before{content:'02 / COMMANDER';display:block;margin-top:11px;font-size:.61rem;letter-spacing:.17em;font-weight:600;color:var(--ed-red)}.menu-heading h2{font-size:clamp(1.8rem,3vw,2.65rem)!important;max-width:650px!important;margin-top:8px!important}
#menu{max-width:1080px!important;padding:0 18px!important}.cat{background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;margin:0 0 28px!important;display:grid!important;grid-template-columns:160px 1fr!important;border-top:1px solid var(--ed-line)!important}.cat h2{position:sticky!important;top:74px!important;align-self:start!important;padding:16px 20px 16px 0!important;font-size:.67rem!important;letter-spacing:.15em!important;color:var(--ed-red)!important;text-transform:uppercase!important}.cat .item{grid-column:2!important}.item{padding:13px 0!important;border-bottom:1px solid var(--ed-line)!important}.item-info h3{font-family:'Bricolage Grotesque',sans-serif!important;font-size:.92rem!important;font-weight:600!important;letter-spacing:-.025em!important}.item-info p{font-size:.72rem!important;line-height:1.48!important;opacity:.72!important}.price{font-family:'Bricolage Grotesque',sans-serif!important;font-size:.86rem!important;font-weight:600!important;color:var(--ed-red)!important}.add-btn{width:30px!important;height:30px!important;border-radius:50%!important;background:var(--ed-navy)!important;font-size:.95rem!important}

/* Infos : composition asymétrique, blocs graphiques sans gros arrondis */
.useful-grid{max-width:1080px!important;margin:64px auto!important;padding:0 18px!important;display:grid!important;grid-template-columns:1.15fr .85fr!important;gap:10px!important}.useful-card{border-radius:0!important;padding:24px!important;min-height:190px!important;border:1px solid var(--ed-line)!important;background:#fffdf9!important}.useful-card:nth-child(2){transform:translateY(26px)!important}.useful-card:nth-child(3){margin-top:0!important}.useful-card:nth-child(4){transform:translateY(26px)!important}.useful-card h2{font-size:clamp(1.55rem,2.5vw,2.25rem)!important;line-height:1!important;margin:9px 0 16px!important;max-width:470px!important}.useful-card p{font-size:.78rem!important;line-height:1.6!important}.useful-card.dark{background:var(--ed-navy)!important;border-color:var(--ed-navy)!important}.useful-card.red{background:var(--ed-red)!important;border-color:var(--ed-red)!important}.text-link{font-size:.72rem!important;text-transform:uppercase!important;letter-spacing:.04em!important;font-weight:600!important}
.social-strip{max-width:1080px!important;margin:92px auto 50px!important;padding:18px 0!important;border-radius:0!important;background:transparent!important;border-top:1px solid var(--ed-ink)!important;border-bottom:1px solid var(--ed-line)!important}.social-strip h2{font-size:clamp(1.5rem,2.5vw,2.15rem)!important;margin:5px 0!important}.social-strip .pill-btn{background:var(--ed-red)!important}

footer{margin-top:0!important;padding:30px 4vw 18px!important;background:#082d37!important}.footer-grid{max-width:1080px!important;grid-template-columns:1.15fr .85fr 1fr!important;gap:28px!important;margin-bottom:22px!important;font-size:.74rem!important}.footer-grid h4{font-family:'Bricolage Grotesque',sans-serif!important;font-size:.73rem!important;letter-spacing:.05em!important;text-transform:uppercase!important}.footer-bottom{max-width:1080px!important;text-align:left!important;font-size:.62rem!important}

@media(max-width:900px){
 .hero{grid-template-columns:1fr!important;grid-template-rows:auto!important;min-height:390px!important;padding:40px 22px 38px!important}.hero-logo{grid-column:1!important;grid-row:auto!important;justify-self:start!important;width:125px!important;margin-bottom:20px!important}.hero h1,.hero p,.hero-cta,.hook-line,.badges{grid-column:1!important;grid-row:auto!important}.badges{display:none!important}.hero h1{font-size:clamp(2.4rem,10vw,3.7rem)!important}.hero:before{display:none!important}.hero:after{right:22px!important;bottom:20px!important}
 .home-story{grid-template-columns:1fr!important;gap:30px!important;margin:48px auto!important}.home-story-copy{max-width:650px!important}.section-head{grid-template-columns:110px 1fr!important}.signature-grid{grid-template-columns:1fr 1fr!important}.cat{grid-template-columns:118px 1fr!important}.useful-grid{grid-template-columns:1fr 1fr!important}.useful-card:nth-child(2),.useful-card:nth-child(4){transform:none!important}.social-strip{margin-left:18px!important;margin-right:18px!important}
}
@media(max-width:560px){
 body{font-size:13px!important}.top{min-height:52px!important;padding:6px 10px!important}.brand img{width:37px!important;height:32px!important}.brand-text small{display:none!important}.cart-btn{padding:7px 9px!important;font-size:.64rem!important}
 .sept20-banner{font-size:.58rem!important;padding:5px 10px!important}.hero{min-height:350px!important;padding:32px 16px 34px!important}.hero-logo{width:105px!important;margin-bottom:15px!important}.hero h1{font-size:2.45rem!important;max-width:330px!important}.hero p{font-size:.78rem!important;max-width:360px!important}.hero-cta{margin-top:17px!important}.hook-line{font-size:.58rem!important;max-width:260px!important}.infostrip{grid-template-columns:1fr!important}.infostrip div{padding:7px 12px!important;border-right:0!important;border-bottom:1px solid var(--ed-line)!important}.infostrip div:last-child{border-bottom:0!important}
 .home-story,.signature-section,.menu-heading,#menu,.useful-grid{padding-left:14px!important;padding-right:14px!important}.home-story{margin:42px auto!important;gap:25px!important}.home-story:before{left:14px!important}.home-story-photo:before{left:-7px!important;bottom:-7px!important}.home-story-copy h2{font-size:1.85rem!important}.section-head{grid-template-columns:1fr!important;gap:5px!important}.section-head h2{font-size:1.8rem!important}.signature-grid{grid-template-columns:1fr!important}.signature-grid article,.signature-grid article:nth-child(even){padding:16px 0!important;border-right:0!important}.signature-grid article{min-height:0!important}.signature-grid h3{margin-top:12px!important}.cat{display:block!important}.cat h2{position:static!important;padding:12px 0 7px!important;border-bottom:1px solid var(--ed-ink)!important}.cat .item{grid-column:auto!important}.menu-heading{margin-top:44px!important}.useful-grid{grid-template-columns:1fr!important;margin:48px auto!important}.useful-card{min-height:0!important;padding:18px!important}.social-strip{margin:54px 14px 34px!important;padding:15px 0!important;align-items:flex-start!important}.social-strip h2{font-size:1.55rem!important}.footer-grid{grid-template-columns:1fr!important;gap:16px!important}.footer-bottom{text-align:left!important}
}


.bot-trap{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.antibot-status{font-size:.66rem;line-height:1.35;color:#667578;margin:7px 0 0;display:flex;gap:6px;align-items:center}
.antibot-status:before{content:"✓";display:inline-flex;width:15px;height:15px;border:1px solid currentColor;border-radius:50%;align-items:center;justify-content:center;font-size:.55rem}


.hero,.home-story,.best-seller,.useful-grid,.social-strip{display:none!important}
.menu-heading{margin-top:50px!important}
.menu-heading:before{content:"COMMANDER";display:block;color:#df432a;font-size:.67rem;letter-spacing:.18em;font-weight:700;margin-bottom:8px}
.menu-heading h2{max-width:620px}


@media(max-width:760px){
  .mobile-bottom-nav{z-index:50!important}
  .overlay{z-index:60!important}
  .drawer{z-index:70!important;max-height:100dvh}
  .drawer-body{min-height:0;overflow-y:auto}
  .drawer-foot{flex-shrink:0;padding-bottom:max(24px,env(safe-area-inset-bottom))}
}

.menu-secours{position:relative;margin-left:auto;margin-right:10px}.menu-secours>button{border:1px solid #ffffff88;background:transparent;color:#fff;border-radius:99px;padding:10px 14px;font-weight:800}.menu-secours div{display:none;position:absolute;right:0;top:48px;width:260px;padding:9px;background:#fff8ee;border:1px solid #d8c8b2;border-radius:12px;box-shadow:0 18px 45px #0004;z-index:999}.menu-secours.open div{display:block}.menu-secours a{display:block;color:#16343d!important;text-decoration:none;padding:11px;border-radius:7px;font-weight:700}.menu-secours a:hover{background:#0c3541;color:#fff!important}

#installCabaneApp{
  position:fixed;right:14px;bottom:78px;z-index:9997;
  border:0;border-radius:999px;padding:11px 15px;
  background:#123642;color:#fff;font:700 13px/1 Arial,sans-serif;
  box-shadow:0 5px 18px rgba(0,0,0,.18);cursor:pointer;
  display:none;
}
#installCabaneApp.show{display:block}
@media(min-width:900px){#installCabaneApp{bottom:18px}}
/* Introduction compacte de la page commande */
.order-page-intro{max-width:1040px;margin:34px auto 8px;padding:0 16px}.order-page-intro span{color:#e4442d;font-size:.64rem;font-weight:800;letter-spacing:.14em}.order-page-intro h1{margin:6px 0 4px;color:#0c3541;font-size:clamp(1.55rem,3vw,2.35rem)!important;line-height:1!important}.order-page-intro p{margin:0;color:#607075;font-size:.78rem}
