.norelle-traiteur { --nt-ink:#211d1a; --nt-muted:#5f584f; --nt-burgundy:#7a1f2b; color:var(--nt-ink); font:400 16px/1.6 Arial,sans-serif; max-width:1280px; margin:24px auto 56px; padding:0 24px; box-sizing:border-box; }
.norelle-traiteur *, .norelle-traiteur *::before, .norelle-traiteur *::after { box-sizing:border-box; }
#norelle-accueil-2026:has(.norelle-traiteur) { width:100%; max-width:100%; margin-left:0; }
.norelle-traiteur .norelle-traiteur__heading { text-align:center; max-width:780px; margin:0 auto 32px; }
.norelle-traiteur .norelle-traiteur__eyebrow { color:#6b4912; text-transform:uppercase; font-size:12px; font-weight:700; letter-spacing:.13em; margin:0 0 10px; }
.norelle-traiteur h1 { font:600 clamp(30px,3.5vw,48px)/1.15 Georgia,serif; color:var(--nt-ink); margin:0 0 16px; letter-spacing:-.035em; }
.norelle-traiteur h1 em { color:var(--nt-burgundy); font-weight:400; }
.norelle-traiteur .norelle-traiteur__heading > p:not(.norelle-traiteur__eyebrow) { color:var(--nt-muted); margin:12px 0; }
.norelle-traiteur__grid, .norelle-traiteur__recipes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.norelle-traiteur__card { display:flex; flex-direction:column; min-width:0; background:#fffdf9; border:1px solid #e5dccd; border-radius:16px; overflow:hidden; box-shadow:0 8px 28px #4223160c; }
.norelle-traiteur__photo { display:block; position:relative; overflow:hidden; }
.norelle-traiteur__photo img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; }
.norelle-traiteur__photo > span { position:absolute; left:20px; bottom:16px; padding:5px 12px; border-radius:4px; background:#fffdf5; color:var(--nt-ink); font-size:13px; font-weight:700; }
.norelle-traiteur__copy { display:flex; flex-direction:column; flex:1; padding:24px 28px 28px; }
.norelle-traiteur h2 { font:600 30px/1.2 Georgia,serif; letter-spacing:-.025em; color:var(--nt-ink); margin:0 0 12px; }
.norelle-traiteur__copy > p, .norelle-traiteur__recipe > p { margin:0 0 14px; }
.norelle-traiteur__copy > p:not(.norelle-traiteur__price):not(.norelle-traiteur__eyebrow):not(.norelle-traiteur__advantage) { color:var(--nt-muted); }
.norelle-traiteur .norelle-traiteur__price { margin-top:auto; padding-top:8px; font-variant-numeric:tabular-nums; }
.norelle-traiteur__price strong { font-size:28px; line-height:1.1; font-weight:700; color:var(--nt-burgundy); }
.norelle-traiteur__price span { white-space:nowrap; }
.norelle-traiteur .norelle-traiteur__advantage { font-size:14px; color:#5d4527; background:#f6efe1; border-radius:6px; padding:10px 12px; margin-bottom:18px; }
.norelle-traiteur a.norelle-traiteur__button, .norelle-traiteur button.norelle-traiteur__button { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:48px; width:100%; background:var(--nt-burgundy); border:1px solid var(--nt-burgundy); border-radius:8px; padding:13px 18px; color:#fff; font:700 16px/1.3 Arial,sans-serif; text-decoration:none; cursor:pointer; transition:background .15s; }
.norelle-traiteur .norelle-traiteur__button:hover { background:#641822; color:#fff; }
.norelle-traiteur .norelle-traiteur__button:disabled { background:#71685e; border-color:#71685e; cursor:not-allowed; }
.norelle-traiteur a:focus-visible, .norelle-traiteur button:focus-visible, .norelle-traiteur input:focus-visible { outline:3px solid #005fcc; outline-offset:3px; }
.norelle-traiteur .norelle-traiteur__service { text-align:center; color:var(--nt-muted); margin:22px 0 0; font-size:14px; }
.norelle-traiteur__service > span { padding:0 10px; }
.norelle-traiteur .norelle-traiteur__illustration { text-align:center; color:var(--nt-muted); font-size:11px; margin:4px 0 0; }
.norelle-traiteur__recipe { padding:30px; background:#fffdf9; border:1px solid #e5dccd; border-radius:16px; display:flex; flex-direction:column; }
.norelle-traiteur__recipe > .norelle-tajines-recipe-photo { align-self:center; width:100%; max-width:330px; margin:0 0 20px; }
.norelle-traiteur__recipe > .norelle-tajines-recipe-photo img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; border-radius:12px; }
.norelle-traiteur__recipe > .norelle-tajines-recipe-photo figcaption { margin:4px 0 0; color:var(--nt-muted); text-align:right; font-size:11px; line-height:1.4; }
.norelle-traiteur__detail { font-size:14px; color:var(--nt-muted); }
.norelle-traiteur__form { margin-top:auto; }
.norelle-traiteur__form label { display:block; font-weight:700; margin-bottom:8px; }
.norelle-traiteur__quantity { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.norelle-traiteur__quantity input { width:112px; min-height:48px; border:1px solid #a99d8d; border-radius:8px; background:#fff; padding:10px; color:var(--nt-ink); font:700 20px/1.3 Arial,sans-serif; }
.norelle-traiteur__quantity > span { color:var(--nt-muted); font-size:14px; }
.norelle-traiteur__total { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:16px; margin:16px 0; border-top:1px solid #e5dccd; }
.norelle-traiteur__total strong { font-size:24px; color:var(--nt-burgundy); }
.norelle-traiteur__form > small { display:block; color:var(--nt-muted); font-size:13px; margin-top:12px; }
.norelle-traiteur__back { text-align:center; margin-top:28px; }
.norelle-traiteur__back a { color:var(--nt-burgundy); display:inline-block; min-height:44px; padding:10px; }
.norelle-traiteur__unavailable { color:#7a1f2b; font-weight:700; }
.norelle-tajines-pickup-hint { font-size:14px; color:#5f584f; }
.norelle-traiteur--order .norelle-traiteur__heading, .norelle-couscous--order:has(.norelle-order-banner) .norelle-couscous__order-header { margin-bottom:20px; }
.norelle-traiteur--order .norelle-order-banner, .norelle-couscous--order .norelle-order-banner { position:relative; margin:0 0 28px; width:100%; height:240px; overflow:hidden; border:1px solid #e5dccd; border-radius:16px; background:#eee5d7; box-sizing:border-box; }
.norelle-order-banner img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 62%; }
.norelle-order-banner figcaption { position:absolute; bottom:10px; right:12px; margin:0; padding:3px 7px; border-radius:4px; color:#fff; background:#211d1ad9; font:400 11px/1.4 Arial,sans-serif; }
.norelle-traiteur.norelle-traiteur--hero { margin-bottom:32px; }
#norelle-accueil-2026 .norelle-traiteur--hero + .norelle-section { padding-top:24px; }
.norelle-traiteur--hero .norelle-traiteur__hero-layout { display:grid; grid-template-columns:minmax(0,45fr) minmax(0,55fr); overflow:hidden; border:1px solid #e5dccd; border-radius:16px; background:#f8f2e8; }
.norelle-traiteur--hero .norelle-traiteur__hero-copy { align-self:center; min-width:0; padding:36px clamp(24px,3vw,44px); }
.norelle-traiteur--hero h1 { font-size:clamp(30px,3.2vw,44px); }
.norelle-traiteur--hero .norelle-traiteur__hero-copy > p:not(.norelle-traiteur__eyebrow) { color:var(--nt-muted); margin:0 0 24px; }
.norelle-traiteur--hero a.norelle-traiteur__button { width:fit-content; max-width:100%; }
.norelle-traiteur--hero .norelle-traiteur__hero-photo { position:relative; align-self:stretch; min-width:0; min-height:400px; margin:0; background:#eee5d7; }
.norelle-traiteur--hero .norelle-traiteur__hero-photo img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.norelle-traiteur--hero .norelle-traiteur__hero-photo figcaption { position:absolute; right:12px; bottom:10px; margin:0; padding:3px 7px; border-radius:4px; color:#fff; background:#211d1ad9; font:400 11px/1.4 Arial,sans-serif; }
@media(max-width:700px) {
 .norelle-traiteur.norelle-traiteur--hero { margin-bottom:24px; }
 .norelle-traiteur--hero .norelle-traiteur__hero-layout { grid-template-columns:1fr; border-radius:12px; }
 .norelle-traiteur--hero .norelle-traiteur__hero-photo { grid-row:1; min-height:180px; }
 .norelle-traiteur--hero .norelle-traiteur__hero-copy { padding:24px; }
 .norelle-traiteur--hero h1 { font-size:30px; }
 .norelle-traiteur--hero a.norelle-traiteur__button { width:100%; }
 .norelle-traiteur--order .norelle-order-banner, .norelle-couscous--order .norelle-order-banner { height:160px; margin-bottom:22px; border-radius:12px; }
 .norelle-traiteur { margin-top:16px; padding:0 16px; margin-bottom:36px; }
 .norelle-traiteur__grid, .norelle-traiteur__recipes { grid-template-columns:1fr; gap:20px; }
 .norelle-traiteur .norelle-traiteur__heading { margin-bottom:24px; }
 .norelle-traiteur__copy, .norelle-traiteur__recipe { padding:22px; }
 .norelle-traiteur__recipe > .norelle-tajines-recipe-photo { max-width:270px; margin-bottom:16px; }
 .norelle-traiteur h2 { font-size:28px; }
 .norelle-traiteur__photo img { aspect-ratio:3/2; }
 .norelle-traiteur__service > span { padding:0 4px; }
}
@media(prefers-reduced-motion:reduce) { .norelle-traiteur * { transition:none!important; } }
