.product-modal{--product-modal-gallery-background:color-mix(in srgb,var(--surface) 90%,var(--page-background));--product-modal-selected-background:color-mix(in srgb,var(--rose) 6%,var(--surface));display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;width:min(1180px,calc(100vw - 48px));height:min(820px,calc(100dvh - 48px));border:1px solid var(--line-subtle);border-radius:28px;background:var(--page-background);color:var(--ink);font-family:var(--catalog-font)}.product-modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.product-modal-header{display:flex;align-items:center;gap:14px;min-width:0;padding:18px 28px;border-bottom:1px solid var(--line-subtle)}.product-modal-heading{--product-modal-title-size:clamp(22px,2.5vw,30px);flex:1 1;min-width:0}.product-modal-heading .eyebrow{margin:0 0 4px;color:var(--accent-ink);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.product-modal-heading:has(.product-modal-category-icon) .eyebrow{padding-inline-start:calc(var(--product-modal-title-size) + 8px)}.product-modal-heading h2{display:flex;align-items:flex-start;gap:8px;margin:0;color:var(--product-name-color,var(--ink));font:600 var(--product-modal-title-size)/1.2 var(--product-name-font-family,var(--catalog-font));overflow-wrap:anywhere}.product-modal-heading h2>span{min-width:0}.product-modal-category-icon{flex:0 0 1em;width:1em;height:1em;margin-top:.1em;color:var(--accent-ink)}.product-modal-actions{display:flex;flex:0 0 auto;align-items:center;gap:8px}.product-modal .product-modal-close,.product-modal .product-modal-share{position:static;display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:14px;padding:0;background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--ink);box-shadow:none}.product-modal .product-modal-share.is-copied{background:var(--sage);color:var(--secondary-contrast)}.product-modal .product-modal-share.is-error{background:var(--rose);color:var(--primary-contrast)}.product-modal .product-modal-close:hover,.product-modal .product-modal-share:hover:not(.is-copied):not(.is-error){background:var(--surface)}.product-modal .product-modal-form{grid-column:1;grid-row:2/4;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}.product-modal .product-modal-form>.product-modal-scroll,.product-modal>.product-modal-scroll{grid-column:1;grid-row:2;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);min-width:0;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:var(--line-subtle) transparent}.product-modal .product-modal-form>.product-modal-scroll{grid-row:1}.product-modal-overview{min-width:0;border-right:1px solid var(--line-subtle)}.product-modal .product-gallery,.product-modal-overview{padding:12px;background:var(--product-modal-gallery-background)}.product-modal .product-gallery{grid-column:auto;grid-row:auto;display:grid;align-content:start;grid-template-rows:auto auto;gap:8px}.product-modal-overview .product-gallery{padding:0}.product-modal .product-carousel{width:100%;height:auto;min-height:0;aspect-ratio:4/3;border-radius:10px;background:var(--page-background);box-shadow:0 3px 10px color-mix(in srgb,var(--ink) 10%,transparent)}.product-modal .product-thumbnails{gap:6px;padding:3px}.product-modal .product-thumbnails button{flex-grow:0;flex-shrink:0;flex-basis:calc((100% - 12px) / 3);width:auto;height:auto;aspect-ratio:3/2;border:2px solid transparent;border-radius:5px}.product-modal .product-thumbnails button.is-active{border-color:var(--rose)}.product-modal .product-modal-details{grid-column:auto;grid-row:auto;min-width:0;overflow:visible;padding:28px}.product-modal-information{margin-top:20px}.product-modal .description{margin:0;color:color-mix(in srgb,var(--ink) 82%,transparent);font-size:14px;line-height:1.7;overflow-wrap:anywhere}.product-modal .serves-people{color:var(--accent-ink)}.product-modal .included-configurator{gap:24px}.product-modal .included-configurator h3{color:var(--ink);font:600 25px/1.25 var(--cover-title-font)}.product-modal .included-configurator fieldset{min-width:0;margin:0;padding:20px 0 0;border:0;border-top:1px solid var(--line-subtle);border-radius:0;background:transparent}.product-modal .included-configurator legend{max-width:100%;padding:0 10px 0 0;color:var(--accent-ink);font-size:13px;font-weight:600;overflow-wrap:anywhere}.product-modal .included-choices{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:10px}.product-modal .included-choices label{position:relative;align-items:center;min-width:0;min-height:80px;gap:10px;padding:14px 12px;border:1px solid var(--line-subtle);border-radius:7px;background:var(--page-background)}.product-modal .included-choices label:hover{border-color:var(--rose)}.product-modal .included-choices label.is-selected{border-color:var(--rose);background:var(--product-modal-selected-background);box-shadow:inset 0 0 0 1px var(--rose)}.product-modal .included-choices span{display:flex;flex-direction:column;gap:5px;min-width:0;font-size:14px;line-height:1.4;overflow-wrap:anywhere}.product-modal .included-choices small{color:var(--accent-ink);font-size:12px}.product-modal .included-choices input[type=radio]{width:16px;height:16px;margin:0;accent-color:var(--rose)}.product-modal .included-choice-image{width:38px;height:38px;flex-basis:38px;border-radius:5px}.product-modal .included-extra-field input,.product-modal .included-extra-field select{border-color:var(--line-subtle);background:var(--surface);color:var(--ink);font-family:var(--catalog-font)}.product-modal .product-purchase-row{grid-column:1;grid-row:3;padding:16px 28px;border-top:1px solid var(--line-subtle);background:color-mix(in srgb,var(--surface) 92%,var(--page-background));box-shadow:0 -4px 16px color-mix(in srgb,var(--ink) 3%,transparent)}.product-modal .product-modal-form>.product-purchase-row{grid-row:2}.product-modal-total{display:grid;gap:4px;min-width:0}.product-modal-total>span{color:color-mix(in srgb,var(--ink) 82%,transparent);font-size:10px;font-weight:700;letter-spacing:.045em;text-transform:uppercase}.product-modal .product-purchase-row .price{color:var(--product-price-color,var(--rose));font:600 28px/1.15 var(--product-price-font-family,var(--catalog-font))}.product-modal .primary-button{min-height:46px;border:1px solid var(--rose);border-radius:6px;background:var(--rose);color:var(--primary-contrast);box-shadow:none;font-family:var(--catalog-font)}.product-modal .included-choices label:has(input:focus-visible),.product-modal :is(button,input,select):focus-visible{outline:2px solid var(--rose);outline-offset:3px}@media (max-width:900px){.product-modal{width:100vw;height:100dvh;border:0;border-radius:0}.product-modal-header{gap:10px;padding:calc(14px + env(safe-area-inset-top)) 16px 14px}.product-modal-heading{--product-modal-title-size:22px}.product-modal .product-modal-close,.product-modal .product-modal-share{width:40px;height:40px}.product-modal .product-modal-form>.product-modal-scroll,.product-modal>.product-modal-scroll{display:block}.product-modal-overview{padding:8px;border-right:0;border-bottom:1px solid var(--line-subtle)}.product-modal .product-gallery{padding:8px}.product-modal-overview .product-gallery{padding:0}.product-modal .product-thumbnails button{flex-basis:112px}.product-modal .product-modal-details{padding:24px 20px}.product-modal .product-purchase-row{gap:12px;padding:14px 20px calc(14px + env(safe-area-inset-bottom))}.product-modal .product-purchase-row .primary-button{min-width:0;padding-inline:16px;font-size:13px;white-space:normal}.product-modal .product-purchase-row .price{font-size:24px}}@media (max-width:380px){.product-modal .included-choices{grid-template-columns:minmax(0,1fr)}.product-modal .product-purchase-row{flex-wrap:wrap}.product-modal .product-purchase-row .primary-button{flex:1 1 100%;margin-left:0}}