/* Native Loutca adaptation of the supplied bakery exhibition. */
.bakery-exhibition{--bakery-bg:#000;--bakery-muted:#a4b8bd;background:var(--bakery-bg);color:var(--paper);position:relative;isolation:isolate;padding-top:var(--site-header-height);direction:rtl;overflow:clip}
.bakery-shop-shell{width:min(86%,1380px);margin-inline:auto}
.bakery-vitrine em{color:var(--brand);font-style:normal}
.bakery-shop-hero{position:relative;isolation:isolate;min-height:min(760px,calc(100svh - var(--site-header-height)));display:grid;align-items:center;overflow:clip}
.bakery-shop-hero-texture{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 28% 50%,#2eb0c618,transparent 65%),linear-gradient(0deg,#000,transparent 45%),linear-gradient(270deg,#000 20%,#0008 70%,#000),url('/assets/bakery/grain-v1.webp') left center/cover no-repeat;opacity:.5;pointer-events:none}
.bakery-shop-hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);align-items:center;gap:3vw;min-height:640px}
.bakery-shop-hero-copy{position:relative;z-index:2;padding-block:48px}
.bakery-shop-eyebrow{display:block;color:var(--brand);font-size:11px;line-height:2;letter-spacing:0;margin:0 0 20px}
#main .bakery-vitrine h1{font-size:clamp(64px,7.4vw,112px);font-family:Pinar,sans-serif;line-height:1.35;font-weight:800;letter-spacing:-1px;margin:0}
.bakery-shop-hero-copy>p:not(.bakery-shop-eyebrow){font-size:14px;line-height:2.4;color:var(--text-secondary);margin:25px 0 30px;max-width:420px}
.bakery-shop-hero-copy .button{margin:0;min-height:48px;padding:12px 23px;font-size:12px}
.bakery-shop-hero-art{--bread-x:0;--bread-y:0;position:relative;perspective:1100px;aspect-ratio:1;max-width:650px;width:100%;margin:0;padding:5%;isolation:isolate}
.bakery-shop-hero-art:before{content:"";position:absolute;inset:5%;border-radius:50%;background:radial-gradient(ellipse,#2eb0c615,transparent 70%);pointer-events:none}
.bakery-shop-hero-loaf{position:relative;width:100%;height:100%;object-fit:contain;filter:drop-shadow(-18px 30px 20px #0008);transform:translate3d(calc(var(--bread-x)*8px),calc(var(--bread-y)*-6px),0) rotateX(calc(var(--bread-y)*-3deg)) rotateY(calc(var(--bread-x)*4deg)) rotate(-13deg);transition:transform .7s cubic-bezier(.2,.7,.2,1);user-select:none;pointer-events:none}
.bakery-shop-hero-shadow{position:absolute;bottom:7%;left:13%;width:75%;height:15%;background:radial-gradient(ellipse,#000c,transparent 70%);filter:blur(20px);transform:rotate(-8deg)}
.bakery-shop-hero-caption{position:absolute;bottom:0;inset-inline:10%;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;line-height:2;color:var(--paper)}
.bakery-shop-hero-caption>span:last-child{font-size:10px;color:var(--bakery-muted)}
.bakery-shop-catalog{padding-block:80px 80px;scroll-margin-top:22px;border-top:1px solid var(--line)}
.bakery-shop-catalog-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:35px}
#main .bakery-vitrine h2{font-weight:700;font-size:clamp(34px,4.2vw,58px);line-height:1.6;margin:0;letter-spacing:-.4px}
.bakery-shop-catalog-heading .bakery-shop-eyebrow{margin-bottom:10px}
.bakery-shop-catalog-heading>p{color:var(--text-secondary);font-size:13px;line-height:2.3;max-width:300px;margin:0}
.bakery-shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-block:0 24px}
.bakery-shop-filters{display:flex;gap:8px;flex-wrap:wrap}
.bakery-shop-filters button{background:transparent;border:1px solid var(--line);border-radius:30px;color:var(--text-secondary);font:inherit;font-size:12px;min-height:44px;padding:8px 18px;cursor:pointer;transition:color .25s,border-color .25s,background .25s;touch-action:manipulation}
.bakery-shop-filters button[aria-pressed=true]{color:var(--ink);border-color:var(--brand);background:var(--brand)}
.bakery-shop-filters button:hover:not([aria-pressed=true]){color:var(--paper);border-color:var(--brand)}
.bakery-shop-filters button:focus-visible{outline:1px solid var(--brand);outline-offset:4px}
.bakery-shop-count{font-size:11px;color:var(--bakery-muted);white-space:nowrap;margin:0}
.bakery-shop-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:stretch}
.bakery-shop-card{min-width:0;position:relative;background:radial-gradient(ellipse at 50% 30%,#2eb0c608,transparent 70%),linear-gradient(150deg,#0b1419,#020506);border:1px solid #b9efff15;border-radius:12px;box-shadow:0 15px 24px -20px #000b;transition:background .4s,border-color .4s,transform .4s;animation:loutca-bread-enter .5s both}
.bakery-shop-card:hover,.bakery-shop-card:focus-within{border-color:#2eb0c65c;transform:translateY(-5px)}
.bakery-shop-card-open{display:flex;flex-direction:column;align-items:stretch;height:100%;width:100%;text-align:right;padding:20px 22px 22px;border:0;background:none;color:var(--paper);font:inherit;cursor:pointer;touch-action:manipulation;border-radius:inherit}
.bakery-shop-card-open:focus-visible{outline:2px solid var(--brand);outline-offset:-4px}
.bakery-shop-card-image{display:block;aspect-ratio:1;position:relative;margin-bottom:10px;pointer-events:none}
.bakery-shop-card-image img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 15px 9px #0008);transition:transform .7s cubic-bezier(.2,.7,.2,1);user-select:none}
.bakery-shop-card-open:is(:hover,:focus-visible) img{transform:translateY(-4px) rotate(-4deg) scale(1.04)}
.bakery-shop-card-category{color:var(--brand);font-size:10px;line-height:1.8;margin-bottom:7px}
#main .bakery-vitrine .bakery-shop-card h3{font-size:clamp(18px,1.7vw,25px);line-height:1.8;font-weight:600;margin:0;min-height:1.8em}
.bakery-shop-card-open>p{font-size:12px;line-height:2.2;color:var(--text-secondary);margin:8px 0 24px;min-height:4.4em}
.bakery-shop-card-detail{display:block;font-size:11px;color:var(--brand);border-top:1px solid var(--line);padding-top:14px;margin-top:auto}
.bakery-visit{display:flex;align-items:center;gap:32px;margin-bottom:90px;padding:32px 0;border-block:1px solid var(--line)}
#main .bakery-visit h2{font-size:25px}.bakery-visit>div{margin-left:auto}.bakery-visit p{font-size:12px;line-height:2.3;color:var(--text-secondary);margin-top:10px}.bakery-visit .text-link{font-size:11px;flex-shrink:0}.bakery-visit .button{font-size:12px;margin:0;flex-shrink:0}
body.bakery-dialog-open{overflow:hidden}
.bakery-bread-dialog{width:min(94vw,1000px);max-width:1000px;max-height:90dvh;overflow-y:auto;background:radial-gradient(ellipse at 5% 15%,#2eb0c60c,transparent 60%),#060d10;color:var(--paper);border:1px solid #9bdded38;border-radius:12px;padding:50px 38px 26px;direction:rtl;box-shadow:0 30px 100px #000a;font-family:Pinar,sans-serif}
.bakery-bread-dialog::backdrop{background:#000c;backdrop-filter:blur(10px)}
.bakery-dialog-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:center}
.bakery-bread-dialog-photo{min-width:0;display:grid;place-items:center;grid-column:2;grid-row:1;background:radial-gradient(ellipse,#2eb0c60b,transparent 70%)}
.bakery-bread-dialog-photo img{width:100%;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 16px 10px #0007)}
.bakery-bread-dialog-copy{grid-column:1;grid-row:1;min-width:0}
.bakery-dialog-close{position:absolute;display:grid;place-items:center;width:40px;height:40px;left:16px;top:16px;color:var(--paper);border:1px solid #9bdded40;background:transparent;padding:0;cursor:pointer}
.bakery-dialog-close svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}
.bakery-dialog-close:hover{border-color:var(--brand);color:var(--brand)}
.bakery-bread-dialog-copy>h2{font-family:Pinar,sans-serif;font-size:34px;font-weight:700;line-height:1.6;white-space:normal;margin:0}
.bakery-bread-dialog-copy>p:not(.bakery-shop-eyebrow){font-size:14px;color:var(--text-secondary);line-height:2.3;margin-top:18px}
.bakery-bread-dialog-copy dl{margin:24px 0 0;font-size:12px;line-height:2.1}
.bakery-bread-dialog-copy dl>div{display:flex;justify-content:space-between;gap:20px;padding-block:12px;border-bottom:1px solid var(--line)}
.bakery-bread-dialog-copy dt{color:var(--bakery-muted,#a4b8bd)}
.bakery-bread-dialog-copy dd{margin:0;text-align:left}
.bakery-bread-dialog-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line);font-size:11px;color:var(--text-secondary)}
.bakery-bread-dialog-nav button{min-height:44px;width:fit-content;padding:9px 17px;background:transparent;border:1px solid #9bdded30;color:var(--brand);font:400 12px/2 Pinar,sans-serif;cursor:pointer}
.bakery-bread-dialog-nav button:hover{border-color:var(--brand);background:var(--brand-soft)}
.bakery-bread-dialog-nav button:focus-visible,.bakery-dialog-close:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.footer-pages{display:flex;align-items:center;flex-wrap:wrap;gap:20px}
.desktop-nav a{white-space:nowrap}
@keyframes loutca-bread-enter{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@media(min-width:801px) and (max-width:1100px){.desktop-nav{gap:clamp(12px,1.7vw,20px);font-size:11px}.site-header{gap:18px}}
@media(max-width:1100px){.bakery-shop-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bakery-shop-hero{min-height:640px}.bakery-shop-hero-grid{min-height:570px}.bakery-shop-hero-copy>p:not(.bakery-shop-eyebrow){font-size:13px}.bakery-shop-hero-caption{inset-inline:8%;font-size:11px}.bakery-shop-hero-caption>span:last-child{display:none}.bakery-shop-card-open{padding-inline:19px}}
@media(max-width:760px){
 .bakery-shop-shell{width:88%}.bakery-shop-hero{min-height:0;padding-top:42px}.bakery-shop-hero-grid{grid-template-columns:1fr;gap:8px;min-height:0}.bakery-shop-hero-copy{padding-block:8px 10px}.bakery-shop-eyebrow{font-size:11px;margin-bottom:16px}
 #main .bakery-vitrine h1{font-size:clamp(46px,11vw,76px);line-height:1.5;letter-spacing:-.5px}.bakery-shop-hero-copy h1 br{display:none}.bakery-shop-hero-copy h1 em{margin-right:8px}.bakery-shop-hero-copy>p:not(.bakery-shop-eyebrow){font-size:13px;line-height:2.3;margin:18px 0 22px;max-width:430px}.bakery-shop-hero-copy>p br{display:none}.bakery-shop-hero-copy .button{min-height:46px;font-size:11px;padding:10px 18px}
 .bakery-shop-hero-art{width:min(100%,530px);margin:0 auto;padding:7%;aspect-ratio:1.06}.bakery-shop-hero-loaf{transform:rotate(-13deg)}.bakery-shop-hero-caption{bottom:2px;inset-inline:10%;font-size:11px}.bakery-shop-hero-caption>span:last-child{display:block;font-size:9px}
 .bakery-shop-catalog{padding-block:55px 50px;margin-top:25px}.bakery-shop-catalog-heading{display:block;margin-bottom:24px}#main .bakery-vitrine h2{font-size:34px}.bakery-shop-catalog-heading>p{font-size:12px;max-width:none;margin-top:12px}.bakery-shop-toolbar{display:block;padding-bottom:22px}.bakery-shop-filters{gap:7px}.bakery-shop-filters button{font-size:11px;padding:8px 13px}.bakery-shop-count{font-size:11px;margin-top:14px}
 .bakery-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.bakery-shop-card-open{padding:14px}.bakery-shop-card-image{margin-bottom:5px}.bakery-shop-card-category{font-size:10px;margin-bottom:5px}#main .bakery-vitrine .bakery-shop-card h3{font-size:18px;line-height:1.8;min-height:3.6em}.bakery-shop-card-open>p{font-size:11px;line-height:2.1;min-height:4.2em;margin:5px 0 17px}.bakery-shop-card-detail{font-size:10px;padding-top:11px}
 .bakery-bread-dialog{padding:60px 23px 24px;width:92vw;max-height:90dvh}.bakery-dialog-content{grid-template-columns:1fr;gap:15px}.bakery-bread-dialog-photo{grid-row:1;grid-column:1;max-width:300px;max-height:30dvh;aspect-ratio:1;width:100%;margin:auto}.bakery-bread-dialog-photo img{max-height:30dvh}.bakery-bread-dialog-copy{grid-row:2;grid-column:1}.bakery-bread-dialog-copy .bakery-shop-eyebrow{display:none}.bakery-bread-dialog-copy>h2{font-size:28px}.bakery-bread-dialog-copy>p:not(.bakery-shop-eyebrow){font-size:13px;line-height:2.1;margin-top:12px}.bakery-bread-dialog-copy dl{margin-top:16px;font-size:12px}.bakery-bread-dialog-copy dl>div{padding-block:9px}.bakery-bread-dialog-nav{gap:10px;margin-top:20px}.bakery-bread-dialog-nav button{font-size:11px;padding:8px 13px}
 .bakery-visit{flex-wrap:wrap;gap:18px 24px;margin-bottom:55px;padding:25px 0}.bakery-visit>div{width:100%}#main .bakery-visit h2{font-size:23px}.bakery-visit p{font-size:12px}.bakery-visit .button{font-size:11px;margin:0}.footer-pages{gap:15px}
}
@media(max-width:380px){#main .bakery-vitrine h1{font-size:43px}.bakery-shop-hero-caption>span:last-child{display:none}.bakery-shop-filters{gap:5px}.bakery-shop-filters button{padding:7px 10px;font-size:10px}.bakery-shop-grid{gap:10px}.bakery-shop-card-open{padding:11px}#main .bakery-vitrine .bakery-shop-card h3{font-size:16px}.bakery-shop-card-open>p{font-size:10px}.bakery-bread-dialog{padding-inline:18px}.bakery-bread-dialog-nav button{padding-inline:10px;font-size:10px}.bakery-dialog-count{font-size:10px}}
@media(prefers-reduced-motion:reduce){.bakery-vitrine *,.bakery-bread-dialog *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.bakery-shop-hero-loaf{transform:rotate(-13deg)!important}.bakery-shop-card:hover,.bakery-shop-card:focus-within,.bakery-shop-card-open:is(:hover,:focus-visible) img{transform:none!important}}

/* Detail windows follow their content and the loaf's bounds, rather than a square canvas. */
.bakery-bread-dialog{width:min(92vw,880px);height:max-content;block-size:max-content;min-height:0;min-block-size:0;max-height:90dvh;max-block-size:90dvh;inset:0;margin:auto;padding:26px 26px 16px}
.bakery-dialog-content{gap:24px;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center}
.bakery-bread-dialog-photo{position:relative;display:block;justify-self:center;align-self:center;overflow:hidden;aspect-ratio:var(--bread-ratio);width:min(100%,calc(min(330px,44dvh) * var(--bread-ratio)));height:auto;min-height:0;max-height:none;margin:0}
.bakery-bread-dialog-photo img{position:absolute;left:var(--bread-image-left);top:var(--bread-image-top);width:var(--bread-image-width);height:var(--bread-image-height);max-width:none;max-height:none;aspect-ratio:auto;object-fit:fill;filter:none}
.bakery-bread-dialog-copy .bakery-shop-eyebrow{margin-bottom:10px;font-size:10px}
.bakery-bread-dialog-copy>h2{font-size:30px;line-height:1.6}
.bakery-bread-dialog-copy>p:not(.bakery-shop-eyebrow){margin:12px 0 0;font-size:13px;line-height:2.15}
.bakery-bread-dialog-copy dl{margin:16px 0 0;font-size:11px}
.bakery-bread-dialog-copy dl>div{padding-block:9px}
.bakery-bread-dialog-nav{margin-top:18px;padding-top:14px;gap:12px}
.bakery-bread-dialog-nav button{min-height:40px;padding:7px 14px;font-size:11px}
.bakery-dialog-close{width:34px;height:34px;top:10px;left:10px;z-index:2;background:#060d10e6}
@media(max-width:760px){
 .bakery-bread-dialog{width:min(92vw,520px);padding:48px 20px 15px;max-height:90dvh}
 .bakery-dialog-content{grid-template-columns:minmax(0,1fr);gap:18px}
 .bakery-bread-dialog-photo{grid-column:1;grid-row:1;width:min(100%,calc(min(190px,25dvh) * var(--bread-ratio)));max-width:none;max-height:none;margin:0 auto}
 .bakery-bread-dialog-copy{grid-column:1;grid-row:2}
 .bakery-bread-dialog-copy>h2{font-size:25px}
 .bakery-bread-dialog-copy>p:not(.bakery-shop-eyebrow){font-size:12px;line-height:2.1;margin-top:9px}
 .bakery-bread-dialog-copy dl{margin-top:12px;font-size:11px}
 .bakery-bread-dialog-copy dl>div{padding-block:8px}
 .bakery-bread-dialog-nav{margin-top:15px;padding-top:12px}
}
@media(max-height:600px) and (min-width:761px){.bakery-bread-dialog{padding:22px 24px 14px}.bakery-bread-dialog-photo{width:min(100%,calc(48dvh * var(--bread-ratio)))}.bakery-bread-dialog-copy .bakery-shop-eyebrow{display:none}.bakery-bread-dialog-copy>h2{font-size:26px}.bakery-bread-dialog-copy>p:not(.bakery-shop-eyebrow){font-size:12px;line-height:2}.bakery-bread-dialog-nav{margin-top:12px;padding-top:10px}}
