/* Restored locally approved catalog card geometry. */
.shop-hero{padding:25px 28px;border-radius:16px}.shop-hero h2{font-size:27px;margin:8px 0}.shop-hero p{margin:0;font-size:14px}.shop-products{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.shop-product{position:relative;display:flex;flex-direction:column;min-width:0;min-height:260px;padding:24px;margin:0;border-radius:16px;box-shadow:0 6px 22px #183f3507}.shop-product .product-thumbnail{position:absolute;right:20px;top:20px;float:none;width:120px;height:120px;margin:0;padding:6px;border-radius:12px;background:#f5faf8;border:1px solid #dce7e1;cursor:zoom-in}.shop-product .product-thumbnail img{width:100%;height:100%;object-fit:contain}.shop-product>.tag{align-self:flex-start;max-width:calc(100% - 136px);min-height:26px;margin:0 0 10px;font-size:11px;padding:5px 9px;white-space:normal}.shop-product>h3{font-size:16px;margin:5px 0 10px;padding-right:132px;min-height:88px;overflow-wrap:anywhere}.shop-product>small{font-size:12px}.shop-product .shop-description{font-size:13px;line-height:1.6;flex:1}.shop-product>p.tag{font-size:12px;padding:5px 9px}.shop-product details{clear:none;font-size:12px}.shop-product summary{text-align:center;text-decoration:underline;color:#416e59;cursor:pointer;list-style:none;padding:6px 0}.shop-product summary::-webkit-details-marker{display:none}.shop-product details p{font-size:12px}.shop-product .product-footer{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-top:20px}.shop-product .price{font-size:23px;font-weight:700}.shop-product .price del{display:block;font-size:14px;font-weight:400;color:#718681;margin-bottom:4px}.shop-product .price>.error{margin:0;color:#c13232}.shop-product .shop-interval{display:block;font-size:11px;font-weight:400;color:#718681;margin-top:4px}.shop-product .price p.error{color:#c13232;font-size:12px;line-height:1.5;font-weight:500;margin:6px 0 0}.shop-product .product-footer>p{margin:0}.shop-product .button{display:inline-flex;justify-content:center;align-items:center;padding:11px 16px;border-radius:10px;font-size:13px;white-space:nowrap}@media(max-width:1100px){.shop-products{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.shop-products{grid-template-columns:1fr}.shop-product{min-height:220px}}@media(max-width:420px){.shop-product .product-thumbnail{width:96px;height:96px;right:18px;top:18px}.shop-product>.tag{max-width:calc(100% - 110px)}.shop-product>h3{padding-right:108px;min-height:72px}}

.shop-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:22px 0;max-width:none!important}.shop-tools input[type=search]{flex:1;min-width:180px;width:auto;margin:0;padding:11px 12px;font-size:14px}.shop-tools select{width:auto;margin:0;padding:11px 12px;font-size:14px}.shop-tools .button{padding:11px 16px;font-size:13px;border-radius:10px}

.shop-product .shop-empty-image{display:grid;place-content:center;text-align:center;font-size:11px;color:#718681;cursor:default}

.shop-product .catalog-ek{margin-bottom:14px}.shop-product .catalog-ek small{margin:0 0 3px;font-size:11px;color:#718681}.shop-product .catalog-ek strong{font-size:17px;font-weight:650}.shop-product .price .catalog-vk-label{margin:0 0 5px;font-size:11px;color:#718681}


.shop-product .price.catalog-price-stack{min-width:0;font-weight:400}.shop-product .catalog-ek-line{margin:0 0 5px;font-size:19px;line-height:1.45}.shop-product .catalog-ek-line strong{font-weight:700}.shop-product .catalog-uvp-line{display:block;margin:0;color:#718681;font-size:13px;font-weight:400;line-height:1.6}.shop-product .catalog-uvp-line del{display:inline;font-size:13px;font-weight:400;margin:0;color:#718681}.shop-product .catalog-uvp-line .sale-uvp{color:#c13232;font-weight:400}.shop-product .catalog-price-stack .shop-interval{margin-top:3px;font-weight:400}

.shop-product .product-footer{flex-wrap:wrap}.shop-product .catalog-price-stack{flex:1 1 180px}.shop-product .catalog-ek-line strong{white-space:nowrap}.shop-product .product-footer>p{margin-left:auto}

.shop-product .catalog-ek-line{display:flex;align-items:baseline;gap:6px;flex-wrap:nowrap;white-space:nowrap}.shop-product .catalog-ek-line .catalog-net-note{display:inline;margin:0;font-size:11px;font-weight:400;line-height:1.4;color:#718681;white-space:nowrap}

.shop-product .catalog-vk-line.sale-price strong{color:#c13232}.shop-product .catalog-normal-vk{font-size:13px;font-weight:400;color:#718681}

.catalog-sort-toolbar{margin:0 0 16px}.catalog-sort-toolbar p{font-size:13px;margin:9px 0}.shop-product .catalog-sort-controls{position:absolute;left:20px;top:12px;display:flex;gap:5px}.portal-app .shop-product .catalog-sort-controls button{padding:3px 7px;min-height:28px;font-size:17px;border:1px solid #dce7e1;background:#f5faf8;color:#416e59;border-radius:7px}.shop-product .catalog-sort-grip{cursor:grab}.catalog-sort-enabled .shop-product{padding-top:58px}.catalog-sort-dragging{opacity:.5}.catalog-sort-target{outline:3px solid #078a62;outline-offset:2px}.catalog-sort-controls button:disabled{opacity:.35;cursor:default}



.shop-product .catalog-direct-billing-notice{flex:0 0 auto;width:100%;margin:16px 0 0;text-align:center;font-size:11px;font-weight:400;line-height:1.6;color:#718681;overflow-wrap:anywhere}

/* Small, read-only dependency information in the shop. */
.shop-product .catalog-addon-info{margin:4px 0 12px;font-size:11px}
.shop-product .catalog-addon-info button{padding:0;border:0;background:transparent;color:#718681;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:24px;text-align:left}
.shop-product .catalog-addon-info button:hover{color:#184c39}
.catalog-addon-dialog{width:min(760px,calc(100vw - 32px));max-height:85vh;overflow:auto;text-align:left}
.catalog-addon-heading{display:flex;align-items:start;justify-content:space-between;gap:16px}
.catalog-addon-heading h2{font-size:21px;margin:0}
.catalog-addon-heading button{padding:5px 12px;font-size:24px;flex:none}
.catalog-addon-item{display:flex;justify-content:space-between;gap:24px;padding:18px 0;border-bottom:1px solid #dce7e1}
.catalog-addon-dialog .catalog-addon-item h3{font-size:15px;margin:5px 0;padding:0;min-height:0}
.catalog-addon-item small{display:block;font-size:12px;line-height:1.6}
.catalog-addon-kind{color:#416e59;font-weight:600}
.catalog-addon-price{text-align:right;flex:0 0 auto}
.catalog-addon-price strong{font-size:18px}
.catalog-addon-price>small:first-of-type{display:inline;color:#718681}
.catalog-addon-dialog>p{font-size:13px;line-height:1.6}
.catalog-addon-dialog>.actions{margin-top:20px}
@media(max-width:540px){.catalog-addon-item{flex-direction:column;gap:10px}.catalog-addon-price{text-align:left}}

.catalog-addon-item .catalog-addon-billing-notice{margin-top:10px;font-size:11px;font-weight:400;color:#718681;line-height:1.6}

.shop-product .catalog-admin-actions{display:flex;justify-content:flex-end;margin-top:12px;padding-top:12px;border-top:1px solid #e8efeb}.shop-product .catalog-admin-actions .button{font-weight:500;font-size:12px;padding:8px 14px}

/* Shared header and metadata rows keep neighbouring product cards aligned. */
.portal-app .shop-product .catalog-product-header{display:grid;grid-template-columns:minmax(0,1fr) min(38%,120px);grid-template-rows:auto 1fr;gap:12px;min-width:0;min-height:120px}
.portal-app .shop-product .catalog-product-header .product-thumbnail{position:static;grid-column:2;grid-row:1/3;width:100%;height:auto;aspect-ratio:1;justify-self:end;align-self:start}
.portal-app .shop-product .catalog-product-header>.tag{grid-column:1;grid-row:1;align-self:start;justify-self:start;max-width:100%;margin:4px 0 0;font-size:11px;padding:5px 9px;white-space:normal}
.portal-app .shop-product .catalog-product-header>h3{grid-column:1;grid-row:2;align-self:start;font-size:16px;line-height:1.4;min-height:0;margin:0;padding:0;word-break:normal;overflow-wrap:break-word;hyphens:none}
.portal-app .shop-product .catalog-product-material{min-height:20px;margin:8px 0 10px;font-size:12px;line-height:20px;overflow-wrap:anywhere}
.portal-app .shop-product .catalog-product-meta{display:grid;grid-template-rows:minmax(42px,auto) 32px;gap:6px;margin:0 0 12px;min-width:0}
.portal-app .shop-product .catalog-os-slot .product-operating-systems{margin:0;min-height:42px;align-items:start}
.portal-app .shop-product .catalog-configuration-slot{display:flex;align-items:start;min-width:0}
.portal-app .shop-product .catalog-configuration-slot .configurable-badge{margin:0;white-space:nowrap;line-height:18px;font-size:11px;padding:5px 10px;flex:none}
.portal-app .shop-product .shop-description{margin-top:0}
@media(max-width:600px){
 .portal-app .shop-product .catalog-product-header{grid-template-columns:minmax(0,1fr) min(38%,106px);min-height:106px}
}

/* Wide shop rows: media, description, then purchasing information. */
.portal-app .shop-products{grid-template-columns:minmax(0,1fr);gap:18px}
.portal-app .shop-product{display:grid;grid-template-columns:160px minmax(0,1fr) 250px;gap:24px;align-items:start;min-height:0;padding:22px}
.portal-app .shop-product .catalog-row-media{min-width:0;align-self:center}
.portal-app .shop-product .catalog-row-media .product-thumbnail{position:static;float:none;width:100%;height:auto;aspect-ratio:1;margin:0;padding:8px;display:grid;place-items:center;border-radius:14px}
.portal-app .shop-product .catalog-row-media .product-thumbnail img{display:block;min-width:0;max-width:100%;width:100%;height:100%;object-fit:contain}
.portal-app .shop-product .catalog-row-info{min-width:0}
.portal-app .shop-product .catalog-row-info>.tag{max-width:100%;margin:0 0 10px;font-size:11px;white-space:normal}
.portal-app .shop-product .catalog-row-info>h3{font-size:21px;line-height:1.35;margin:0 0 8px;padding:0;min-height:0;word-break:normal;overflow-wrap:break-word}
.portal-app .shop-product .catalog-product-material{margin:0 0 10px;min-height:0;font-size:12px}
.portal-app .shop-product .catalog-product-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 10px;min-height:0}
.portal-app .shop-product .catalog-os-slot .product-operating-systems{min-height:0;margin:0;align-items:center}
.portal-app .shop-product .catalog-configuration-slot .configurable-badge{margin:0;line-height:20px}
.portal-app .shop-product .catalog-row-info .shop-description{margin:0;font-size:13px;line-height:1.65;overflow-wrap:anywhere}
.portal-app .shop-product .catalog-addon-info{margin:10px 0 0}
.portal-app .shop-product .catalog-row-purchase{min-width:0;padding-left:22px;border-left:1px solid #e1ebe5;align-self:stretch}
.portal-app .shop-product .product-footer{display:flex;flex-direction:column;align-items:stretch;gap:14px;margin:0}
.portal-app .shop-product .catalog-price-stack{flex:0 0 auto}
.portal-app .shop-product .product-footer>p{margin:0}
.portal-app .shop-product .product-footer>p>.button{width:100%}
.portal-app .shop-product .catalog-row-purchase>details{margin-top:10px;font-size:12px}
.portal-app .shop-product .catalog-row-purchase summary{text-align:left;padding:0;line-height:1.6}
.portal-app .shop-product .catalog-row-purchase .catalog-admin-actions{margin-top:10px;padding-top:10px}
.portal-app .shop-product .catalog-direct-billing-notice{margin-top:10px;font-size:11px;text-align:left}
.portal-app .catalog-sort-enabled .shop-product{padding-top:58px}
@media(max-width:1200px){
 .portal-app .shop-product{grid-template-columns:130px minmax(0,1fr) 210px;gap:18px}
 .portal-app .shop-product .catalog-row-purchase{padding-left:18px}
}
@media(max-width:760px){
 .portal-app .shop-product{grid-template-columns:110px minmax(0,1fr);gap:16px}
 .portal-app .shop-product .catalog-row-purchase{grid-column:1/-1;border-left:0;border-top:1px solid #e1ebe5;padding:16px 0 0}
 .portal-app .shop-product .product-footer{flex-direction:row;align-items:end;flex-wrap:wrap}
 .portal-app .shop-product .catalog-price-stack{flex:1 1 160px}
 .portal-app .shop-product .product-footer>p{flex:0 1 200px}
}
@media(max-width:480px){
 .portal-app .shop-product{grid-template-columns:80px minmax(0,1fr);padding:16px;gap:14px}
 .portal-app .shop-product .catalog-row-info>h3{font-size:18px}
 .portal-app .shop-product .catalog-row-media{align-self:start}
 .portal-app .shop-product .catalog-product-material{font-size:11px;line-height:1.6}
 .portal-app .shop-product .product-footer{flex-direction:column;align-items:stretch}
 .portal-app .shop-product .catalog-price-stack,.portal-app .shop-product .product-footer>p{flex:0 0 auto}
}
