:root{--ink:#293d2b;--paper:#faf8f0;--yellow:#f1d75c;--line:#293d2b30}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,sans-serif}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a46d22;outline-offset:4px}[hidden]{display:none!important}.shop-status{background:var(--ink);color:white;text-align:center;padding:10px 20px;font-weight:bold;font-size:14px}.shop-status span{font-weight:400;margin-left:18px}.shop-wrap{max-width:1400px;padding:0 6%;margin:auto}.shop-header{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:20px 0;border-bottom:1px solid var(--line)}.shop-brand{display:flex;align-items:center;gap:16px;text-decoration:none;font:28px Georgia,serif}.shop-brand img{width:90px;height:auto;border-radius:10px}.shop-brand small{display:block;font:13px Arial,sans-serif;margin-top:8px}.shop-header nav{display:flex;gap:24px;flex-wrap:wrap;font-size:15px}.shop-header nav a{text-decoration:none}.overline{text-transform:uppercase;letter-spacing:1.6px;font-size:13px;font-weight:700}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.12}h1{font-size:clamp(42px,5.7vw,78px);letter-spacing:-2px;margin:18px 0 24px}h2{font-size:clamp(30px,3.5vw,44px);margin:16px 0 25px}h3{font-size:26px}h1 em{font-weight:400}p{margin:14px 0 22px}.shop-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:65px;align-items:center;padding:70px 0}.shop-hero>div>p{font-size:19px;max-width:620px}.shop-note{padding:36px;border:1px solid var(--line);border-radius:130px 130px 20px 20px;background:#f1d75c55;padding-top:68px}.shop-note h2{font-size:38px}.actions{display:flex;gap:24px;flex-wrap:wrap;align-items:center;margin-top:26px}.button{display:inline-block;border:1px solid var(--ink);background:var(--ink);color:white;border-radius:8px;padding:14px 22px;font-weight:bold;text-decoration:none;cursor:pointer}.button.secondary{background:transparent;color:var(--ink)}.button:disabled{opacity:.5;cursor:wait}.universe-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.universe{display:block;padding:38px;border-radius:20px;text-decoration:none}.universe h3{font-size:clamp(30px,3.8vw,48px);margin:22px 0}.universe strong{text-decoration:underline;text-underline-offset:7px}.universe.dogs{background:var(--ink);color:var(--paper)}.universe.cats{background:var(--yellow)}.shop-how,.downloads{padding:70px 0}.how-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.how-grid article{border-top:1px solid var(--line);padding-top:22px}.how-grid b{font-size:14px}.how-grid h3{font-size:25px}.shop-visit{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:45px;background:#293d2b09;border:1px solid var(--line);border-radius:20px;scroll-margin-top:20px}address{font-style:normal;font-size:20px}.visit-contacts{align-self:center;min-width:0}.visit-contacts>a{display:block;margin:12px 0;overflow-wrap:anywhere}.visit-contacts h3{font-size:29px}.visit-contacts p{font-size:15px}.breadcrumbs{display:flex;gap:10px;flex-wrap:wrap;padding:24px 0;font-size:14px}.catalogue-intro{max-width:870px;padding:15px 0 32px}.catalogue-intro h1{font-size:clamp(40px,6vw,68px)}.catalogue-filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:18px;align-items:end;padding:24px;background:white;border:1px solid var(--line);border-radius:12px}.catalogue-filters label{font-size:14px}.catalogue-filters input,.catalogue-filters select{width:100%;min-width:0;padding:11px;border:1px solid #293d2b70;border-radius:6px;background:white;color:var(--ink);margin-top:7px}.text-button{cursor:pointer;color:var(--ink);border:0;background:transparent;text-decoration:underline;padding:12px 0}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.product-card{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}.product-art{display:block;height:215px;background:white;padding:18px;border-bottom:1px solid var(--line)}.product-art img{width:100%;height:100%;object-fit:contain}.product-copy{padding:24px;display:flex;flex-direction:column;flex:1}.product-copy h3{font-size:25px;line-height:1.2;margin:12px 0}.product-copy h3 a{text-decoration:none}.product-copy p{font-size:15px;margin:7px 0}.product-copy .formats{font-size:14px;color:#53624e}.card-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:22px}.card-bottom strong{font-size:20px}.card-bottom a{font-size:14px}.catalogue-help{margin:48px 0 20px;padding:30px;border:1px solid var(--line);border-radius:16px}.catalogue-help h2{font-size:30px}.fine-print{font-size:14px;color:#52634f}.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:55px;padding:20px 0 50px}.product-detail h1{font-size:clamp(32px,4vw,52px);letter-spacing:-1px}.detail-art{min-width:0}.detail-art>img{width:100%;height:auto;max-height:680px;object-fit:contain;background:white;border-radius:15px;border:1px solid var(--line);padding:15px}.detail-art p{font-size:14px}.variant-table{width:100%;border-collapse:collapse;margin:24px 0}.variant-table caption{text-align:left;font-weight:bold;margin-bottom:12px}.variant-table th{text-align:left}.variant-table th,.variant-table td{padding:10px 0;border-bottom:1px solid var(--line)}.variant-table td:last-child,.variant-table th:last-child{text-align:right}.availability{font-size:14px;padding:10px 14px;background:#f1d75c55;border-radius:6px}#product-request{padding:25px;background:white;border:1px solid var(--line);border-radius:15px}#product-request h2{font-size:28px;margin-top:0}#product-request label{display:block;font-weight:bold;font-size:14px;margin-top:15px}#product-request input,#product-request select,#product-request textarea{display:block;width:100%;border:1px solid #293d2b70;border-radius:6px;padding:10px;margin-top:5px;font-weight:normal;background:white;color:var(--ink)}#request-total{font-weight:bold}#request-status{font-size:14px;overflow-wrap:anywhere}.detail-info{padding:30px 0 65px;border-top:1px solid var(--line)}footer{padding:35px 0;border-top:1px solid var(--line);font-size:14px}footer strong{font:28px Georgia,serif}
@media(max-width:1000px){.shop-header{flex-wrap:wrap}.catalogue-filters{grid-template-columns:1fr 1fr}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-hero{gap:30px}.shop-visit{gap:30px;padding:30px}}@media(max-width:650px){.shop-status span{display:block;margin:3px 0 0}.shop-wrap{padding:0 6%}.shop-header nav{gap:14px;font-size:14px}.shop-hero,.universe-grid,.how-grid,.shop-visit,.product-detail,.catalogue-filters,.product-grid{grid-template-columns:1fr}.shop-hero{padding:40px 0}.shop-note{border-radius:20px;padding:28px}.shop-note h2{font-size:32px}.universe{padding:28px}.shop-how,.downloads{padding:45px 0}.shop-visit{padding:24px}.product-detail{gap:25px}.catalogue-filters{padding:18px}.product-art{height:230px}.card-bottom{gap:15px}.shop-brand img{width:80px}.shop-brand{font-size:25px}.detail-art>img{max-height:470px}}

/* Original product photography, contained without distortion. */
.product-art{display:flex;align-items:center;justify-content:center}
.product-crop{display:block;position:relative;overflow:hidden;flex:none;width:min(100%,calc(var(--image-ratio)*540px));margin:0 auto;background:white}
.product-crop img{position:absolute;max-width:none;object-fit:fill;border:0;padding:0;border-radius:0}
.product-art .product-crop{width:min(100%,calc(var(--image-ratio)*177px))}
.product-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.product-gallery img{width:100%;height:150px;object-fit:contain;background:white;border:1px solid var(--line);border-radius:8px;padding:8px}
@media(max-width:650px){.product-art .product-crop{width:min(100%,calc(var(--image-ratio)*192px))}.product-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.product-gallery img{height:130px}}

.product-overview{display:grid;grid-template-columns:repeat(var(--overview-cols),minmax(0,1fr));gap:12px;width:100%;background:white}
.overview-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:0}
.overview-item>img{display:block;width:100%;height:160px;min-height:0;object-fit:contain}
.overview-item>span{font-size:14px;line-height:1.2;text-align:center}
.overview-card{height:100%;gap:8px}
.overview-card .overview-item>img{flex:1;height:0;width:100%;min-height:0;object-fit:contain}
.overview-card .overview-item>span{font-size:14px}
.overview-detail{padding:15px;border:1px solid var(--line);border-radius:15px}
@media(max-width:650px){.overview-detail .overview-item>img{height:110px}}

.overview-rows .overview-item{flex-direction:row;gap:12px}.overview-rows .overview-item>img{width:calc(100% - 70px);height:90px}.overview-rows .overview-item>span{width:58px;flex:none}.overview-card.overview-rows .overview-item>img{height:100%;flex:1;min-width:0}

.composition-section{padding:35px 0 48px;border-top:1px solid var(--line);scroll-margin-top:24px}
.composition-preview{max-width:1050px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white}
.composition-viewport{display:block;position:relative;overflow:hidden;width:100%;background:white}
.composition-viewport img{position:absolute;max-width:none;object-fit:fill}
.composition-zoom{margin-top:20px}.composition-zoom summary{display:list-item;cursor:pointer;width:fit-content;background:var(--ink);color:white;padding:13px 22px;border-radius:8px;font-weight:bold}
.composition-scroll{max-width:100%;overflow:auto;border:1px solid var(--line);background:white;overscroll-behavior-x:contain}
.composition-large{width:1300px;min-width:100%}
.composition-text{font-size:18px;max-width:900px;line-height:1.7}.composition-shortcut{font-weight:bold}
.composition-zoom summary:focus-visible,.composition-scroll:focus-visible{outline:3px solid #a46d22;outline-offset:4px}

/* Seasonal announcement, independent of product cards and filters. */
.christmas-events{position:relative;isolation:isolate;margin:28px 0 40px;padding:40px 34px 22px;border:1px solid #c7aa67;border-radius:22px;color:#fff9ec;background:#143e32 url('/christmas-background.svg') center/cover;box-shadow:0 12px 35px #143e321c;overflow:hidden}.christmas-intro{max-width:850px;margin:0 auto 26px;text-align:center}.christmas-kicker{display:inline-block;border:1px solid #e9c98199;border-radius:30px;padding:7px 18px;color:#f5d992;background:#143e32e8;font-size:12px;letter-spacing:1.6px;text-transform:uppercase;font-weight:bold}.christmas-events h2{font-size:clamp(30px,4vw,48px);color:#fff9ec;margin:18px 0 14px;line-height:1.12}.christmas-intro>p{max-width:680px;margin:0 auto;color:#e7eee6;font-size:17px;line-height:1.6}.christmas-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.christmas-card{background:#fffaf0;color:#263e32;border:1px solid #ead6aa;border-radius:14px;overflow:hidden;text-align:center}.christmas-date{background:#8b2e3b;padding:15px 12px 13px;color:#fffaf0;display:flex;justify-content:center;gap:12px;align-items:baseline}.christmas-date strong{font:700 36px/1 Georgia,serif;white-space:nowrap}.christmas-date span{font-size:16px}.christmas-place{padding:20px 14px 22px}.christmas-day{font-size:12px;font-weight:bold;letter-spacing:.2px;color:#785838}.christmas-place h3{font-size:clamp(23px,2.2vw,29px);margin:10px 0 14px;overflow-wrap:anywhere}.christmas-place p{font-size:14px;line-height:1.6;margin:0}.christmas-signoff{text-align:center;margin:20px 0 0;color:#f5d992;font-size:15px;font-weight:bold}.christmas-signoff span{padding-left:8px}@media(max-width:800px){.christmas-events{padding:28px 18px 20px}.christmas-cards{grid-template-columns:1fr}.christmas-card{display:grid;grid-template-columns:110px minmax(0,1fr);text-align:left}.christmas-date{flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px 8px}.christmas-date strong{font-size:29px}.christmas-date span{font-size:14px}.christmas-place{padding:18px}.christmas-place h3{font-size:24px;margin:7px 0 10px}.christmas-intro>p{font-size:15px}}@media(max-width:380px){.christmas-card{grid-template-columns:88px minmax(0,1fr)}.christmas-date strong{font-size:25px}.christmas-place{padding:14px 10px}.christmas-place h3{font-size:21px}}

.christmas-hours{margin-top:16px;padding-top:13px;border-top:1px solid #ead6aa;display:grid;gap:5px;color:#702531;font-size:15px;line-height:1.5}.christmas-hours>span{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:#785838}

.joint-flavours{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem 1rem;margin:0 0 .85rem}.joint-badge{display:inline-flex;align-items:center;border-radius:.45rem;padding:.35em .8em;font:bold 1.05rem/1.45 Arial,sans-serif;letter-spacing:.035em;text-transform:uppercase}.joint-poulet{background:#ffe293;color:#583500;border:1px solid #be8c28}.joint-saumon{background:#ffccbe;color:#722f24;border:1px solid #c57a67}.joint-other{font-weight:700;text-decoration:underline;padding:.45rem 0}
