/* A compact product view: ingredients remain available in a disclosure. */
.product-detail-trigger{display:block;width:100%;padding:0;text-align:inherit;cursor:pointer;font:inherit;color:inherit}
.product-title-button{display:block;width:100%;padding:0;border:0;background:transparent;text-align:inherit;color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
.product-title-button:hover,.product-title-button:focus{background:transparent;color:#F54442}
.product-detail-trigger:focus-visible,.product-title-button:focus-visible,.product-details-link:focus-visible{outline:2px solid #F54442;outline-offset:4px}

dialog.product-dialog{padding:0;border:1px solid #eee7df;border-radius:22px;width:min(900px,calc(100vw - 48px));max-width:900px;height:fit-content;max-height:calc(100dvh - 40px);margin:auto;background:#fffdf8;color:#302821;box-shadow:0 28px 110px #28191438;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
dialog.product-dialog::backdrop{background:#211a177d;backdrop-filter:blur(7px)}
.product-detail-toolbar{height:0;position:sticky;top:0;z-index:3}
.euro-demo .product-detail-close{position:absolute;right:14px;top:14px;display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid #e9ded3;border-radius:50%;background:#fffdf8;color:#302821;font:400 25px/1 var(--body-font,sans-serif);cursor:pointer;transition:background .2s,transform .2s}
.euro-demo .product-detail-close:hover,.euro-demo .product-detail-close:focus{background:#F5444217;color:#302821;border-color:#F5444266}
.euro-demo .product-detail-close:active{transform:scale(.94)}
.product-dialog :is(button,a,summary):focus-visible{outline:2px solid #F54442;outline-offset:4px}
.product-detail-shell{display:grid;grid-template-columns:minmax(0,.96fr) minmax(0,1fr);min-height:0}
.product-detail-photo{display:flex;align-items:center;justify-content:center;min-width:0;background:#f7f2e9;border-right:1px solid #e9e1d7;padding:26px;overflow:hidden}
.product-detail-photo img{display:block;width:100%;height:auto;max-height:460px;object-fit:contain;mix-blend-mode:multiply}
.product-detail-content{padding:32px 32px 25px;min-width:0}
.product-detail-heading{padding-right:20px}
.euro-demo .product-detail-category{font:700 10px/1.45 var(--body-font,sans-serif);letter-spacing:.12em;color:#F54442;margin:0 0 10px;text-transform:uppercase}
.euro-demo .product-detail-content h2{font:800 32px/1.08 var(--heading-font,sans-serif);letter-spacing:-.025em;margin:0 0 14px;color:#302821;overflow-wrap:anywhere}
.product-detail-price-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 16px}
.euro-demo .product-detail-price{font:700 25px/1 var(--heading-font,sans-serif);color:#F54442;margin:0}
.product-detail-unit{border-left:1px solid #ded3c6;padding-left:12px;font:500 12px/1.4 var(--body-font,sans-serif);color:#76695f}
.euro-demo .product-detail-description{font:400 14px/1.6 var(--body-font,sans-serif);color:#786b62;margin:0 0 16px}
.product-detail-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));margin:0 0 15px;padding:13px 0;gap:12px;border-top:1px solid #e9e1d7;border-bottom:1px solid #e9e1d7}
.product-detail-facts dt{font:700 9px/1.4 var(--body-font,sans-serif);letter-spacing:.07em;color:#88766a;margin:0 0 4px}
.product-detail-facts dd{font:500 12px/1.55 var(--body-font,sans-serif);color:#453a33;margin:0}
.product-detail-ingredients{margin:0 0 18px;border:1px solid #e9e1d7;border-radius:10px;padding:0 13px;background:#faf7f0}
.euro-demo .product-detail-ingredients summary{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:41px;cursor:pointer;list-style:none;font:700 11px/1.4 var(--heading-font,sans-serif);letter-spacing:.025em;color:#4c3e35;padding:10px 0}
.product-detail-ingredients summary::-webkit-details-marker{display:none}
.product-detail-ingredients summary>span{font:400 21px/1 var(--body-font,sans-serif);color:#F54442;transition:transform .2s}
.product-detail-ingredients[open] summary>span{transform:rotate(45deg)}
.euro-demo .product-detail-ingredients p{font:400 12px/1.7 var(--body-font,sans-serif);color:#786b62;margin:0;padding:0 0 13px}
.product-detail-purchase{display:grid;grid-template-columns:111px minmax(0,1fr);gap:10px;align-items:center}
.product-detail-quantity-row{margin:0;min-width:0}
.product-detail-stepper{display:flex;align-items:center;justify-content:space-between;height:48px;border:1px solid #ded3c6;border-radius:10px;background:#fffdf8;padding:4px;gap:2px}
.euro-demo .product-detail-stepper button{width:30px;height:36px;border:0;border-radius:6px;background:transparent;color:#302821;font:400 20px/1 var(--body-font,sans-serif);padding:0;cursor:pointer;transition:background .2s}
.euro-demo .product-detail-stepper button:hover:not(:disabled),.euro-demo .product-detail-stepper button:focus-visible{background:#F5444217;color:#302821}
.product-detail-stepper button:disabled{opacity:.3;cursor:default}
.product-detail-stepper output{display:block;min-width:23px;text-align:center;font:600 14px/1 var(--body-font,sans-serif)}
.euro-demo .product-dialog .product-detail-add{width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:8px!important;border:1px solid #F54442;border-radius:10px!important;background:#F54442!important;color:#241916!important;box-shadow:none!important;padding:12px 13px!important;text-align:left;font:600 13px/1.4 var(--body-font,sans-serif)!important;cursor:pointer;transition:transform .2s,box-shadow .2s}
.euro-demo .product-dialog .product-detail-add:hover:not(:disabled){background:#F54442!important;color:#241916!important;transform:translateY(-1px);box-shadow:0 5px 12px #F5444226!important}
.euro-demo .product-dialog .product-detail-add:active:not(:disabled){transform:translateY(0)}
.product-dialog .product-detail-add:disabled{opacity:.5;cursor:default}
.product-detail-add>span:last-child{white-space:nowrap;font-weight:700;font-size:12px}
.euro-demo .product-detail-limit,.euro-demo .product-detail-feedback{grid-column:1/-1;font:500 11px/1.55 var(--body-font,sans-serif);margin:1px 0 0}
.euro-demo .product-detail-limit{color:#F54442}
.euro-demo .product-detail-feedback{color:#477250}
.product-detail-feedback:empty{display:none}
.euro-demo .product-detail-bag{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;border:0;background:transparent;color:#7a695e;padding:0;min-height:30px;margin-top:9px;font:500 11px/1.4 var(--body-font,sans-serif);cursor:pointer}
.euro-demo .product-detail-bag:hover,.euro-demo .product-detail-bag:focus{background:transparent;color:#F54442}
.product-detail-bag>span{font-size:16px}
html[lang="ka"] .euro-demo .product-detail-content h2{font-size:25px;line-height:1.3;letter-spacing:0}
html[lang="ka"] .euro-demo :is(.product-detail-content h2,.product-detail-category,.product-detail-facts dt,.product-detail-ingredients summary){text-transform:none}
html[lang="ka"] .euro-demo .product-detail-description{font-size:12px;line-height:1.75}
html[lang="ka"] .euro-demo .product-detail-category{font-size:9px;letter-spacing:0}
html[lang="ka"] .product-detail-facts dt{font-size:8px;letter-spacing:0}
html[lang="ka"] .product-detail-facts dd{font-size:11px}
html[lang="ka"] .euro-demo .product-detail-ingredients summary{font-size:10px;letter-spacing:0}
html[lang="ka"] .euro-demo .product-detail-ingredients p{font-size:11px;line-height:1.8}
html[lang="ka"] .euro-demo .product-dialog .product-detail-add{font-size:11px!important}
html[lang="ru"] .euro-demo .product-detail-content h2{font-size:28px;line-height:1.13}
@media(max-width:780px){
  dialog.product-dialog{width:calc(100vw - 30px);max-height:calc(100dvh - 30px)}
  .product-detail-shell{grid-template-columns:minmax(0,.85fr) minmax(0,1fr)}
  .product-detail-content{padding:32px 22px 20px}
  .product-detail-photo{padding:15px}
  .euro-demo .product-detail-content h2{font-size:28px}
  .product-detail-purchase{grid-template-columns:98px minmax(0,1fr)}
  .product-detail-stepper button{width:26px}
  html[lang="ka"] .euro-demo .product-detail-content h2{font-size:23px}
  html[lang="ru"] .euro-demo .product-detail-content h2{font-size:25px}
}
@media(max-width:600px){
  dialog.product-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:18px}
  .product-detail-shell{grid-template-columns:1fr;min-height:0}
  .product-detail-photo{box-sizing:border-box;width:100%;aspect-ratio:1/1;height:auto;min-height:0;border-right:0;border-bottom:1px solid #e9e1d7;padding:12px}
  .product-detail-photo img{height:100%;width:100%;min-height:0;max-height:none;object-fit:contain}
  .product-detail-content{padding:20px 22px 16px}
  .product-detail-heading{padding-right:0}
  .euro-demo .product-detail-content h2{font-size:26px;margin-bottom:10px}
  .euro-demo .product-detail-category{font-size:9px;margin-bottom:7px}
  .product-detail-price-row{margin-bottom:12px}
  .euro-demo .product-detail-price{font-size:23px}
  .euro-demo .product-detail-description{font-size:13px;line-height:1.55;margin-bottom:13px}
  .product-detail-facts{padding:9px 0;margin-bottom:12px;gap:10px}
  .product-detail-facts dd{font-size:12px}
  .product-detail-ingredients{margin-bottom:14px}
  .euro-demo .product-detail-ingredients summary{min-height:37px;padding:8px 0}
  .product-detail-purchase{grid-template-columns:101px minmax(0,1fr)}
  .euro-demo .product-detail-add{min-height:46px!important}
  .product-detail-stepper{height:46px}
  .euro-demo .product-detail-bag{margin-top:6px;min-height:27px}
  .euro-demo .product-detail-close{top:10px;right:10px;width:34px;height:34px;font-size:24px}
  html[lang="ka"] .euro-demo .product-detail-content h2{font-size:21px;line-height:1.32}
  html[lang="ka"] .euro-demo .product-detail-description{font-size:11px;line-height:1.75}
  html[lang="ru"] .euro-demo .product-detail-content h2{font-size:23px}
}
@media(max-width:600px) and (max-height:740px){
  .product-detail-content{padding:15px 20px 12px}
  .euro-demo .product-detail-content h2{font-size:24px;margin-bottom:9px}
  .product-detail-price-row{margin-bottom:10px}
  .euro-demo .product-detail-description{margin-bottom:10px}
  .product-detail-ingredients{margin-bottom:11px}
  html[lang="ka"] .euro-demo .product-detail-content h2{font-size:19px}
  html[lang="ru"] .euro-demo .product-detail-content h2{font-size:21px}
}
@media(prefers-reduced-motion:reduce){
  .product-dialog :is(button,summary>span){transition:none!important}
  .euro-demo .product-dialog button:hover{transform:none!important}
}
