:root{
 /* frost.food palette — one system for the whole storefront.
    brand: buttons, links, active states. deep: top bar. on-brand: text over blue.
    ink: headings and body. muted: secondary text. line: borders. fill: soft backgrounds. */
 --frost-brand:#163ccc;
 --frost-brand-dark:#102fab;
 --frost-brand-deep:#102a78;
 --frost-on-brand:#c8d6ff;
 --frost-ink:#17283f;
 --frost-muted:#6b7a90;
 --frost-line:#e2e8f1;
 --frost-fill:#f2f5fa;
 --frost-alert:#d23b1f;
 --frost-ok:#1f9d55;
}
:root{--background:#ffffff;--foreground:#17283f;--card:#ffffff;--card-foreground:#17283f;--popover:#ffffff;--popover-foreground:#17283f;--primary:#163ccc;--primary-foreground:#ffffff;--secondary:#f2f5fa;--secondary-foreground:#17283f;--muted:#f2f5fa;--muted-foreground:#6b7a90;--accent:#f2f5fa;--accent-foreground:#17283f;--destructive:#e7000b;--border:#e2e8f1;--input:#e2e8f1;--ring:#163ccc;--chart-1:#f54900;--chart-2:#009689;--chart-3:#102a78;--chart-4:#ffb900;--chart-5:#fe9a00;--radius:.75rem;--sidebar:#ffffff;--sidebar-foreground:#17283f;--sidebar-primary:#17283f;--sidebar-primary-foreground:#ffffff;--sidebar-accent:#f2f5fa;--sidebar-accent-foreground:#17283f;--sidebar-border:#e2e8f1;--sidebar-ring:#6b7a90}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{color:#17283f;background:#ffffff;margin:0;font-family:Onest,system-ui,sans-serif;font-size:16px}button,a,input,textarea{transition:background .18s,color .18s,transform .18s}button,a{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #90b8ff}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{background:0 0;border:0}small{font-size:13px}.topline{color:#f2f5fa;letter-spacing:1.25px;background:#102a78;justify-content:space-between;padding:10px 4.5%;font-size:11px;display:flex}.topline span:last-child{letter-spacing:.2px;align-items:center;gap:12px;font-size:12px;display:flex}header{border-bottom:1px solid #e2e8f1;align-items:center;gap:64px;height:100px;padding:0 4.5%;display:flex}.logo{letter-spacing:-2.8px;color:#163ccc;white-space:nowrap;align-items:center;font-size:43px;font-weight:850;display:inline-flex}.logo>span{margin:0 1px 0 4px;font-size:43px;line-height:1}.logo>small{letter-spacing:-1px;margin-left:1px;padding-top:11px;font-size:22px;font-weight:400}nav{align-items:center;gap:36px;height:100%;display:flex}nav a{align-items:center;height:100%;font-size:14px;display:flex;position:relative}nav a.active:after{content:"";background:#163ccc;height:3px;position:absolute;bottom:0;left:0;right:0}.head-actions{align-items:center;gap:28px;margin-left:auto;display:flex}.account,.bag{align-items:center;gap:10px;font-size:14px;display:flex}.bag{border-left:1px solid #e2e8f1;padding-left:25px}.bag>span{color:#163ccc;background:#f2f5fa;border-radius:50%;place-items:center;width:25px;height:25px;font-size:12px;display:grid}main{padding:24px 4.5% 0}.hero{color:#ffffff;background:#163ccc;border-radius:16px;grid-template-columns:1fr 1fr;min-height:480px;display:grid;overflow:hidden}.hero-copy{z-index:1;padding:43px 0 27px 44px;position:relative}.eyebrow{letter-spacing:1.5px;align-items:center;gap:9px;font-size:11px;font-weight:600;display:flex}.eyebrow>span{background:#96d7f9;border-radius:50%;width:5px;height:5px}h1{letter-spacing:-2.8px;margin:28px 0 22px;font-size:clamp(40px,4.3vw,67px);font-weight:500;line-height:1.07}h1 em{color:#c8d6ff;white-space:nowrap;font-size:.86em;font-style:normal}p{line-height:1.6}.hero-copy>p{color:#e2e8f1;margin-bottom:28px;font-size:16px}.primary{color:#ffffff;background:#163ccc;border-radius:7px;justify-content:space-between;align-items:center;gap:28px;min-height:49px;padding:15px 20px;font-size:14px;font-weight:600;display:inline-flex}.primary:hover{background:#102fab;transform:translateY(-1px)}.primary.white{color:#102fab;background:#ffffff}.primary.white:hover{background:#e2e8f1}.hero-foot{color:#c8d6ff;align-items:center;gap:9px;margin-top:28px;font-size:12px;display:flex}.hero-visual{min-width:0;position:relative}.hero-visual>img{object-fit:cover;object-position:56% center;width:100%;height:100%;display:block}.hero-visual:before{content:"";background:linear-gradient(90deg,#163ccc 0%,#0000 19%);position:absolute;inset:0}.round-label{color:#17283f;letter-spacing:1px;background:#daf082;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:95px;height:95px;font-size:9px;line-height:1.05;display:flex;position:absolute;top:25px;right:24px;transform:rotate(12deg)}.round-label b{letter-spacing:-.7px;font-size:21px;font-weight:600;line-height:1.15}.image-caption{letter-spacing:1.3px;justify-content:space-between;align-items:center;font-size:9px;display:flex;position:absolute;bottom:29px;left:40px;right:29px}.benefits{border-bottom:1px solid #e2e8f1;grid-template-columns:repeat(3,1fr);margin-bottom:50px;padding:28px 0;display:grid}.benefits>div{border-right:1px solid #e2e8f1;justify-content:center;align-items:center;gap:14px;display:flex}.benefits>div:first-child{justify-content:flex-start;padding-left:16px}.benefits>div:last-child{border:0}.benefits svg{color:#163ccc;stroke-width:1.4px;width:26px;height:26px}.benefits span{font-size:14px;font-weight:600}.benefits small{color:#6b7a90;margin-top:5px;font-size:12px;font-weight:400;display:block}.section-head{justify-content:space-between;align-items:end;margin-bottom:29px;display:flex}.blue{color:#163ccc}.section-head h2{letter-spacing:-1.6px;margin:11px 0 0;font-size:39px;font-weight:500;line-height:1.2}.section-head h2 span{color:#163ccc}.section-head p{color:#6b7a90;margin:0 0 3px;font-size:14px}.catalog-tools{border-bottom:1px solid #e2e8f1;justify-content:space-between;gap:20px;padding-bottom:21px;display:flex}.categories{flex-wrap:wrap;gap:8px;display:flex}.categories button{background:#f2f5fa;border-radius:7px;align-items:center;gap:9px;padding:12px 17px;font-size:14px;display:flex}.categories button.selected{color:#ffffff;background:#163ccc}.categories small{background:#ffffff24;border-radius:3px;padding:2px 5px;font-size:11px}.search{border:1px solid #e2e8f1;border-radius:7px;align-items:center;gap:11px;min-width:220px;padding:0 14px;display:flex}.search svg{color:#6b7a90}.search input{border:0;outline:none;width:100%;min-width:0;padding:10px 0;font-size:14px}.results{color:#6b7a90;justify-content:space-between;align-items:center;margin:18px 0;font-size:13px;display:flex}.results [data-slot=select-trigger]{box-shadow:none;color:#17283f;border:0;font-size:13px}.demo-tag{color:#6b7a90;border:1px solid #e2e8f1;border-radius:4px;margin-left:10px;padding:3px 7px;font-size:11px}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:27px 23px;display:grid}.product{background:#ffffff;border:1px solid #e2e8f1;border-radius:11px;overflow:hidden}.product-image{text-align:left;background:#f2f5fa;width:100%;height:245px;padding:0;display:block;position:relative;overflow:hidden}.product-image img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.product-image:hover img{transform:scale(1.045)}.product-category{color:#6b7a90;background:#fffffff0;border-radius:4px;padding:6px 10px;font-size:11px;position:absolute;top:16px;left:16px}.view-icon{color:#102fab;background:#ffffff;border-radius:50%;place-items:center;width:31px;height:31px;display:grid;position:absolute;bottom:13px;right:13px}.product-info{padding:19px 19px 0}.product-info>small{color:#6b7a90;letter-spacing:.5px;justify-content:space-between;font-size:10px;display:flex}.product-info>small span{font-size:9px}.product-name{letter-spacing:-.5px;text-align:left;margin:12px 0 8px;padding:0;font-size:20px;font-weight:500;display:block}.product-info>p{color:#6b7a90;margin:0 0 18px;font-size:13px}.product-bottom{border-top:1px solid #e2e8f1;justify-content:space-between;align-items:center;min-height:66px;padding:15px 0;display:flex}.product-bottom strong{font-size:19px;font-weight:600}.product-bottom strong small{color:#6b7a90;margin-top:3px;font-size:10px;font-weight:400;display:block}.add{color:#ffffff;background:#163ccc;border-radius:6px;place-items:center;width:36px;height:36px;display:grid}.locked{color:#163ccc;align-items:center;gap:8px;width:100%;padding:0;font-size:12px;display:flex}.locked svg:last-child{margin-left:auto}.partner{color:#102a78;background:#f2f5fa;border-radius:12px;justify-content:space-between;align-items:center;margin:55px 0 45px;padding:40px 44px;display:flex}.partner .eyebrow{font-size:10px}.partner h2{letter-spacing:-1.3px;margin:18px 0;font-size:36px;line-height:1.13}.partner p{color:#6b7a90;margin:0;font-size:14px}.partner>div:last-child{flex-direction:column;align-items:start;gap:18px;display:flex}.partner small{color:#6b7a90;font-size:12px;line-height:1.6}footer{align-items:center;gap:30px;padding:20px 4.5% 35px;display:flex}footer .logo,footer .logo>span{font-size:31px}footer .logo>small{padding-top:5px;font-size:17px}footer>span{color:#6b7a90;font-size:12px}footer>div{gap:20px;margin-left:auto;display:flex}footer button{color:#6b7a90;align-items:center;gap:6px;font-size:12px;display:flex}footer>small{color:#6b7a90;font-size:11px}.frost-modal{max-height:90vh;overflow-y:auto;border-radius:14px!important;padding:28px!important}.frost-modal [data-slot=dialog-title]{letter-spacing:-.7px;margin:4px 0 0;font-size:25px;font-weight:500}.admin-modal{max-width:min(1080px,95vw)!important}.frost-modal [data-slot=dialog-description]{line-height:1.5}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-grid label,.field{color:#17283f;flex-direction:column;gap:7px;font-size:13px;display:flex}.form-grid input,.field textarea,.form-grid textarea{color:#17283f;background:#ffffff;border:1px solid #e2e8f1;border-radius:6px;width:100%;min-width:0;padding:11px;font-size:14px}.form-grid input:disabled{background:#f2f5fa}.form-grid [data-slot=select-trigger]{width:100%;height:42px}.full{grid-column:1/-1;width:100%}.form-grid label.consent{flex-direction:row;grid-column:1/-1;align-items:start;gap:10px;font-size:12px;line-height:1.6;display:flex}.consent [data-slot=checkbox]{flex-shrink:0;margin-top:3px}.detail>img{object-fit:cover;border-radius:8px;width:100%;height:240px;margin-bottom:20px}.detail>p{color:#6b7a90;font-size:14px}.detail-row{border-bottom:1px solid #e2e8f1;justify-content:space-between;align-items:center;gap:16px;padding:17px 0;font-size:14px;display:flex}.detail .primary{width:100%;margin-top:20px}.empty{text-align:center;color:#6b7a90;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:45px 20px;display:flex}.empty h3{color:#17283f;margin:0;font-size:21px}.empty p{margin:0}.empty button:not(.primary){color:#163ccc;text-decoration:underline}.notice{color:#102fab;background:#f2f5fa;border-radius:7px;padding:13px 16px;font-size:14px;line-height:1.5}.cart-row{border-bottom:1px solid #e2e8f1;align-items:center;gap:12px;padding:15px 0;display:flex}.cart-row img{object-fit:cover;border-radius:6px;width:60px;height:70px}.cart-row b{font-size:14px}.cart-row small{color:#6b7a90;margin-top:5px;font-size:11px;display:block}.cart-row>strong{white-space:nowrap;margin-left:auto;font-size:14px}.quantity{align-items:center;gap:12px;margin-top:10px;font-size:13px;display:flex}.quantity button{background:#f2f5fa;border-radius:4px;place-items:center;width:25px;height:25px;display:grid}.field{margin-top:20px}.muted{color:#6b7a90;font-size:13px;line-height:1.6}.profile-card{background:#f2f5fa;border-radius:9px;margin-bottom:24px;padding:20px}.profile-card h3{margin:10px 0;font-size:22px}.profile-card p{color:#6b7a90;font-size:14px}.profile-card button,.text-button{color:#163ccc;font-size:13px}.order-card{border:1px solid #e2e8f1;border-radius:8px;margin:12px 0;padding:18px}.order-card h3{margin-bottom:10px;font-size:17px}.order-card p{margin:7px 0;font-size:14px}.order-card>small{color:#6b7a90;margin-top:6px;display:block}.admin-toolbar{justify-content:space-between;align-items:center;gap:16px;margin:20px 0;display:flex}.admin-toolbar p{color:#6b7a90;font-size:13px}[data-slot=table-cell]{padding-top:14px;padding-bottom:14px;font-size:14px}[data-slot=table-cell] small{color:#6b7a90;margin-top:5px;font-size:12px;display:block}[data-slot=tabs-list]{margin:15px 0 5px}.legal p,.auth-start p{color:#6b7a90;font-size:14px}.auth-start .primary{width:100%;margin:15px 0}@media (width>=1500px){main,header,footer,.topline{padding-left:max(4.5%,50vw - 710px);padding-right:max(4.5%,50vw - 710px)}.hero{min-height:535px}}@media (width<=1000px){header{gap:40px}nav{gap:20px}.hero-copy{padding:32px 0 25px 28px}h1{letter-spacing:-2px;font-size:47px}.hero{min-height:460px}.hero-foot{max-width:260px;font-size:11px}.hero-visual>img{object-position:60%}.catalog-tools{flex-wrap:wrap}.search{flex:1;min-width:180px}.product-grid{gap:16px}.product-image{height:210px}.product-name{font-size:18px}.benefits{gap:13px}.benefits span{font-size:12px}.benefits small{font-size:11px}.product-info>small span{display:none}footer{flex-wrap:wrap}footer>small{display:none}}@media (width<=700px){.topline{padding:9px 5%;font-size:9px}.topline span:last-child{display:none}header{gap:20px;height:80px;padding:0 5%}.logo,.logo>span{font-size:36px}.logo>small{font-size:19px}nav{display:none}.head-actions{gap:16px}.account{font-size:13px}.bag{padding-left:15px}main{padding:16px 4% 0}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:28px 25px 20px}h1{letter-spacing:-2px;margin:23px 0 16px;font-size:45px}h1 em{white-space:normal}.hero-copy>p{margin-bottom:20px;font-size:15px}.hero-foot{display:none}.hero-visual{height:280px}.hero-visual>img{object-position:center 53%}.hero-visual:before{background:linear-gradient(#163ccc,#0000 20%)}.round-label{width:78px;height:78px;font-size:8px;top:10px;right:20px}.round-label b{font-size:18px}.image-caption{font-size:8px;bottom:17px;left:23px}.benefits{grid-template-columns:1fr;gap:0;margin-bottom:32px;padding:9px 0}.benefits>div,.benefits>div:first-child{border:0;border-bottom:1px solid #f2f5fa;justify-content:flex-start;padding:15px}.benefits span{font-size:14px}.benefits small{font-size:12px}.benefits>div:last-child{border:0}.section-head p{display:none}.section-head h2{font-size:30px}.eyebrow{font-size:9px}.catalog-tools{gap:15px;padding-bottom:15px}.categories{gap:7px}.categories button{padding:10px 12px;font-size:12px}.search{width:100%}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.product-image{height:175px}.product-info{padding:13px 12px 0}.product-name{min-height:43px;margin-top:10px;font-size:17px;line-height:1.25}.product-info>p{min-height:28px;margin-bottom:10px;font-size:11px;line-height:1.4}.product-category{padding:5px 7px;font-size:9px;top:10px;left:10px}.product-bottom{padding:12px 0}.product-bottom strong{font-size:16px}.product-bottom strong small{font-size:9px}.locked{gap:5px;font-size:10px}.locked svg{width:12px}.locked svg:last-child{display:none}.product-info>small{font-size:9px}.partner{flex-direction:column;align-items:flex-start;gap:25px;margin:35px 0 25px;padding:28px 24px}.partner h2{font-size:30px}.partner p{font-size:13px}.partner p br{display:none}footer{gap:18px;padding:15px 5% 25px}footer>span{display:none}footer>div{flex-wrap:wrap;gap:14px}.form-grid{grid-template-columns:1fr}.frost-modal{padding:22px!important}.admin-toolbar{flex-direction:column;align-items:start}[data-slot=tabs-trigger],.cart-row>strong{font-size:12px}.cart-row img{width:48px;height:60px}.cart-row b{font-size:12px}.demo-tag{margin-left:4px;font-size:9px}.results{font-size:11px}.results [data-slot=select-trigger]{font-size:12px}.view-icon{width:25px;height:25px}.admin-modal{max-width:95vw!important}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media (width>=701px) and (width<=820px){h1{font-size:39px}.hero{min-height:430px}.head-actions{gap:14px}header{gap:25px}nav{gap:16px}.hero-copy>.eyebrow{font-size:9px}}.section-nav{color:#6b7a90;white-space:nowrap;border-bottom:1px solid #e2e8f1;gap:28px;padding:14px 4.5%;font-size:13px;display:flex;overflow-x:auto}.section-nav a:hover{color:#163ccc}.catalog-pagination{height:auto;margin:28px 0;display:flex!important}.catalog-pagination a{align-items:center;height:36px;font-size:14px;display:flex}.catalog-pagination [aria-current=page]{color:#ffffff;background:#163ccc;border-color:#163ccc}.product-image img{object-fit:contain;background:#f2f5fa;padding:16px}.product-image{height:270px}.product-category{max-width:85%;font-size:11px}.product-info>small span{letter-spacing:0;font-size:9px}.add:disabled{cursor:not-allowed;background:#e2e8f1}.gallery-thumbnails{gap:8px;padding:7px 0 15px;display:flex;overflow-x:auto}.gallery-thumbnails button{background:#ffffff;border:1px solid #e2e8f1;border-radius:6px;flex:0 0 58px;height:58px;padding:3px}.gallery-thumbnails button.chosen{border:2px solid #163ccc}.gallery-thumbnails img{object-fit:contain;width:100%;height:100%}.detail>img{object-fit:contain;background:#f2f5fa;height:300px}.product-description p{color:#6b7a90;margin:12px 0;font-size:15px;line-height:1.65}.product-specs{padding-top:24px}.product-specs h3{margin-bottom:12px;font-size:18px;font-weight:600}.product-specs>div{border-bottom:1px solid #e2e8f1;justify-content:space-between;gap:20px;padding:10px 0;font-size:14px;display:flex}.product-specs span{color:#6b7a90;flex:1}.product-specs strong{text-align:right;flex:1;font-weight:400}.detail>.text-button{margin-top:20px;display:block}.content-heading{max-width:1000px;padding:38px 0 32px}.content-heading h1{color:#102a78;letter-spacing:-2px;margin:18px 0;font-size:clamp(34px,4.2vw,58px);line-height:1.12}.content-heading h1 em{color:#163ccc;font-size:inherit;white-space:normal}.content-heading h1>span{color:#163ccc}.content-heading>p{color:#6b7a90;max-width:750px;font-size:16px}.breadcrumbs{color:#6b7a90;flex-wrap:wrap;align-items:center;gap:10px;padding-top:15px;font-size:12px;display:flex}.breadcrumbs a{color:#6b7a90}.content-layout{grid-template-columns:minmax(0,1fr) 290px;gap:55px;padding-bottom:60px;display:grid}.source-content{color:#17283f;min-width:0;max-width:850px;font-size:16px;line-height:1.75}.source-content h2{letter-spacing:-.8px;color:#17283f;margin:35px 0 18px;font-size:29px;font-weight:500;line-height:1.25}.source-content h3{letter-spacing:-.5px;color:#17283f;margin:28px 0 15px;font-size:22px;font-weight:500;line-height:1.35}.source-content h4{color:#17283f;margin:25px 0 13px;font-size:18px;font-weight:600}.source-content p{margin:14px 0}.source-content ul,.source-content ol{margin:17px 0;padding-left:23px;list-style:outside}.source-content ol{list-style:decimal}.source-content li{margin:8px 0;padding-left:3px}.source-content a{color:#163ccc;text-underline-offset:3px;overflow-wrap:anywhere;text-decoration:underline}.source-content img{object-fit:cover;border-radius:12px;width:100%;height:auto;max-height:440px;margin:25px 0;display:block}.source-content img[src$=\.svg]{object-fit:contain;width:65px;height:65px}.source-content table{border-collapse:collapse;width:100%;margin:24px 0;font-size:14px;display:block;overflow-x:auto}.source-content td,.source-content th{text-align:left;border:1px solid #e2e8f1;min-width:90px;padding:13px}.source-content th{color:#102a78;background:#f2f5fa}.source-content blockquote{background:#f2f5fa;border-left:3px solid #163ccc;border-radius:0 8px 8px 0;padding:14px 22px}.content-aside{align-self:start;gap:22px;display:grid;position:sticky;top:24px}.snow-card{color:#ffffff;background:#163ccc;border-radius:12px;padding:27px}.snow-card>span{letter-spacing:1.5px;font-size:11px}.snow-card h3{letter-spacing:-1px;margin:24px 0;font-size:29px;line-height:1.2}.snow-card a{border-top:1px solid #ffffff3a;justify-content:space-between;align-items:center;padding-top:17px;font-size:14px;display:flex}.help-card{border:1px solid #e2e8f1;border-radius:12px;padding:24px}.help-card h3{letter-spacing:-.5px;font-size:21px;line-height:1.25}.help-card p{color:#6b7a90;margin:13px 0;font-size:14px}.help-card>a:not(.primary){align-items:center;gap:8px;margin:10px 0;font-size:15px;display:flex}.help-card small{color:#6b7a90;margin:15px 0;font-size:12px;display:block}.help-card .primary{gap:12px;width:100%;padding:13px;font-size:13px}.map-link{color:#102fab;align-items:center;gap:10px;font-size:14px;line-height:1.5;display:flex}.article-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:10px 0 60px;display:grid}.article-preview{border:1px solid #e2e8f1;border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.article-preview>img{object-fit:cover;width:100%;height:220px}.article-preview>div{flex-direction:column;flex:1;padding:22px;display:flex}.article-preview small{color:#6b7a90;letter-spacing:.6px;font-size:11px}.article-preview h2{letter-spacing:-.6px;color:#17283f;margin:15px 0;font-size:23px;line-height:1.25}.article-preview p{color:#6b7a90;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 0 20px;font-size:14px;display:-webkit-box;overflow:hidden}.article-preview span{color:#163ccc;justify-content:space-between;align-items:center;margin-top:auto;font-size:14px;display:flex}.article-date{font-size:13px!important}.read-next{border-top:1px solid #e2e8f1;padding:32px 0 60px}.read-next h2{letter-spacing:-.7px;margin-bottom:20px;font-size:25px}.read-next>a{color:#6b7a90;border-bottom:1px solid #e2e8f1;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;font-size:17px;display:flex}.price-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-bottom:70px;display:grid}.price-document{border:1px solid #e2e8f1;border-radius:12px;padding:30px}.price-document>svg{color:#163ccc;margin-bottom:25px}.price-document h2{letter-spacing:-.8px;font-size:24px}.price-document p{color:#6b7a90;margin:15px 0 25px;font-size:14px}.price-document .primary{gap:10px;width:100%}.price-document small{color:#6b7a90;margin-top:18px;font-size:12px;line-height:1.6;display:block}.price-access p{margin:10px 0 24px}.expanded-footer{border-top:1px solid #e2e8f1;margin-top:50px;padding:38px 4.5% 0;display:grid;grid-template-columns:1.3fr 1fr 1.2fr 1.4fr;align-items:start;gap:30px}.expanded-footer>div{margin:0;display:block}.expanded-footer>div:first-child p{color:#6b7a90;margin:14px 0 5px;font-size:13px}.expanded-footer>div:first-child>small{color:#6b7a90;font-size:11px}.expanded-footer .footer-column{color:#6b7a90;flex-direction:column;gap:12px;font-size:13px;display:flex}.footer-column>b{color:#102a78;margin-bottom:8px;font-size:14px;font-weight:600}.expanded-footer .footer-bottom{color:#6b7a90;border-top:1px solid #e2e8f1;grid-column:1/-1;justify-content:space-between;align-items:center;padding:20px 0;display:flex}.social-links{gap:12px;font-size:12px;display:flex}.source-article>div:first-child>ul{background:#f2f5fa;border-radius:8px;padding:20px 30px}.brand-partners{border-top:1px solid #e2e8f1;padding:35px 0 45px}.brand-partners>p{letter-spacing:1px;color:#6b7a90;margin-bottom:25px;font-size:12px}.brand-partners>div{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:25px 30px;display:flex}.brand-partners img{object-fit:contain;width:85px;height:40px}.platform-intro{border-top:1px solid #e2e8f1;grid-template-columns:1fr 1fr;gap:55px;margin:50px 0;padding:35px 0;display:grid}.platform-intro h2{letter-spacing:-1px;font-size:35px;line-height:1.13}.platform-intro p{color:#6b7a90;font-size:16px}.platform-intro a{color:#163ccc;align-items:center;gap:20px;margin-top:20px;font-size:14px;display:inline-flex}@media (width<=1000px){.content-layout{grid-template-columns:minmax(0,1fr) 245px;gap:28px}.article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.price-grid{gap:14px}.price-document{padding:23px}.expanded-footer{grid-template-columns:1fr 1fr;padding:36px 4.5% 0}.product-image{height:235px}.content-heading h1{font-size:43px}.platform-intro{gap:25px}}@media (width<=700px){.section-nav{gap:22px;padding:12px 5%;font-size:12px}.content-layout{display:block}.content-aside{grid-template-columns:1fr;margin-top:30px;position:static}.content-heading{padding:28px 0 24px}.content-heading h1{letter-spacing:-1.3px;font-size:35px}.content-heading>p{font-size:15px}.source-content{font-size:16px}.source-content h2{font-size:26px}.source-content h3{font-size:21px}.article-grid{grid-template-columns:1fr;gap:22px}.article-preview>img{height:230px}.price-grid{grid-template-columns:1fr}.expanded-footer{grid-template-columns:1fr;gap:26px 18px;padding:30px 5% 0}.expanded-footer .footer-column{gap:12px;font-size:12px}.expanded-footer>div:first-child,.expanded-footer>div:nth-child(4){grid-column:1/-1}.product-image{height:175px}.catalog-pagination{gap:2px!important}.product-info>small span{display:none}.product-category{font-size:9px}.platform-intro{grid-template-columns:1fr;gap:18px}.platform-intro h2{font-size:29px}.brand-partners img{width:70px;height:35px}.brand-partners>div{justify-content:flex-start;gap:24px}.form-grid input,.form-grid textarea{font-size:16px}[data-slot=tabs-list]{flex-wrap:wrap;height:auto}.gallery-thumbnails button{flex-basis:52px;height:52px}}.category-information{margin:0 0 24px}.category-information p{color:#6b7a90;margin:10px 0;font-size:15px;line-height:1.7}.category-information [data-slot=accordion-trigger]{color:#102fab;font-size:14px}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-scroll-snap-strictness{syntax:"*";inherits:false;initial-value:proximity}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#ffffff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height,var(--accordion-panel-height,auto))}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height,var(--accordion-panel-height,auto))}to{height:0}}@keyframes caret-blink{0%,70%,to{opacity:1}20%,50%{opacity:0}}@keyframes scroll-fade-reveal-b{0%{--scroll-fade-b:var(--_scroll-fade-size-b,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))))}to{--scroll-fade-b:0px}}@keyframes scroll-fade-reveal-s{0%{--scroll-fade-s:0px}to{--scroll-fade-s:var(--_scroll-fade-size-s,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))))}}@keyframes scroll-fade-reveal-e{0%{--scroll-fade-e:var(--_scroll-fade-size-e,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))))}to{--scroll-fade-e:0px}}@keyframes tw-shimmer{0%{background-position:100% 0}to{background-position:0 0}}

.frost-callback{position:fixed;right:24px;bottom:24px;z-index:9999;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.frost-callback .callback-items{display:flex;flex-direction:column;align-items:flex-end;gap:10px;opacity:0;transform:translateY(14px) scale(.9);pointer-events:none;transition:opacity .25s,transform .25s}
.frost-callback.expanded .callback-items{opacity:1;transform:none;pointer-events:auto}
.frost-callback .callback-item{display:flex;align-items:center;gap:10px;background:#ffffff;color:#17283f;border:1px solid #e2e8f1;border-radius:30px;padding:9px 16px 9px 13px;font-size:13px;font-weight:600;box-shadow:0 6px 18px #10286c1f;white-space:nowrap}
.frost-callback .callback-item:hover{color:#163ccc;border-color:#c8d6ff}
.frost-callback .callback-item svg{color:#163ccc;flex:none}
.frost-callback .callback-btn{width:56px;height:56px;border-radius:50%;background:#163ccc;color:#ffffff;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 22px #163ccc66;transition:transform .25s,background .25s}
.frost-callback .callback-btn:hover{transform:scale(1.07);background:#102fab}
.frost-callback .callback-btn svg:last-child,.frost-callback.expanded .callback-btn svg:first-child{display:none}
.frost-callback.expanded .callback-btn svg:last-child{display:block}
@media(max-width:767px){.frost-callback{right:16px;bottom:16px}.frost-callback .callback-btn{width:50px;height:50px}}
@media(prefers-reduced-motion:reduce){.frost-callback .callback-items,.frost-callback .callback-btn{transition:none}}

/* OpenCart's default stylesheet pins footer absolutely and colours it dark; the
   frost.food layout is a normal document flow, so those defaults are reset here. */
footer{position:static;bottom:auto;left:auto;right:auto;width:auto;background:none;border:0;color:inherit;padding:0;margin:0}
footer a{color:inherit}
#container{overflow:visible}

/* Product cards carried over from lagelateriaitaliana.ua so the move keeps the
   card layout buyers already know: brand line, serif name, spec, price per box. */
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.prod-card{background:#ffffff;border:1px solid #e2e8f1;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .25s,transform .25s}
.prod-card:hover{border-color:#17283f;transform:translateY(-3px)}
.prod-card-img{position:relative;aspect-ratio:1;background:#f2f5fa;overflow:hidden;display:block}
.prod-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.prod-card:hover .prod-card-img img{transform:scale(1.04)}
.prod-card-wishlist{position:absolute;top:12px;right:12px;width:36px;height:36px;background:#ffffff;border:1px solid #e2e8f1;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#6b7a90;cursor:pointer;transition:all .2s}
.prod-card-wishlist:hover{color:#163ccc;border-color:#163ccc}
.prod-card-wishlist svg{width:16px;height:16px}
.prod-card-body{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1}
.prod-card-line{font-family:'JetBrains Mono','SF Mono',Consolas,monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#6b7a90}
.prod-card-name{font-family:Manrope,system-ui,sans-serif;font-size:22px;font-weight:400;line-height:1.2;letter-spacing:-.015em;color:#17283f;min-height:2.4em;margin:0}
.prod-card-name a{color:inherit}
.prod-card-name a:hover{color:#163ccc}
.prod-card-spec{font-family:'JetBrains Mono','SF Mono',Consolas,monospace;font-size:11px;color:#6b7a90;letter-spacing:.04em;padding-bottom:8px}
.prod-card-price{font-size:14px;color:#6b7a90;padding-top:8px;margin-top:auto;border-top:1px solid #e2e8f1}
.prod-card-price strong{color:#17283f;font-weight:600}
.prod-card-price s{color:#6b7a90;font-size:13px;margin-left:6px}
.prod-card-actions{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px;align-items:stretch}
.prod-card-actions form{margin:0}
.prod-buy{width:100%;background:#163ccc;color:#ffffff;padding:12px 18px;border:0;border-radius:8px;font-family:'JetBrains Mono','SF Mono',Consolas,monospace;font-size:13px;letter-spacing:.05em;text-transform:uppercase;font-weight:700;cursor:pointer;transition:background .2s}
.prod-buy:hover{background:#102fab}
.prod-buy.is-disabled,.prod-buy:disabled{background:#e2e8f1;color:#6b7a90;cursor:not-allowed}
.prod-details{background:#ffffff;color:#17283f;border:1px solid #e2e8f1;width:40px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;transition:all .2s}
.prod-details:hover{background:#17283f;color:#ffffff;border-color:#17283f}
.prod-details svg{width:16px;height:16px}
@media(max-width:1000px){.product-grid{grid-template-columns:repeat(2,1fr);gap:16px}}
@media(max-width:600px){.product-grid{grid-template-columns:1fr}}

/* Category tiles with photos on the home page. */
.cat-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:34px}
.cat-tile{background:#ffffff;border:1px solid #e2e8f1;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .2s,transform .2s}
.cat-tile:hover{border-color:#163ccc;transform:translateY(-3px)}
.cat-tile img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#f2f5fa}
.cat-tile-body{padding:16px 18px}
.cat-tile-body b{display:block;font-size:16px;color:#17283f;letter-spacing:-.3px}
.cat-tile-body span{display:block;margin-top:6px;font-size:12px;color:#6b7a90;line-height:1.5}
@media(max-width:1000px){.cat-tiles{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.cat-tiles{grid-template-columns:1fr}}

.cat-all{display:inline-block;font-size:14px;font-weight:600;color:#163ccc}
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.article-preview{display:block;background:#ffffff;border:1px solid #e2e8f1;border-radius:14px;padding:26px;transition:border-color .2s,transform .2s}
.article-preview:hover{border-color:#163ccc;transform:translateY(-3px)}
.article-preview h3{margin:0 0 10px;font-size:19px;line-height:1.3;color:#17283f;letter-spacing:-.4px}
.article-preview p{margin:0;font-size:13px;color:#6b7a90;line-height:1.6}
@media(max-width:1000px){.article-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.article-grid{grid-template-columns:1fr}}

/* Catalogue with the left filter, carried over from lagelateriaitaliana.ua. */
.cat-wrap{padding:24px 4.5% 60px}
.cat-title{font-family:Manrope,system-ui,sans-serif;font-size:38px;font-weight:400;letter-spacing:-.02em;margin:6px 0 26px;color:#17283f}
.breadcrumbs{list-style:none;display:flex;gap:8px;margin:0 0 6px;padding:0;font-size:12px;color:#6b7a90}
.breadcrumbs li+li:before{content:'/';margin-right:8px;color:#c8d6ff}
.cat-layout{display:grid;grid-template-columns:260px 1fr;gap:clamp(24px,4vw,48px);align-items:start}
.cat-sidebar{position:sticky;top:20px;padding:22px;border:1px solid #e2e8f1;border-radius:16px;background:#ffffff}
.cat-sidebar-title{font-family:Manrope,system-ui,sans-serif;font-size:22px;font-weight:400;letter-spacing:-.015em;margin:0 0 14px;padding-bottom:14px;border-bottom:1px solid #e2e8f1;color:#17283f}
.cat-sidebar-next{margin-top:22px}
.cat-tree,.cat-brands{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.cat-tree-parent{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:8px;font-size:14px;font-weight:500;color:#17283f;transition:background .2s}
.cat-tree-parent:hover{background:#f2f5fa;color:#17283f}
.cat-tree-parent.active{background:#17283f;color:#ffffff}
.cat-tree-parent.active .cat-tree-count{background:#163ccc;color:#ffffff}
.cat-tree-count{font-family:'JetBrains Mono','SF Mono',Consolas,monospace;font-size:10px;font-weight:600;padding:2px 8px;border-radius:99px;background:#f2f5fa;color:#6b7a90}
.cat-tree-sub{list-style:none;margin:4px 0 8px 12px;padding:0 0 0 12px;display:flex;flex-direction:column;gap:2px;border-left:1px solid #e2e8f1}
.cat-tree-sub a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border-radius:6px;font-size:14px;color:#6b7a90;transition:all .2s}
.cat-tree-sub a:hover{background:#f2f5fa;color:#17283f}
.cat-tree-sub a.active{background:#f2f5fa;color:#17283f;font-weight:500}
.cat-tree-sub a.active .cat-tree-count{color:#163ccc;font-weight:700}
.cat-brands label{display:flex;align-items:center;gap:9px;padding:7px 12px;border-radius:6px;font-size:14px;color:#17283f;cursor:pointer}
.cat-brands label:hover{background:#f2f5fa}
.cat-brands label span:nth-of-type(1){flex:1}
.cat-brands input{accent-color:#163ccc;width:15px;height:15px}
.cat-price{display:flex;align-items:center;gap:8px}
.cat-price input{width:100%;min-width:0;padding:9px 10px;border:1px solid #e2e8f1;border-radius:8px;font-size:13px}
.cat-price button{padding:9px 12px;border:1px solid #e2e8f1;border-radius:8px;background:#ffffff;font-size:13px;font-weight:600;cursor:pointer}
.cat-price button:hover{background:#17283f;color:#ffffff;border-color:#17283f}
.cat-reset{display:inline-block;margin-top:16px;font-size:13px;color:#6b7a90;text-decoration:underline}
.cat-reset:hover{color:#163ccc}
.cat-main{min-width:0}
.cat-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid #e2e8f1}
.cat-toolbar-left{font-size:14px;color:#6b7a90}
.cat-toolbar-left strong{color:#17283f;font-weight:600;font-size:18px}
.cat-toolbar-right{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0}
.cat-search{display:flex;align-items:center;gap:10px;background:#f2f5fa;padding:10px 16px;border-radius:8px;min-width:240px}
.cat-search svg{width:16px;height:16px;color:#6b7a90;flex:none}
.cat-search input{background:none;border:0;outline:none;font-size:14px;flex:1;min-width:0}
.cat-sort{padding:10px 16px;border-radius:8px;border:1px solid #e2e8f1;background:#ffffff;font-size:14px;color:#17283f;cursor:pointer}
.cat-pagination{margin-top:30px;display:flex;justify-content:center}
.cat-empty{padding:40px 0;color:#6b7a90}
@media(max-width:1000px){.cat-layout{grid-template-columns:220px 1fr;gap:24px}}
@media(max-width:767px){.cat-layout{grid-template-columns:1fr}.cat-sidebar{position:static}.cat-title{font-size:30px}.cat-search{min-width:0;flex:1}}

/* One-page B2B checkout. */
.co-wrap{padding:24px 4.5% 60px}
.co-head{margin-bottom:26px;position:relative}
.co-back{font-size:13px;color:#6b7a90}
.co-back:hover{color:#163ccc}
.co-head h1{font-family:Manrope,system-ui,sans-serif;font-size:36px;font-weight:400;letter-spacing:-.02em;margin:10px 0 0;color:#17283f;text-align:center}
.co-layout{display:grid;grid-template-columns:1fr 420px;gap:28px;align-items:start}
.co-main{display:flex;flex-direction:column;gap:20px;min-width:0}
.co-card{background:#ffffff;border:1px solid #e2e8f1;border-radius:16px;padding:26px}
.co-card h2{font-family:Manrope,system-ui,sans-serif;font-size:24px;font-weight:400;margin:0 0 18px;color:#17283f}
.co-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.co-field{display:block;min-width:0}
.co-field-wide{grid-column:1/-1}
.co-field input,.co-field select{width:100%;padding:14px 16px;border:1px solid #e2e8f1;border-radius:10px;font-size:14px;background:#ffffff;color:#17283f}
.co-field input:focus,.co-field select:focus{outline:none;border-color:#17283f}
.co-field.has-error input,.co-field.has-error select{border-color:#d23b1f}
.co-field small{display:block;margin-top:6px;font-size:12px;color:#d23b1f}
.co-tabs{display:flex;align-items:center;gap:14px;margin-bottom:18px;font-family:Manrope,system-ui,sans-serif;font-size:24px;color:#e2e8f1}
.co-tab{background:none;border:0;padding:0;font:inherit;color:#e2e8f1;cursor:pointer}
.co-tab.active{color:#17283f}
.co-warning{color:#d23b1f;font-size:13px;font-weight:600;margin:0 0 14px}
.co-note{font-size:13px;color:#6b7a90;line-height:1.7;margin:14px 0 0}
.co-fineprint{font-size:12px;color:#6b7a90;line-height:1.7;margin:16px 0 0}
.co-pay{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.co-pay-option{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;border:1px solid #e2e8f1;border-radius:10px;cursor:pointer;font-family:'JetBrains Mono','SF Mono',Consolas,monospace;font-size:12px;letter-spacing:.05em;text-transform:uppercase;text-align:center}
.co-pay-option.active{border-color:#163ccc;color:#163ccc}
.co-pay-option input{accent-color:#163ccc}
.co-check{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer}
.co-check input{accent-color:#163ccc;width:17px;height:17px}
.co-account{background:#f2f5fa;border-color:#d3e2ff}
.co-account-head{margin-bottom:18px}
.co-account-badge{display:inline-block;margin-bottom:10px;padding:5px 11px;border-radius:30px;background:#163ccc;color:#fff;font-family:'JetBrains Mono','SF Mono',Consolas,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.co-account-head b{display:block;font-family:Manrope,system-ui,sans-serif;font-size:21px;font-weight:800;letter-spacing:-.02em;color:#17283f;margin-bottom:8px}
.co-account-head p{margin:0;font-size:14px;line-height:1.7;color:#6b7a90}
.co-benefits{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:12px}
.co-benefits li{display:flex;gap:12px;align-items:flex-start}
.co-benefits li svg{flex:none;margin-top:2px;color:#163ccc}
.co-benefits li span{font-size:13px;line-height:1.6;color:#6b7a90}
.co-benefits li span b{display:block;font-size:14px;font-weight:600;color:#17283f;margin-bottom:2px}
.co-account .co-check{padding:14px 16px;background:#fff;border:1px solid #d3e2ff;border-radius:10px;font-weight:600}
.co-account #co-password{margin-top:14px}
.co-side{position:sticky;top:20px}
.co-cart h2{margin-bottom:16px}
.co-line{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-bottom:1px solid #f2f5fa}
.co-line img{width:56px;height:56px;object-fit:cover;border-radius:8px;background:#f2f5fa}
.co-line-body{flex:1;min-width:0}
.co-line-name{display:block;font-size:14px;color:#17283f;font-weight:500;margin-bottom:6px}
.co-line-row{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:#6b7a90}
.co-line-row strong{color:#17283f}
.co-remove{color:#e2e8f1;font-size:20px;line-height:1;padding:0 2px}
.co-remove:hover{color:#d23b1f}
.co-sum{display:flex;justify-content:space-between;gap:10px;font-size:14px;color:#6b7a90;padding:7px 0}
.co-total{border-top:1px solid #e2e8f1;margin-top:8px;padding-top:14px;font-size:20px;color:#17283f;font-weight:600}
.co-total span:last-child{font-weight:700}
.co-promo{width:100%;margin:16px 0 12px;padding:14px 16px;border:1px solid #e2e8f1;border-radius:10px;font-size:14px}
.co-submit{width:100%;padding:16px;font-size:14px}
.co-error{color:#d23b1f;font-size:13px;margin:0 0 10px}
.co-links{display:flex;justify-content:space-between;gap:12px;margin-top:14px;font-size:13px}
.co-clear{color:#d23b1f}
.co-empty{padding:50px 0;text-align:center;color:#6b7a90}
.co-empty .prod-buy{display:inline-block;margin-top:18px;text-decoration:none}
.co-done{max-width:560px;margin:60px auto;text-align:center}
.co-done h1{font-family:Manrope,system-ui,sans-serif;font-size:34px;font-weight:400;margin:0 0 14px;color:#17283f}
.co-done p{color:#6b7a90;line-height:1.7}
.co-order-no{font-size:16px;color:#17283f}
.co-done .co-links{justify-content:center;align-items:center;margin-top:26px}
.co-done .prod-buy{text-decoration:none}
@media(max-width:1000px){.co-layout{grid-template-columns:1fr}.co-side{position:static}}
@media(max-width:600px){.co-grid,.co-pay{grid-template-columns:1fr}.co-head h1{font-size:27px}.co-card{padding:20px}}
.prod-buy.is-added{background:#1f9d55}

/* Home shelves: four cards across, the rest reachable by scrolling sideways. */
.shelf-row{display:flex;gap:23px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:10px;scrollbar-width:thin;scrollbar-color:#e2e8f1 transparent;overscroll-behavior-x:contain}
.shelf-row>.prod-card{flex:0 0 calc((100% - 69px)/4);scroll-snap-align:start}
.shelf-row::-webkit-scrollbar{height:8px}
.shelf-row::-webkit-scrollbar-thumb{background:#e2e8f1;border-radius:99px}
.shelf-row::-webkit-scrollbar-track{background:transparent}
@media(max-width:1100px){.shelf-row>.prod-card{flex-basis:calc((100% - 46px)/3)}}
@media(max-width:800px){.shelf-row>.prod-card{flex-basis:calc((100% - 23px)/2)}}
@media(max-width:560px){.shelf-row{gap:14px}.shelf-row>.prod-card{flex-basis:78%}}

/* Category intro: photo, copy and the first few child categories as picture tiles. */
.cat-hero{display:grid;grid-template-columns:minmax(0,420px) 1fr;gap:30px;align-items:start;margin:0 0 32px;padding-bottom:30px;border-bottom:1px solid #e2e8f1}
.cat-hero>img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px;background:#f2f5fa}
.cat-hero p{margin:0 0 20px;font-size:15px;line-height:1.75;color:#6b7a90}
.cat-hero-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.cat-hero-tiles a{display:block;border:1px solid #e2e8f1;border-radius:12px;overflow:hidden;background:#ffffff;transition:border-color .2s,transform .2s}
.cat-hero-tiles a:hover{border-color:#163ccc;transform:translateY(-3px)}
.cat-hero-tiles img{width:100%;aspect-ratio:1;object-fit:cover;background:#f2f5fa;display:block}
.cat-hero-tiles span{display:block;padding:12px 14px;font-size:13px;font-weight:600;color:#17283f;line-height:1.35}
.cat-hero-tiles small{display:block;margin-top:4px;font-size:11px;font-weight:400;color:#6b7a90}
@media(max-width:900px){.cat-hero{grid-template-columns:1fr}.cat-hero>img{max-width:420px}}
@media(max-width:560px){.cat-hero-tiles{grid-template-columns:1fr 1fr}}

/* Blog listing and home teasers. */
.blog-wrap{padding:24px 4.5% 60px}
.blog-head{display:block;height:auto;align-items:initial;gap:0;padding:0;border:0;max-width:720px;margin:0 0 34px}
.blog-head h1{font-family:Manrope,system-ui,sans-serif;font-size:40px;font-weight:400;letter-spacing:-.02em;margin:12px 0 14px;color:#17283f}
.blog-head p{font-size:16px;line-height:1.75;color:#6b7a90;margin:0}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.blog-card{display:flex;flex-direction:column;background:#ffffff;border:1px solid #e2e8f1;border-radius:16px;overflow:hidden;transition:border-color .2s,transform .2s}
.blog-card:hover{border-color:#163ccc;transform:translateY(-3px)}
.blog-card-img{display:block;aspect-ratio:16/10;background:#f2f5fa;overflow:hidden}
.blog-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.blog-card:hover .blog-card-img img{transform:scale(1.04)}
.blog-card-body{display:flex;flex-direction:column;gap:10px;padding:22px;flex:1}
.blog-card-body b{font-family:Manrope,system-ui,sans-serif;font-size:20px;font-weight:400;line-height:1.3;letter-spacing:-.01em;color:#17283f}
.blog-card-text{font-size:13px;line-height:1.7;color:#6b7a90}
.blog-card-more{margin-top:auto;font-size:13px;font-weight:600;color:#163ccc}
@media(max-width:1000px){.blog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.blog-grid{grid-template-columns:1fr}.blog-head h1{font-size:30px}}

/* Article page: a readable measure instead of full-width body text. */
#information-information #content,.frost-article{max-width:820px;margin:0 auto;padding:30px 4.5% 60px}
#information-information h1{font-family:Manrope,system-ui,sans-serif;font-size:36px;font-weight:400;letter-spacing:-.02em;line-height:1.2;margin:0 0 24px}
#information-information h2,#information-information h3{font-family:Manrope,system-ui,sans-serif;font-weight:400;letter-spacing:-.01em;margin:38px 0 14px}
#information-information p,#information-information li{font-size:16px;line-height:1.8;color:#17283f}
#information-information figure{margin:28px 0}
#information-information img{max-width:100%;height:auto;border-radius:14px;display:block}
#information-information figcaption{margin-top:10px;font-size:12px;color:#6b7a90}
#information-information table{width:100%;border-collapse:collapse;margin:24px 0;font-size:14px}
#information-information th,#information-information td{border:1px solid #e2e8f1;padding:10px 12px;text-align:left}
#information-information th{background:#f2f5fa;font-weight:600}

/* Category page: photo and copy up top, child categories as picture tiles. */
.cat-children{margin:0 0 34px}
.cat-children h2{font-family:Manrope,system-ui,sans-serif;font-size:24px;font-weight:400;margin:0 0 18px;color:#17283f}
.cat-children-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cat-children-grid>a{display:flex;flex-direction:column;background:#ffffff;border:1px solid #e2e8f1;border-radius:14px;overflow:hidden;transition:border-color .2s,transform .2s}
.cat-children-grid>a:hover{border-color:#163ccc;transform:translateY(-3px)}
.cat-child-img{display:block;aspect-ratio:16/10;background:#f2f5fa;overflow:hidden}
.cat-child-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.cat-children-grid>a:hover .cat-child-img img{transform:scale(1.04)}
.cat-child-body{display:flex;flex-direction:column;gap:6px;padding:16px 18px}
.cat-child-body b{font-size:16px;color:#17283f;letter-spacing:-.3px}
.cat-child-body small{font-size:12px;color:#6b7a90;line-height:1.6}
.cat-child-body em{font-style:normal;font-family:'JetBrains Mono','SF Mono',Consolas,monospace;font-size:11px;color:#163ccc}
.cat-select{display:flex;align-items:center;gap:8px;font-size:13px;color:#6b7a90;margin:0}
.cat-wrap .breadcrumb{background:none;padding:0;margin:0 0 6px;font-size:12px}
.cat-wrap .breadcrumb a{color:#6b7a90}
.cat-wrap .breadcrumb-item+.breadcrumb-item::before{color:#c8d6ff}
@media(max-width:1000px){.cat-children-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.cat-children-grid{grid-template-columns:1fr}}

/* NEW / HIT / sold-out flags on the product photo. */
.prod-flags{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;gap:6px;z-index:1}
.prod-flags-out{top:auto;bottom:12px}
.prod-flag{display:inline-block;padding:4px 9px;border-radius:5px;font-family:'JetBrains Mono','SF Mono',Consolas,monospace;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffff;background:#163ccc}
.prod-flag-hit{background:#d23b1f}
.prod-flag-new{background:#1f9d55}
.prod-flag-out{background:#6b7a90}

/* Information pages: accent blocks with icons instead of one wall of text. */
.pg{max-width:960px;margin:0 auto}
.pg-lead{font-size:18px;line-height:1.7;color:#17283f;margin:0 0 22px}
.pg-claim{font-family:Manrope,system-ui,sans-serif;font-size:24px;color:#163ccc;margin:0 0 34px;line-height:1.35}
.pg h2{font-family:Manrope,system-ui,sans-serif;font-size:27px;font-weight:400;margin:42px 0 16px;color:#17283f}
.pg p{font-size:16px;line-height:1.8;color:#17283f}
.pg-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:26px 0}
.pg-card{background:#ffffff;border:1px solid #e2e8f1;border-radius:16px;padding:24px}
.pg-card b{display:block;font-size:17px;color:#17283f;margin:14px 0 8px;letter-spacing:-.2px}
.pg-card p{margin:0;font-size:14px;line-height:1.7;color:#6b7a90}
.pg-card a{color:#163ccc}
.ico{display:block;width:30px;height:30px;background-repeat:no-repeat;background-position:center;background-size:contain}
.ico-star{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523163ccc%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m12%203%202.6%205.4%205.9.8-4.3%204.1%201%205.9-5.2-2.8-5.2%202.8%201-5.9L3.5%209.2l5.9-.8z%27%2F%3E%3C%2Fsvg%3E")}
.ico-route{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523163ccc%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%276%27%20cy%3D%2719%27%20r%3D%272.5%27%2F%3E%3Ccircle%20cx%3D%2718%27%20cy%3D%275%27%20r%3D%272.5%27%2F%3E%3Cpath%20d%3D%27M8.5%2019H15a3.5%203.5%200%200%200%200-7H9a3.5%203.5%200%200%201%200-7h6.5%27%2F%3E%3C%2Fsvg%3E")}
.ico-hub{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523163ccc%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%273%27%2F%3E%3Ccircle%20cx%3D%274%27%20cy%3D%276%27%20r%3D%272%27%2F%3E%3Ccircle%20cx%3D%2720%27%20cy%3D%276%27%20r%3D%272%27%2F%3E%3Ccircle%20cx%3D%274%27%20cy%3D%2718%27%20r%3D%272%27%2F%3E%3Ccircle%20cx%3D%2720%27%20cy%3D%2718%27%20r%3D%272%27%2F%3E%3Cpath%20d%3D%27m6%207%203.5%203.5M18%207l-3.5%203.5M6%2017l3.5-3.5M18%2017l-3.5-3.5%27%2F%3E%3C%2Fsvg%3E")}
.ico-truck{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523163ccc%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%2016V6a1%201%200%200%201%201-1h9v11%27%2F%3E%3Cpath%20d%3D%27M13%209h4l3%203.5V16%27%2F%3E%3Ccircle%20cx%3D%277.5%27%20cy%3D%2717.5%27%20r%3D%271.8%27%2F%3E%3Ccircle%20cx%3D%2717%27%20cy%3D%2717.5%27%20r%3D%271.8%27%2F%3E%3C%2Fsvg%3E")}
.ico-clock{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523163ccc%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279%27%2F%3E%3Cpath%20d%3D%27M12%207v5.5l3.5%202%27%2F%3E%3C%2Fsvg%3E")}
.ico-pin{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523163ccc%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%2021s7-5.3%207-11a7%207%200%201%200-14%200c0%205.7%207%2011%207%2011z%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2710%27%20r%3D%272.6%27%2F%3E%3C%2Fsvg%3E")}
.ico-alert{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523163ccc%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%203%202.5%2020h19z%27%2F%3E%3Cpath%20d%3D%27M12%209.5v4.5%27%2F%3E%3Cpath%20d%3D%27M12%2017.5h.01%27%2F%3E%3C%2Fsvg%3E")}
.ico-home{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523163ccc%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m3%2010%209-7%209%207v10a1%201%200%200%201-1%201h-5v-6H9v6H4a1%201%200%200%201-1-1z%27%2F%3E%3C%2Fsvg%3E")}
.ico-box{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523163ccc%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M21%208%2012%203%203%208v8l9%205%209-5z%27%2F%3E%3Cpath%20d%3D%27m3%208%209%205%209-5%27%2F%3E%3Cpath%20d%3D%27M12%2013v8%27%2F%3E%3C%2Fsvg%3E")}
.ico-phone{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523163ccc%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M22%2016.9v3a2%202%200%200%201-2.2%202%2019.8%2019.8%200%200%201-8.6-3.1%2019.5%2019.5%200%200%201-6-6A19.8%2019.8%200%200%201%202.1%204.2%202%202%200%200%201%204.1%202h3a2%202%200%200%201%202%201.7c.1%201%20.4%201.9.7%202.8a2%202%200%200%201-.5%202.1L8.1%209.9a16%2016%200%200%200%206%206l1.3-1.3a2%202%200%200%201%202.1-.4c.9.3%201.8.6%202.8.7a2%202%200%200%201%201.7%202z%27%2F%3E%3C%2Fsvg%3E")}
.ico-mail{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523163ccc%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%272.5%27%20y%3D%274.5%27%20width%3D%2719%27%20height%3D%2715%27%20rx%3D%272%27%2F%3E%3Cpath%20d%3D%27m3%207%209%206%209-6%27%2F%3E%3C%2Fsvg%3E")}
.ico-chat{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523163ccc%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M21%2012a8%208%200%200%201-8%208H4l2-3a8%208%200%201%201%2015-5z%27%2F%3E%3C%2Fsvg%3E")}
.pg-rates{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0}
.pg-rate{background:#f2f5fa;border-radius:14px;padding:20px 22px}
.pg-rate span{display:block;font-size:13px;color:#6b7a90;margin-bottom:8px}
.pg-rate b{font-size:26px;color:#17283f;letter-spacing:-.6px}
.pg-rate-accent{background:#163ccc}.pg-rate-accent span{color:#c8d6ff}.pg-rate-accent b{color:#ffffff}
.pg-note{display:flex;gap:16px;align-items:flex-start;background:#fff7f4;border:1px solid #f3d9cf;border-radius:16px;padding:22px;margin:26px 0}
.pg-note .ico{flex:none}
.pg-note b{display:block;font-size:16px;color:#17283f;margin-bottom:6px}
.pg-note p{margin:0;font-size:14px;line-height:1.7;color:#6b7a90}
.pg-chips{list-style:none;display:flex;flex-wrap:wrap;gap:9px;padding:0;margin:18px 0 26px}
.pg-chips li{border:1px solid #e2e8f1;border-radius:30px;padding:9px 16px;font-size:13px;color:#17283f;background:#ffffff}
.pg-list{margin:14px 0 22px;padding-left:20px}
.pg-list li{font-size:15px;line-height:1.9;color:#17283f}
.pg-phones{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 0 28px}
.pg-phone{display:block;background:#163ccc;border-radius:16px;padding:22px;color:#ffffff;transition:transform .2s}
.pg-phone:hover{transform:translateY(-3px);color:#ffffff}
.pg-phone .ico{filter:brightness(0) invert(1);margin-bottom:12px}
.pg-phone b{display:block;font-size:20px;letter-spacing:-.3px;word-break:break-word}
.pg-phone small{display:block;margin-top:6px;font-size:12px;color:#c8d6ff}
.pg-map{border-radius:16px;overflow:hidden;border:1px solid #e2e8f1;margin:18px 0 10px}
.pg-map iframe{display:block;width:100%;height:380px;border:0}
.pg-cta{display:flex;justify-content:space-between;align-items:center;gap:24px;background:#f2f5fa;border-radius:18px;padding:28px 30px;margin:38px 0 0}
.pg-cta b{display:block;font-family:Manrope,system-ui,sans-serif;font-size:23px;font-weight:400;color:#17283f;margin-bottom:6px}
.pg-cta p{margin:0;font-size:14px;color:#6b7a90}
.pg-btn{flex:none;background:#163ccc;color:#ffffff;border-radius:10px;padding:14px 22px;font-size:14px;font-weight:600}
.pg-btn:hover{background:#102fab;color:#ffffff}
@media(max-width:900px){.pg-cards,.pg-rates,.pg-phones{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.pg-cards,.pg-rates,.pg-phones{grid-template-columns:1fr}.pg-cta{flex-direction:column;align-items:flex-start}.pg-claim{font-size:20px}}

/* Product page. */
.pd-wrap{padding:24px 4.5% 70px}
.pd-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start;margin-bottom:20px}
.pd-gallery{position:sticky;top:20px}
.pd-stage{position:relative;background:#ffffff;border:1px solid #e2e8f1;border-radius:18px;padding:28px;display:grid;place-items:center;aspect-ratio:1}
.pd-stage img{max-width:100%;max-height:100%;object-fit:contain}
.pd-thumbs{display:flex;gap:10px;margin-top:14px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
.pd-thumb{flex:0 0 74px;height:74px;padding:6px;border:1px solid #e2e8f1;border-radius:10px;background:#ffffff;cursor:pointer;display:grid;place-items:center}
.pd-thumb img{max-width:100%;max-height:100%;object-fit:contain}
.pd-thumb.is-active{border-color:#163ccc;box-shadow:0 0 0 1px #163ccc}
.pd-info h1{font-family:Manrope,system-ui,sans-serif;font-size:46px;font-weight:400;letter-spacing:-.02em;line-height:1.05;margin:0 0 12px;color:#17283f}
.pd-sku{font-family:'JetBrains Mono','SF Mono',Consolas,monospace;font-size:12px;letter-spacing:.06em;color:#6b7a90;margin-bottom:22px}
.pd-price{border:1px solid #e2e8f1;border-radius:14px;padding:20px 22px;margin-bottom:20px}
.pd-price-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.pd-price-row+.pd-price-row{margin-top:12px;padding-top:12px;border-top:1px solid #e2e8f1}
.pd-price-row span{font-family:'JetBrains Mono','SF Mono',Consolas,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#6b7a90}
.pd-price-row b{font-family:Manrope,system-ui,sans-serif;font-size:30px;font-weight:400;color:#17283f;white-space:nowrap}
.pd-price-row b small{font-size:13px;color:#6b7a90;margin-left:6px}
.pd-price-row b s{font-size:17px;color:#6b7a90;margin-left:8px}
.pd-price-unit b{font-size:17px;color:#6b7a90}
.pd-price-ask{display:flex;align-items:center;justify-content:space-between;gap:18px}
.pd-price-ask b{font-size:17px;color:#17283f}
.pd-buy{display:grid;grid-template-columns:auto 1fr;gap:12px;margin:0 0 12px}
.pd-qty{display:flex;align-items:center;border:1px solid #e2e8f1;border-radius:10px;overflow:hidden}
.pd-qty button{width:44px;height:52px;background:#ffffff;border:0;font-size:19px;color:#17283f;cursor:pointer}
.pd-qty button:hover{background:#f2f5fa}
.pd-qty input{width:52px;height:52px;border:0;border-left:1px solid #e2e8f1;border-right:1px solid #e2e8f1;text-align:center;font-size:16px;color:#17283f}
.pd-add{height:52px;font-size:14px}
.pd-add.is-added{background:#1f9d55}
.pd-min{font-family:'JetBrains Mono','SF Mono',Consolas,monospace;font-size:12px;color:#6b7a90;margin:0 0 22px}
.pd-min b{color:#17283f}
.pd-out{color:#d23b1f;font-size:14px;margin:0 0 12px}
.pd-desc{border-top:1px solid #e2e8f1;padding-top:22px;font-size:15px;line-height:1.8;color:#17283f}
.pd-desc p{margin:0 0 12px;color:#17283f}
.pd-desc strong,.pd-desc b{color:#17283f}
.pd-specs{border-top:1px solid #e2e8f1;padding-top:34px;margin-top:34px}
.pd-specs h2{font-family:Manrope,system-ui,sans-serif;font-size:29px;font-weight:400;margin:0 0 18px;color:#17283f}
.pd-specs table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #e2e8f1;border-radius:12px;overflow:hidden}
.pd-specs th{width:32%;background:#f2f5fa;text-align:left;padding:15px 18px;font-family:'JetBrains Mono','SF Mono',Consolas,monospace;font-size:11px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:#6b7a90;vertical-align:top}
.pd-specs td{padding:15px 18px;font-size:15px;color:#17283f;vertical-align:top}
.pd-specs tr+tr th,.pd-specs tr+tr td{border-top:1px solid #e2e8f1}
.pd-related{border-top:1px solid #e2e8f1;padding-top:34px;margin-top:34px}
.pd-related h2{font-family:Manrope,system-ui,sans-serif;font-size:29px;font-weight:400;margin:0 0 20px;color:#17283f}
@media(max-width:900px){.pd-top{grid-template-columns:1fr;gap:28px}.pd-gallery{position:static}.pd-info h1{font-size:34px}}
@media(max-width:520px){.pd-buy{grid-template-columns:1fr}.pd-qty{justify-content:space-between}.pd-price-row{flex-direction:column;align-items:flex-start;gap:4px}}


/* Information pages come from the design handoff with their own layout and hero,
   so the theme only supplies the typography and the few hover states the prototype
   expressed with a style-hover attribute. */
.info-page{font-family:Onest,system-ui,sans-serif}
.info-page h1,.info-page h2,.info-page h3,.info-page h4{font-family:Manrope,system-ui,sans-serif;letter-spacing:-.02em;margin:0}
.info-page p{margin:0}
.info-page ul{margin:0;padding:0;list-style:none}
.info-page a[style*="background:#163CCC"]:hover{background:#102fab!important;color:#fff!important}
.info-page a[style*="border:1px solid #E2E8F1"]:hover{border-color:#163ccc!important;color:#163ccc!important}
.pg-photo-empty{display:grid;place-items:center;width:100%;height:100%;background:#f2f5fa;color:#6b7a90;font-size:13px;text-align:center;padding:20px}

/* Content column. The design handoff centres every page on a 1180px column, and the
   storefront follows it so the header, content and footer share one measure instead of
   stretching to the screen edge on wide monitors. */
header,main,.cat-wrap,.blog-wrap,.pd-wrap,.co-wrap,.expanded-footer,.topline>.container{
 max-width:1228px;margin-left:auto;margin-right:auto;
 padding-left:24px;padding-right:24px
}
main{padding-top:24px}
.cat-wrap,.blog-wrap,.pd-wrap,.co-wrap{padding-top:24px;padding-bottom:60px}
.expanded-footer{padding-top:38px}
.info-page section>div{max-width:1180px}
@media(max-width:640px){
 header,main,.cat-wrap,.blog-wrap,.pd-wrap,.co-wrap,.expanded-footer{padding-left:18px;padding-right:18px}
}

/* Full-width bands keep their background but align their text to the content column. */
.topline{padding-left:max(24px,calc((100% - 1228px)/2 + 24px));padding-right:max(24px,calc((100% - 1228px)/2 + 24px))}
@media(max-width:640px){.topline{padding-left:18px;padding-right:18px}}

/* Header navigation: seven links share one row, so they must not break mid-phrase.
   Spacing and size follow the design handoff (14.5px / 22px gap), which fits the column. */
header nav{gap:22px;font-size:14.5px;font-weight:500;flex-wrap:nowrap;min-width:0}
header nav a{white-space:nowrap}
.head-actions{flex-wrap:nowrap;white-space:nowrap}
@media(max-width:1240px){
 /* The drop-down is positioned outside the nav box, so the row must never clip;
    it gives up spacing and size instead. */
 header nav{gap:14px;font-size:13.5px;overflow:visible}
 header nav .nav-btn{padding:9px 12px;font-size:13.5px;gap:6px}
 header .logo{font-size:34px}
}
@media(max-width:767px){
 header{flex-wrap:wrap;height:auto;padding-top:14px;padding-bottom:14px;gap:14px}
 header nav{order:3;width:100%;gap:18px;padding-top:10px;border-top:1px solid #e2e8f1}
}

/* Typography from the design handoff, applied to the whole storefront so the info pages
   and the shop no longer run on two different type systems. */
body{font-family:Onest,system-ui,sans-serif}
h1,h2,h3,h4,h5,.prod-card-name,.pd-info h1,.cat-title,.blog-head h1,.blog-card-body b,
.co-head h1,.co-done h1,.pg-claim,.pd-specs h2,.pd-related h2,.cat-children h2,.cat-sidebar-title,
.pg-cta b,.blog-head h1{font-family:Manrope,system-ui,sans-serif;letter-spacing:-.02em}
h1,h2,.pd-info h1,.cat-title,.blog-head h1,.co-head h1,.co-done h1{font-weight:800}
h3,h4,.prod-card-name,.blog-card-body b,.pd-specs h2,.pd-related h2,.cat-children h2,
.cat-sidebar-title,.pg-cta b{font-weight:700}
.prod-card-name{font-weight:600;font-size:19px;letter-spacing:-.02em}
.pd-price-row b{font-family:Manrope,system-ui,sans-serif;font-weight:800}

/* Partner logos, carried over from lagelateriaitaliana.ua: one row that slides continuously.
   The track holds two identical rows and shifts by half its width, so the loop has no seam.
   Hover pauses it, and reduced-motion users get a plain scrollable row. */
.partners-strip{max-width:1228px;margin:0 auto;padding:34px 24px 40px;border-top:1px solid #e2e8f1}
.partners-strip>p{margin:0 0 22px;font-family:'JetBrains Mono','SF Mono',Consolas,monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#6b7a90}
.marquee-wrap{width:100%;overflow:hidden;position:relative;
 -webkit-mask-image:linear-gradient(to right,transparent 0,#000 6%,#000 94%,transparent 100%);
 mask-image:linear-gradient(to right,transparent 0,#000 6%,#000 94%,transparent 100%)}
.marquee-track{display:flex;width:max-content;animation:frost-marquee 46s linear infinite;will-change:transform}
.marquee-wrap:hover .marquee-track{animation-play-state:paused}
.marquee-row{display:flex;align-items:center;gap:56px;padding-right:56px}
.marquee-row img{flex:0 0 auto;width:auto;height:42px;max-width:150px;object-fit:contain;opacity:.85;transition:opacity .2s,filter .2s;filter:grayscale(.15)}
.marquee-row img:hover{opacity:1;filter:none}
@keyframes frost-marquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(max-width:640px){.partners-strip{padding:26px 18px 32px}.marquee-row{gap:36px;padding-right:36px}.marquee-row img{height:34px}}
/* The reference site runs this strip regardless of the system "reduce motion" setting,
   and the owner wants the same. It is a slow, linear, non-flashing loop that pauses on
   hover, so it stays gentle for anyone who has that setting on. */
@media(prefers-reduced-motion:reduce){.marquee-track{animation-duration:70s}}

/* Header buttons and the catalogue drop-down.
   Catalogue stays a real link — hover opens the menu, a click still goes to the listing. */
header nav .nav-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;font-weight:600;font-size:14px;white-space:nowrap;height:auto}
.nav-btn-dark{background:#17283f;color:#fff}
.nav-btn-dark:hover{background:#163ccc;color:#fff}
.nav-btn-accent{background:#163ccc;color:#fff}
.nav-btn-accent:hover{background:#102fab;color:#fff}

.nav-chev{transition:transform .2s;opacity:.8}

.nav-catalog{position:relative;display:flex;align-items:center;height:100%}
.nav-menu{position:absolute;top:calc(100% - 18px);left:0;z-index:60;display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:22px;
 padding:22px;background:#fff;border:1px solid #e2e8f1;border-radius:14px;box-shadow:0 18px 44px #10286c1f;
 opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s,transform .18s,visibility .18s}
.nav-catalog:hover .nav-menu,.nav-catalog:focus-within .nav-menu{opacity:1;visibility:visible;transform:none}
.nav-catalog:hover .nav-chev{transform:rotate(180deg)}
.nav-menu-head{display:flex!important;flex-direction:column;gap:8px;height:auto!important;font-weight:700;font-size:14px;color:#17283f;line-height:1.3}
.nav-menu-head img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:9px;background:#f2f5fa}
.nav-menu-head:hover{color:#163ccc}
.nav-menu-col ul{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.nav-menu-col li a{display:block!important;height:auto!important;font-size:13px;font-weight:400;color:#6b7a90;line-height:1.5}
.nav-menu-col li a:hover{color:#163ccc}
@media(max-width:1100px){.nav-menu{grid-template-columns:repeat(2,minmax(150px,1fr))}}
@media(max-width:767px){.nav-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:12px 0;grid-template-columns:1fr 1fr;display:none}
 .nav-catalog{flex-direction:column;align-items:flex-start;width:100%}}

/* Price list cards, one per category. */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:10px}
.price-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e2e8f1;border-radius:16px;overflow:hidden;transition:border-color .2s,transform .2s}
.price-card:hover{border-color:#163ccc;transform:translateY(-3px)}
.price-card-img{display:block;aspect-ratio:16/10;background:#f2f5fa;overflow:hidden}
.price-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.price-card:hover .price-card-img img{transform:scale(1.04)}
.price-card-body{display:flex;flex-direction:column;gap:6px;padding:22px;flex:1}
.price-card-body b{font-family:Manrope,system-ui,sans-serif;font-size:19px;font-weight:700;letter-spacing:-.02em;color:#17283f}
.price-card-sub{font-size:13px;color:#6b7a90;line-height:1.6}
.price-card-count{font-family:'JetBrains Mono','SF Mono',Consolas,monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#163ccc;margin-top:2px}
.price-card-actions{margin-top:auto;padding-top:16px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.price-card-actions .prod-buy{width:100%;text-align:center;text-decoration:none}
.price-card-link{font-size:13px;font-weight:600;color:#163ccc}
@media(max-width:1000px){.price-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.price-grid{grid-template-columns:1fr}}

/* Current page marker: a line under plain links, a soft ring on the two button items. */
header nav>a,header nav .nav-catalog{position:relative}
header nav>a:not(.nav-btn){padding-bottom:2px}
header nav>a:not(.nav-btn):after{content:"";position:absolute;left:0;right:0;bottom:26px;height:2px;border-radius:2px;background:#163ccc;transform:scaleX(0);transform-origin:left;transition:transform .2s}
header nav>a:not(.nav-btn):hover:after{transform:scaleX(.4)}
header nav>a:not(.nav-btn).is-active{color:#163ccc;font-weight:600}
header nav>a:not(.nav-btn).is-active:after{transform:scaleX(1)}
.nav-btn.is-active{box-shadow:0 0 0 3px #d3e2ff}
.nav-btn-dark.is-active{background:#163ccc}

/* The logo and navigation stay in reach while scrolling; the blue B2B strip above scrolls
   away, so the sticky bar starts at the very top of the viewport once it is passed. */
:root{--frost-header-h:100px}
header{position:sticky;top:0;z-index:60;background:#fff}
header.is-stuck{box-shadow:0 6px 20px #10286c14}
/* Sticky page elements start below the bar instead of sliding under it. */
.cat-sidebar,.co-side,.pd-gallery{top:calc(var(--frost-header-h) + 16px)}
html{scroll-padding-top:calc(var(--frost-header-h) + 16px)}
@media(max-width:1240px){:root{--frost-header-h:92px}}
@media(max-width:767px){
 :root{--frost-header-h:auto}
 header{position:static}
 .cat-sidebar,.co-side,.pd-gallery{top:16px}
}

/* Request modal: partner, price list and call-back share one dialog. */
.frost-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px}
.frost-modal[hidden]{display:none}
.frost-modal-backdrop{position:absolute;inset:0;background:#17283fa8;backdrop-filter:blur(2px)}
.frost-modal-box{position:relative;width:100%;max-width:480px;max-height:92vh;overflow-y:auto;background:#fff;border-radius:18px;box-shadow:0 24px 60px #10286c33;animation:frost-modal-in .2s ease-out}
@keyframes frost-modal-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.frost-modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 26px 16px;border-bottom:1px solid #e2e8f1}
.frost-modal-head h2{font-family:Manrope,system-ui,sans-serif;font-size:23px;font-weight:700;letter-spacing:-.02em;color:#17283f;margin:0}
.frost-modal-x{width:36px;height:36px;flex:none;border:1px solid #e2e8f1;border-radius:50%;background:#fff;font-size:20px;line-height:1;color:#6b7a90;cursor:pointer}
.frost-modal-x:hover{border-color:#163ccc;color:#163ccc}
.frost-modal-form{display:flex;flex-direction:column;gap:16px;padding:22px 26px 26px}
.mf-field{display:block}
.mf-field>span{display:block;margin-bottom:7px;font-family:'JetBrains Mono','SF Mono',Consolas,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#6b7a90}
.mf-field>span i{color:#d23b1f;font-style:normal}
.mf-field input,.mf-field textarea{width:100%;padding:13px 15px;border:1px solid #e2e8f1;border-radius:10px;font:inherit;font-size:15px;color:#17283f;background:#fff}
.mf-field textarea{resize:vertical;min-height:90px}
.mf-field input:focus,.mf-field textarea:focus{outline:none;border-color:#163ccc}
.mf-field small{display:block;margin-top:6px;font-size:12px;color:#d23b1f}
.mf-field.has-error input,.mf-field.has-error textarea{border-color:#d23b1f}
.mf-submit{width:100%;padding:15px;font-size:14px}
.mf-submit:disabled{opacity:.7;cursor:default}
.mf-note{margin:0;font-size:12px;line-height:1.6;color:#6b7a90;text-align:center}
.mf-done{margin:0;padding:30px 26px 34px;text-align:center;font-size:16px;line-height:1.7;color:#17283f}
.mf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media(max-width:520px){.frost-modal{padding:12px}.frost-modal-head{padding:20px 20px 14px}.frost-modal-form{padding:18px 20px 22px}}
.pl-cta-actions{display:flex;flex-direction:column;gap:10px;align-items:flex-end}
.mf-error{margin:0;padding:12px 14px;border-radius:10px;background:#fff7f4;border:1px solid #f3d9cf;color:#d23b1f;font-size:13px;line-height:1.6}
.mf-file-hint{color:#6b7a90!important}

/* Account area. The stock OpenCart screens are reused, restyled to the shop's design
   instead of rewriting every template — same markup, frost.food look. */
#account-login #content,#account-register #content,#account-account #content,
#account-forgotten #content,#account-edit #content,#account-password #content,
#account-address #content,#account-order #content,#account-return #content,
#account-success #content,#account-logout #content{padding-bottom:50px}
[id^="account-"] .container{max-width:none;padding:0}
[id^="account-"] h1,[id^="account-"] h2{font-family:Manrope,system-ui,sans-serif;font-weight:800;letter-spacing:-.02em;color:#17283f}
[id^="account-"] h1{font-size:34px;margin:0 0 22px}
[id^="account-"] h2{font-size:22px;margin:0 0 14px}
[id^="account-"] .card{border:1px solid #e2e8f1;border-radius:16px;box-shadow:none;background:#fff}
[id^="account-"] .card-header{background:none;border-bottom:1px solid #e2e8f1;font-family:Manrope,system-ui,sans-serif;font-weight:700;font-size:17px;color:#17283f;padding:18px 22px}
[id^="account-"] .card-body{padding:22px}
[id^="account-"] .form-control,[id^="account-"] .form-select{border:1px solid #e2e8f1;border-radius:10px;padding:13px 15px;font-size:15px;color:#17283f}
[id^="account-"] .form-control:focus,[id^="account-"] .form-select:focus{border-color:#163ccc;box-shadow:none}
[id^="account-"] .form-label,[id^="account-"] label{font-family:'JetBrains Mono','SF Mono',Consolas,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#6b7a90}
[id^="account-"] .btn-primary{background:#163ccc;border-color:#163ccc;border-radius:10px;padding:13px 22px;font-weight:600;font-size:14px}
[id^="account-"] .btn-primary:hover{background:#102fab;border-color:#102fab}
[id^="account-"] .btn-light,[id^="account-"] .btn-secondary{background:#fff;border:1px solid #e2e8f1;color:#17283f;border-radius:10px;padding:13px 22px;font-weight:600}
[id^="account-"] .btn-light:hover,[id^="account-"] .btn-secondary:hover{border-color:#163ccc;color:#163ccc}
[id^="account-"] .breadcrumb{background:none;padding:0;margin:0 0 14px;font-size:12px}
[id^="account-"] .breadcrumb a{color:#8794a9}
[id^="account-"] table{border-collapse:separate;border-spacing:0;border:1px solid #e2e8f1;border-radius:12px;overflow:hidden;width:100%}
[id^="account-"] table th{background:#f2f5fa;font-family:'JetBrains Mono','SF Mono',Consolas,monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#6b7a90;font-weight:400;padding:14px 16px;text-align:left}
[id^="account-"] table td{padding:14px 16px;font-size:15px;color:#17283f;border-top:1px solid #e2e8f1}
[id^="account-"] .alert{border-radius:12px;border:1px solid #e2e8f1;background:#f2f5fa;color:#17283f}

/* Trimmed account menu. */
.acc-nav{border:1px solid #e2e8f1;border-radius:16px;padding:20px 22px;background:#fff}
.acc-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.acc-nav li a{display:block;padding:10px 12px;border-radius:8px;font-size:14px;color:#17283f}
.acc-nav li a:hover{background:#f2f5fa;color:#163ccc}
.acc-nav-out{margin-top:8px;padding-top:10px;border-top:1px solid #e2e8f1}
.acc-nav-out a{color:#6b7a90!important}

/* OpenCart's stylesheet paints every heading #444, which beat the white inherited inside
   the blue blocks. Headings follow the palette, and dark blocks keep their light text. */
h1,h2,h3,h4,h5,h6{color:#17283f}
.hero h1,.hero h2,.hero .eyebrow,.partner h2,.topline,.expanded-footer .logo{color:#fff}
.hero em{color:#c8d6ff}
.partner h2{color:#102a78}

/* Mobile navigation. The prototype hides the desktop nav below 700px and never shipped a
   replacement, so the phone had no menu at all — this is it. */
.nav-burger{display:none;width:42px;height:42px;margin-left:auto;border:1px solid #e2e8f1;border-radius:10px;background:#fff;color:#17283f;cursor:pointer;align-items:center;justify-content:center}
.nav-burger:hover{border-color:#163ccc;color:#163ccc}
@media(max-width:700px){.nav-burger{display:inline-flex}}

.mobile-menu{position:fixed;inset:0;z-index:300}
.mobile-menu[hidden]{display:none}
.mobile-menu-backdrop{position:absolute;inset:0;background:#17283fa8}
.mobile-menu-panel{position:absolute;top:0;right:0;bottom:0;width:min(90vw,340px);background:#fff;overflow-y:auto;padding:18px 20px 28px;display:flex;flex-direction:column;gap:16px;animation:frost-menu-in .2s ease-out}
@keyframes frost-menu-in{from{transform:translateX(20px);opacity:.6}to{transform:none;opacity:1}}
.mobile-menu-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid #e2e8f1}
.mobile-menu-head .logo{font-size:26px}
.mobile-menu-x{width:38px;height:38px;flex:none;border:1px solid #e2e8f1;border-radius:50%;background:#fff;color:#6b7a90;display:grid;place-items:center;cursor:pointer}
.mobile-menu-cta{display:block;padding:14px 16px;border-radius:10px;background:#17283f;color:#fff;font-weight:600;font-size:15px;text-align:center}
.mobile-menu-cta:hover{background:#163ccc;color:#fff}
.mobile-menu-group>a{display:block;font-family:Manrope,system-ui,sans-serif;font-weight:700;font-size:15px;color:#17283f;padding:8px 0}
.mobile-menu-group ul{list-style:none;margin:0 0 6px;padding:0 0 0 14px;border-left:1px solid #e2e8f1;display:flex;flex-direction:column}
.mobile-menu-group li a{display:block;padding:7px 0;font-size:14px;color:#6b7a90}
.mobile-menu-group li a:hover{color:#163ccc}
.mobile-menu-links{list-style:none;margin:0;padding:14px 0 0;border-top:1px solid #e2e8f1;display:flex;flex-direction:column}
.mobile-menu-links a{display:block;padding:10px 0;font-size:15px;color:#17283f}
.mobile-menu-links a:hover{color:#163ccc}
.mobile-menu-foot{margin-top:auto;padding-top:16px;border-top:1px solid #e2e8f1;display:flex;flex-direction:column;gap:10px}
.mobile-menu-foot a{font-weight:600;font-size:15px;color:#163ccc}

/* The panel is a <nav>, so the desktop navigation rules (full-height flex links, wide gaps)
   land on it and stack the items on top of each other. They are reset here. */
.mobile-menu-panel a{height:auto;display:block;align-items:initial;font-size:inherit;position:static}
.mobile-menu-panel a:after{display:none}
.mobile-menu-panel .logo{display:inline-flex}
.mobile-menu-panel ul{align-items:stretch}
.mobile-menu-cta{display:block!important}
.mobile-menu-head{display:flex}
.mobile-menu-foot{display:flex}

.mobile-menu-panel{align-items:stretch}
/* The contact bubble must sit under the menu and the modal, not on top of them. */
.frost-callback{z-index:150}
@media(max-width:700px){.frost-callback{right:14px;bottom:14px}}

/* Phone header: one row — logo, icon-only account and cart, burger last. The account label
   and the desktop wrapping rules push it onto two rows otherwise. */
@media(max-width:700px){
 header{flex-wrap:nowrap;gap:10px;height:auto;padding-top:12px;padding-bottom:12px;min-height:0}
 header .logo{font-size:27px;flex:1 1 auto;min-width:0}
 header .logo small{padding-top:8px;font-size:17px}
 .head-actions{margin-left:0;gap:10px;flex:none}
 .head-actions .account span{display:none}
 .head-actions .account{gap:0}
 .bag{padding-left:10px}
 .bag>span{width:22px;height:22px;font-size:11px}
 .nav-burger{order:9;margin-left:0;width:40px;height:40px;flex:none}
}

/* A grid column defaults to min-content width, so the scrollable thumbnail strip stretched
   the whole product page past the screen. Columns and their contents are allowed to shrink. */
.pd-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.pd-gallery,.pd-info,.pd-thumbs,.pd-buy,.pd-specs{min-width:0}
.pd-specs table{table-layout:fixed}
.pd-specs th,.pd-specs td{word-break:break-word}
@media(max-width:900px){.pd-top{grid-template-columns:minmax(0,1fr)}}

/* The design handoff carries its column layouts in inline styles, which a media query
   cannot reach — so on phones the grids are collapsed to one column here instead. */
@media(max-width:760px){
 .info-page [style*="grid-template-columns"]{grid-template-columns:1fr!important}
 .info-page [style*="display:grid"],.info-page [style*="display: grid"]{gap:14px!important}
 .info-page [style*="display:flex"],.info-page [style*="display: flex"]{flex-wrap:wrap}
 .info-page *{min-width:0}
 .info-page [style*="max-width:1180px"]{padding-left:18px!important;padding-right:18px!important}
 .info-page h1{font-size:34px!important;line-height:1.1!important}
 .info-page h2{font-size:26px!important}
 .info-page img{max-width:100%;height:auto}
 .info-page iframe{max-width:100%}
}

/* Phone home page: category tiles, shelves and blog cards all scroll sideways two at a time.
   Stacking them vertically buried the lower sections under several screens of scrolling, and
   a half-visible third card is what tells a thumb the row can be swiped — hence the peek. */
@media(max-width:700px){
 .cat-tiles,.blog-grid{
  display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;
  overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;padding-bottom:6px;margin-bottom:18px}
 .cat-tiles::-webkit-scrollbar,.blog-grid::-webkit-scrollbar,
 .shelf-row::-webkit-scrollbar{display:none}
 .shelf-row{scrollbar-width:none;gap:12px}
 .cat-tiles>.cat-tile,.blog-grid>.blog-card,.shelf-row>.prod-card{
  flex:0 0 calc(50% - 20px);scroll-snap-align:start}
 .cat-tile-body b{font-size:15px}
 .cat-tile-body span{font-size:12px;line-height:1.35}
 .blog-card b{font-size:15px;line-height:1.25}
 .blog-card-text{font-size:12.5px;line-height:1.4}
 .prod-card h3,.prod-card b{font-size:14px}

 /* Swipe affordance: the nudge line above the row, and a third card peeking at the edge. */
 .swipe-hint{display:flex;align-items:center;gap:6px;margin:-6px 0 12px;
  font-size:12px;font-weight:600;letter-spacing:.3px;color:#6b7a90}
 .swipe-hint svg{animation:swipe-nudge 1.6s ease-in-out infinite}
}
@media(min-width:701px){.swipe-hint{display:none}}
@keyframes swipe-nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
@media(prefers-reduced-motion:reduce){.swipe-hint svg{animation:none}}

/* The arrow next to "До кошика" ate the width the label needed, so on a narrow card the
   label broke onto two lines and stretched the whole card. The arrow only repeated the link
   the photo and the name already carry, so it is gone and the button takes the full row. */
.prod-card-actions{grid-template-columns:1fr}
.prod-buy{white-space:nowrap;padding-left:10px;padding-right:10px}
/* Packaging ("500 мл · 6 шт / ящик") must stay on one line — two lines there shift the
   price and button down and make cards in a row different heights. */
.prod-card-spec{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.02em}
@media(max-width:700px){
 .prod-card-body{padding:14px;gap:6px}
 .prod-buy{font-size:11px;letter-spacing:.03em;padding:11px 6px}
 .prod-card-spec{font-size:9px;letter-spacing:0}
 .prod-card-price{font-size:13px}
}

/* Phone header: pinned, with a Каталог button filling the gap between logo and icons —
   the catalogue is the one destination worth a tap without opening the burger. */
.head-catalog{display:none}
@media(max-width:767px){
 :root{--frost-header-h:64px}
 header{position:sticky;top:0;z-index:60;background:#fff}
}
@media(max-width:700px){
 .head-catalog{
  display:inline-flex;align-items:center;justify-content:center;flex:none;
  margin-left:auto;padding:9px 14px;border-radius:9px;background:#163ccc;color:#fff;
  font-family:'JetBrains Mono','SF Mono',Consolas,monospace;font-size:11px;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
 header .logo{flex:0 0 auto}
 .head-actions{margin-left:0}
}
@media(max-width:360px){.head-catalog{padding:9px 10px;font-size:10px}}

/* Side menu: subcategories are folded away, and past four categories the rest hide behind
   a "show all" button — the whole list did not fit one screen and buried the section links. */
.mmg-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.mmg-head>a{flex:1}
.mmg-toggle{flex:none;width:34px;height:34px;display:inline-flex;align-items:center;
 justify-content:center;color:#6b7a90;border-radius:8px}
.mmg-toggle svg{transition:transform .2s}
.mmg-toggle[aria-expanded="true"]{color:#163ccc}
.mmg-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.mobile-menu-group[hidden]{display:none}
.mobile-menu-group ul[hidden]{display:none}
.mobile-menu-more{width:100%;margin:4px 0 10px;padding:10px;border:1px solid #e2e8f1;
 border-radius:9px;background:#f2f5fa;color:#163ccc;font-size:13px;font-weight:700}

/* Price lists are the main call to action for a buyer, so in the side menu the link gets
   the same icy accent the desktop header button carries instead of sitting in the plain list. */
.mobile-menu-links .mm-prices{display:flex;align-items:center;gap:8px;margin-top:6px;
 padding:11px 14px;border-radius:9px;background:#e8effd;border:1px solid #c8d6ff;
 color:#163ccc;font-weight:700}
.mobile-menu-links .mm-prices svg{flex:none}

/* ── Каталог на телефоні ───────────────────────────────────────────────────── */

/* The filter is a drawer here: the full tree, brands, marks and price are taller than the
   screen, and on the old layout they pushed all 84 products below three scrolls of chrome. */
.cat-filter-open{display:none}
.cat-filter-x{display:none}
@media(max-width:767px){
 .cat-filter-open{display:inline-flex;align-items:center;gap:7px;position:relative;
  padding:10px 14px;border:1px solid #c8d6ff;border-radius:9px;background:#e8effd;
  color:#163ccc;font-size:13px;font-weight:700}
 .cat-filter-dot{position:absolute;top:-4px;right:-4px;width:10px;height:10px;border-radius:50%;
  background:#d23b1f;border:2px solid #fff}
 .cat-filter-x{display:inline-flex;align-items:center;justify-content:center;
  position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;
  background:#f2f5fa;color:#17283f}
 .cat-sidebar{position:fixed;top:0;bottom:0;left:0;width:88%;max-width:340px;z-index:220;
  background:#fff;overflow-y:auto;padding:18px 16px 28px;border-radius:0 16px 16px 0;
  box-shadow:0 18px 50px #10286c33;transform:translateX(-102%);transition:transform .25s ease;
  overscroll-behavior:contain}
 .cat-sidebar.is-open{transform:none}
 .cat-filter-backdrop{position:fixed;inset:0;z-index:210;background:#17283fa8}
 .cat-filter-backdrop[hidden]{display:none}
 .cat-toolbar{flex-wrap:wrap;gap:10px}
}

/* First block of the catalogue: categories as pictures, two per screen, scrolled sideways. */
.cat-strip{display:none}
@media(max-width:767px){
 .cat-strip{display:block;margin:0 0 22px}
 .cat-strip-row{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;
  overscroll-behavior-x:contain;scrollbar-width:none;padding-bottom:4px}
 .cat-strip-row::-webkit-scrollbar{display:none}
 .cat-strip-tile{flex:0 0 calc(50% - 20px);scroll-snap-align:start;border:1px solid #e2e8f1;
  border-radius:14px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
 .cat-strip-tile img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
 .cat-strip-body{padding:10px 12px 12px;display:flex;flex-direction:column;gap:3px}
 .cat-strip-body b{font-family:Manrope,system-ui,sans-serif;font-size:14px;line-height:1.2;color:#17283f}
 .cat-strip-body small{font-family:'JetBrains Mono','SF Mono',Consolas,monospace;
  font-size:10px;color:#6b7a90}

 /* A category page repeats its own photo right under a photo the visitor just tapped, so the
    hero picture goes and only the copy and the subcategory tiles remain. */
 .cat-hero{display:block;padding:0;border:0;background:none}
 .cat-hero>img{display:none}
 .cat-hero-text p{margin:0;font-size:14px;line-height:1.5;color:#6b7a90;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
 .cat-hero-text.is-open p{-webkit-line-clamp:unset;overflow:visible}
 .cat-hero-more{margin:6px 0 14px;padding:0;color:#163ccc;font-size:13px;font-weight:700;
  text-decoration:underline}
 .cat-hero-tiles{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;
  overscroll-behavior-x:contain;scrollbar-width:none;padding-bottom:4px;margin-bottom:6px}
 .cat-hero-tiles::-webkit-scrollbar{display:none}
 .cat-hero-tiles>a{flex:0 0 calc(50% - 20px);scroll-snap-align:start;border:1px solid #e2e8f1;
  border-radius:14px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
 .cat-hero-tiles>a img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
 .cat-hero-tiles>a span{padding:10px 12px 12px;font-family:Manrope,system-ui,sans-serif;
  font-size:14px;line-height:1.2;color:#17283f;display:flex;flex-direction:column;gap:3px}
 .cat-hero-tiles>a small{font-family:'JetBrains Mono','SF Mono',Consolas,monospace;
  font-size:10px;color:#6b7a90}
}

/* The contact bubble is a 150×372 flex column even while collapsed, and that empty box was
   swallowing taps over whatever sat under it — on a phone that was the sorting dropdown.
   Only the button and the expanded items may take a pointer. */
.frost-callback{pointer-events:none}
.frost-callback .callback-btn{pointer-events:auto}

/* Product page on a phone: the 29px section headings broke mid-word ("Харчова цінність
   (на 100 г)"), and a 32% label column left the values almost no room. */
@media(max-width:700px){
 .pd-specs h2{font-size:21px;line-height:1.15;hyphens:none}
 .pd-specs th{width:44%;padding:11px 12px;font-size:10px;letter-spacing:.03em}
 .pd-specs td{padding:11px 12px;font-size:14px}
 .pd-specs{padding-top:24px;margin-top:24px}
 .breadcrumbs{flex-wrap:wrap;row-gap:2px;font-size:12px}
}

/* Checkout on a phone: the basket comes first — a buyer wants to see what is being ordered
   and for how much before typing anything. The submit button and the links move to the very
   bottom instead, so "Оформити замовлення" is not offered above the empty form. */
.co-mobile-actions{display:none}
@media(max-width:1000px){
 .co-layout{display:flex;flex-direction:column}
 .co-side{order:-1}
 .co-side .co-submit,.co-side .co-links{display:none}
 .co-mobile-actions{display:flex;flex-direction:column;gap:12px}
}

/* Quantity stepper in the checkout basket — a buyer changing an order should not have to go
   back to the catalogue to add one more box. */
.co-step{display:inline-flex;align-items:center;gap:2px;margin-top:8px;
 border:1px solid #e2e8f1;border-radius:9px;padding:2px}
.co-step-btn{width:30px;height:30px;border-radius:7px;display:inline-flex;align-items:center;
 justify-content:center;font-size:17px;font-weight:700;color:#163ccc;background:#f2f5fa;line-height:1}
.co-step-btn:hover:not(:disabled){background:#e8effd}
.co-step-btn:disabled{color:#6b7a90;opacity:.5;cursor:not-allowed}
.co-step-value{min-width:30px;text-align:center;font-family:'JetBrains Mono','SF Mono',Consolas,monospace;
 font-size:14px;font-weight:700;color:#17283f}
.co-step-unit{padding:0 8px 0 2px;font-size:12px;color:#6b7a90}

/* Blog cards: equal height in a row, so the title and the teaser are both capped. */
.blog-card b{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.blog-card-text{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:700px){.blog-card b{-webkit-line-clamp:3}.blog-card-text{-webkit-line-clamp:4}}

/* Home banner rotation: dots under the hero, active slide only in the flow. */
.hero-slider{position:relative}
.hero-slide[hidden]{display:none}
.hero-dots{position:absolute;left:4.5%;bottom:18px;display:flex;gap:8px;z-index:3}
.hero-dot{width:9px;height:9px;padding:0;border-radius:50%;border:0;background:#ffffff59;
 cursor:pointer;transition:background .2s,width .2s}
.hero-dot.is-active{width:26px;border-radius:6px;background:#fff}
@media(max-width:700px){.hero-dots{left:18px;bottom:12px}}

/* Language switch in the top line. */
.lang-switch{display:inline-flex;gap:2px;margin-left:14px;align-items:center}
.lang-switch a{padding:2px 7px;border-radius:5px;font-size:11px;font-weight:700;letter-spacing:.06em;
 color:#c8d6ff;border:1px solid transparent}
.lang-switch a:hover{color:#fff;border-color:#ffffff40}
.lang-switch a.is-active{background:#ffffff1f;color:#fff;border-color:#ffffff40}

/* Blog articles store their body starting at <h2>, so the page heading is added by the
   template and needs the same look as the headings inside the designer pages. */
.info-page > .info-title{max-width:1180px;margin:34px auto 18px;padding:0 24px;
 font-family:Manrope,system-ui,sans-serif;font-size:40px;line-height:1.08;
 letter-spacing:-.02em;color:#17283f}
@media(max-width:760px){.info-page > .info-title{font-size:30px;padding:0 18px;margin-top:22px}}
