/* Generated production CSS bundle. Rebuild after editing source stylesheets. */

/* Source: assets/css/tailwind.min.css */
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-right-1\.5{right:-.375rem}.-right-2{right:-.5rem}.-top-1\.5{top:-.375rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.left-2{left:.5rem}.left-3{left:.75rem}.right-0{right:0}.right-2{right:.5rem}.right-3{right:.75rem}.top-0{top:0}.top-1\/2{top:50%}.top-2{top:.5rem}.top-24{top:6rem}.top-3{top:.75rem}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.-mx-4{margin-left:-1rem;margin-right:-1rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-3{margin-top:.75rem;margin-bottom:.75rem}.-mb-px{margin-bottom:-1px}.-ml-2{margin-left:-.5rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-14{margin-top:3.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-20{height:5rem}.h-28{height:7rem}.h-32{height:8rem}.h-36{height:9rem}.h-4{height:1rem}.h-44{height:11rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-52{height:13rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-72{height:18rem}.h-8{height:2rem}.h-\[1\.1rem\]{height:1.1rem}.h-full{height:100%}.max-h-72{max-height:18rem}.max-h-\[70vh\]{max-height:70vh}.min-h-\[36px\]{min-height:36px}.min-h-\[44px\]{min-height:44px}.min-h-\[48px\]{min-height:48px}.min-h-\[56px\]{min-height:56px}.min-h-\[60vh\]{min-height:60vh}.min-h-\[70vh\]{min-height:70vh}.min-h-screen{min-height:100vh}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-20{width:5rem}.w-4{width:1rem}.w-40{width:10rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.min-w-\[1\.1rem\]{min-width:1.1rem}.min-w-\[44px\]{min-width:44px}.min-w-\[48px\]{min-width:48px}.min-w-fit{min-width:-moz-fit-content;min-width:fit-content}.min-w-max{min-width:-moz-max-content;min-width:max-content}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-7xl{max-width:80rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-8{gap:2rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-y-1{row-gap:.25rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity,1))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-blue-100{--tw-border-opacity:1;border-color:rgb(219 234 254/var(--tw-border-opacity,1))}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-300{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.border-blue-700{--tw-border-opacity:1;border-color:rgb(29 78 216/var(--tw-border-opacity,1))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.border-gray-800{--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-white\/30{border-color:hsla(0,0%,100%,.3)}.border-yellow-400{--tw-border-opacity:1;border-color:rgb(250 204 21/var(--tw-border-opacity,1))}.border-yellow-400\/40{border-color:rgba(250,204,21,.4)}.bg-\[\#007BC1\]{--tw-bg-opacity:1;background-color:rgb(0 123 193/var(--tw-bg-opacity,1))}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity,1))}.bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.bg-blue-900\/60{background-color:rgba(30,58,138,.6)}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/10{background-color:hsla(0,0%,100%,.1)}.bg-white\/90{background-color:hsla(0,0%,100%,.9)}.bg-yellow-400{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity,1))}.bg-yellow-400\/20{background-color:rgba(250,204,21,.2)}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-amber-700\/80{--tw-gradient-from:rgba(180,83,9,.8) var(--tw-gradient-from-position);--tw-gradient-to:rgba(180,83,9,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-800\/80{--tw-gradient-from:rgba(30,64,175,.8) var(--tw-gradient-from-position);--tw-gradient-to:rgba(30,64,175,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-900\/80{--tw-gradient-from:rgba(30,58,138,.8) var(--tw-gradient-from-position);--tw-gradient-to:rgba(30,58,138,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gray-50{--tw-gradient-from:#f9fafb var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,250,251,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gray-900\/60{--tw-gradient-from:rgba(17,24,39,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(17,24,39,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-700\/80{--tw-gradient-from:rgba(21,128,61,.8) var(--tw-gradient-from-position);--tw-gradient-to:rgba(21,128,61,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-900\/70{--tw-gradient-from:rgba(20,83,45,.7) var(--tw-gradient-from-position);--tw-gradient-to:rgba(20,83,45,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-rose-700\/80{--tw-gradient-from:rgba(190,18,60,.8) var(--tw-gradient-from-position);--tw-gradient-to:rgba(190,18,60,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-gray-900\/5{--tw-gradient-to:rgba(17,24,39,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(17,24,39,.05) var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-blue-50{--tw-gradient-to:#eff6ff var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1\.5{padding:.375rem}.p-10{padding:2.5rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pb-8{padding-bottom:2rem}.pl-5{padding-left:1.25rem}.pr-10{padding-right:2.5rem}.pr-4{padding-right:1rem}.pr-6{padding-right:1.5rem}.pt-12{padding-top:3rem}.pt-3{padding-top:.75rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-sans{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[120px\]{font-size:120px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.not-italic{font-style:normal}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[\#003087\]{--tw-text-opacity:1;color:rgb(0 48 135/var(--tw-text-opacity,1))}.text-\[\#009cde\]{--tw-text-opacity:1;color:rgb(0 156 222/var(--tw-text-opacity,1))}.text-\[\#1A1F71\]{--tw-text-opacity:1;color:rgb(26 31 113/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-blue-100{--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity,1))}.text-blue-200{--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-blue-900{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/80{color:hsla(0,0%,100%,.8)}.text-yellow-300{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.underline-offset-2{text-underline-offset:2px}.opacity-60{opacity:.6}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-blue-200{--tw-shadow-color:#bfdbfe;--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.last\:border-0:last-child{border-width:0}.hover\:border-blue-300:hover{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.hover\:border-blue-400:hover{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.hover\:border-red-300:hover{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.hover\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.hover\:bg-white\/20:hover{background-color:hsla(0,0%,100%,.2)}.hover\:bg-yellow-300:hover{--tw-bg-opacity:1;background-color:rgb(253 224 71/var(--tw-bg-opacity,1))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.hover\:text-gray-400:hover{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.hover\:text-green-600:hover{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.hover\:text-red-400:hover{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.hover\:text-red-500:hover{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:text-yellow-200:hover{--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:border-blue-400:focus{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.active\:bg-blue-800:active{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity,1))}.active\:bg-blue-900:active{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.active\:bg-yellow-500:active{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.group:hover .group-hover\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.group:hover .group-hover\:scale-105,.group:hover .group-hover\:scale-\[1\.03\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-\[1\.03\]{--tw-scale-x:1.03;--tw-scale-y:1.03}.group:hover .group-hover\:bg-blue-700{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.group:hover .group-hover\:text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\:block{display:block}.sm\:h-96{height:24rem}.sm\:w-56{width:14rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:block{display:block}.md\:flex{display:flex}.md\:grid{display:grid}.md\:hidden{display:none}.md\:min-w-0{min-width:0}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-start{justify-content:flex-start}.md\:justify-between{justify-content:space-between}.md\:gap-6{gap:1.5rem}.md\:py-16{padding-top:4rem;padding-bottom:4rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}}@media (min-width:1024px){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:pr-16{padding-right:4rem}}

/* Source: style.css */
/*
Theme Name: SuperMart
Theme URI: https://supermart.example.com
Author:
Author 
Description: A full-featured retail/grocery supermarket theme built with Tailwind CSS. Includes product listings, department navigation, mega menu, cart functionality, pharmacy, photo center, auto care, and more.
Version:
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: supermart
Tags: e-commerce, retail, shopping, full-width-template, custom-menu, responsive-layout
*/

/* =====================================================
   BRAND COLOR TOKENS  (variable-driven theming)
   -----------------------------------------------------
   The theme's blue/yellow brand colours are mapped onto CSS variables below.
   Override the variables to recolour the WHOLE storefront without touching any
   template — via Appearance → Customize → "Brand Colors", `wp theme mod set`,
   a child theme, or an injected  :root{ --primary:#xxxxxx }  block.
   ===================================================== */
:root{
  --sm-primary:#2563eb;        /* main brand colour (Tailwind blue-600) */
  --sm-primary-dark:#1d4ed8;   /* hover/active shade (blue-700) */
  --sm-accent:#facc15;         /* accent: logo + search button (yellow-400) */
  /* Generic aliases so external tools that target --primary / --accent work too */
  --primary:var(--sm-primary);
  --primary-dark:var(--sm-primary-dark);
  --accent:var(--sm-accent);
}
.bg-blue-600,.hover\:bg-blue-600:hover{background-color:var(--primary)!important}
.bg-blue-700,.bg-blue-800,.hover\:bg-blue-700:hover,.active\:bg-blue-800:active,.group:hover .group-hover\:bg-blue-700{background-color:var(--primary-dark)!important}
.text-blue-600,.text-blue-700,.hover\:text-blue-600:hover,.group:hover .group-hover\:text-blue-700{color:var(--primary)!important}
.border-blue-500,.border-blue-600,.focus\:border-blue-400:focus,.hover\:border-blue-400:hover{border-color:var(--primary)!important}
.bg-yellow-400,.hover\:bg-yellow-300:hover,.active\:bg-yellow-500:active{background-color:var(--accent)!important}
.text-yellow-300,.text-yellow-400{color:var(--accent)!important}

/* ====================================================
   SuperMart Custom Styles
   Tailwind CSS handles all utility styling via CDN.
   This file holds only supplemental styles.
   ==================================================== */

/* Smooth scroll */
html { scroll-behavior: smooth; }

/* Font */
body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

/* Kill horizontal overflow / side white-space on mobile. overflow-x:clip clips
   the overflow WITHOUT establishing a scroll container, so position:sticky (the
   header) keeps working — overflow-x:hidden here would break the sticky header. */
html, body {
  max-width: 100%;
  overflow-x: clip;
}

/* Remove default WP styles on nav menus that conflict */
.wp-block-navigation { display: none; }

/* Mega menu overlay */
#sm-mega-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.3);
  z-index: 40;
}
#sm-mega-overlay.active { display: block; }

/* Mega menu panel */
#sm-mega-panel {
  display: none;
  position: absolute;
  left: 0; right: 0;
  background: #fff;
  box-shadow: 0 20px 60px rgba(0,0,0,0.15);
  z-index: 50;
  border-top: 1px solid #f3f4f6;
}
#sm-mega-panel.active { display: flex; }

/* Mobile menu */
#sm-mobile-menu {
  display: none;
  overflow-y: auto;
  max-height: 75vh;
}
#sm-mobile-menu.active { display: block; }

/* Accordion */
.sm-accordion-body {
  display: none;
}
.sm-accordion-body.open {
  display: block;
}

/* Gallery thumbnails active state */
.sm-thumb.active {
  border-color: #2563eb;
}

/* Cart badge animation */
@keyframes sm-pop {
  0% { transform: scale(1); }
  50% { transform: scale(1.3); }
  100% { transform: scale(1); }
}
.sm-cart-badge.pop { animation: sm-pop 0.25s ease; }

/* Product hover shadow */
.sm-product-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,0.10); }

/* Product card images: always show the FULL product (contain, never crop/zoom),
   centered on white with a little breathing room — Walmart-style list images. */
.sm-product-card img { object-fit: contain; background: #ffffff; }

/* Line clamp for product names */
.sm-line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Ensure images fill their containers properly */
.sm-hero-img { object-fit: cover; object-position: center; }

/* Tab underline transition */
.sm-tab { transition: border-color 0.15s, color 0.15s; }

/* Prevent WP admin bar from clipping sticky header */
.admin-bar header.sm-header { top: 32px; }
@media (max-width: 782px) {
  .admin-bar header.sm-header { top: 46px; }
}

/* ==========================================================================
   MINI-CART DRAWER  (fixes: cart popup was never rendered)
   Design notes addressing the 3 reported front-end concerns:
   1) Z-INDEX: overlay 9998 / drawer 9999 → always above the sticky header
      (z-50), the department nav, the mega-menu and any announcement bar.
   2) OVERFLOW CLIPPING: the drawer uses position:fixed, so it is anchored to
      the viewport and can NEVER be clipped by an ancestor's overflow:hidden.
      A defensive rule below also forces the header wrapper to overflow:visible.
   3) HEIGHT & POSITION: the drawer is full viewport height; the items region
      flex-grows and scrolls INTERNALLY (overflow-y:auto), so a cart with many
      lines shows a scrollbar instead of stretching off-screen. The footer
      (subtotal + checkout) stays pinned. dvh + admin-bar offsets keep it fully
      rendered at every resolution.
   ========================================================================== */

/* Defensive: never let the header wrapper clip floating panels */
header.sm-header,
.sm-header { overflow: visible; }

/* Dimmed backdrop */
#sm-cart-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.45);
  z-index: 9998;
  opacity: 0;
  transition: opacity 0.2s ease;
}
#sm-cart-overlay.open { opacity: 1; }

/* The drawer itself */
#sm-cart-popup {
  display: none;                 /* toggled to flex by JS */
  position: fixed;               /* immune to ancestor overflow:hidden */
  z-index: 9999;                 /* above everything, incl. sticky header */
  top: 0;
  right: 0;
  height: 100vh;
  height: 100dvh;                /* correct height on mobile browser chrome */
  width: 380px;
  max-width: 92vw;
  background: #fff;
  box-shadow: -12px 0 40px rgba(0, 0, 0, 0.18);
  flex-direction: column;        /* header · scrollable items · footer */
  transform: translateX(100%);
  transition: transform 0.25s ease;
}
#sm-cart-popup.open { transform: translateX(0); }

/* Header row */
.sm-cart-header {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 18px;
  border-bottom: 1px solid #f1f5f9;
}
.sm-cart-title { margin: 0; font-weight: 800; font-size: 16px; color: #111827; }
.sm-cart-count { margin: 2px 0 0; font-size: 12px; color: #6b7280; }
.sm-cart-close {
  background: #f8fafc; border: none; border-radius: 8px;
  padding: 6px; color: #475569; cursor: pointer; line-height: 0;
}
.sm-cart-close:hover { background: #eef2f7; color: #111827; }

/* Scrollable items region — the key to never overflowing the screen */
.sm-cart-items {
  flex: 1 1 auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 4px 0;
}

/* One product row */
.sm-cart-row {
  display: flex; gap: 12px;
  padding: 12px 18px;
  border-bottom: 1px solid #f6f7f9;
}
.sm-cart-thumb {
  flex: 0 0 auto; width: 60px; height: 60px;
  border-radius: 10px; overflow: hidden; background: #f3f4f6; display: block;
}
.sm-cart-thumb img { width: 100%; height: 100%; object-fit: contain; background: #ffffff; }
.sm-cart-info { flex: 1 1 auto; min-width: 0; }
.sm-cart-name {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  font-size: 13px; font-weight: 600; color: #1f2937; text-decoration: none; line-height: 1.3;
}
.sm-cart-name:hover { color: #2563eb; }
.sm-cart-price { font-size: 12px; color: #6b7280; margin: 2px 0 6px; }
.sm-cart-qty { display: flex; align-items: center; gap: 6px; }
.sm-cart-qty button {
  border: 1px solid #e5e7eb; background: #fff;
  width: 24px; height: 24px; border-radius: 6px;
  font-size: 15px; line-height: 1; color: #374151; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
}
.sm-cart-qty button:hover { background: #f9fafb; border-color: #d1d5db; }
.sm-cart-qnum { min-width: 22px; text-align: center; font-size: 13px; font-weight: 600; color: #111827; }
.sm-cart-remove {
  width: auto !important; padding: 0 6px; margin-left: 4px;
  font-size: 11px !important; color: #ef4444 !important;
  border: none !important; background: none !important;
}
.sm-cart-remove:hover { text-decoration: underline; background: none !important; }
.sm-cart-line { flex: 0 0 auto; font-size: 13px; font-weight: 700; color: #111827; }

/* Pinned footer */
.sm-cart-foot {
  flex: 0 0 auto;
  border-top: 1px solid #f1f5f9;
  padding: 14px 18px 16px;
  background: #fff;
}
.sm-cart-ship {
  display: flex; align-items: center; gap: 6px;
  font-size: 12px; font-weight: 600; color: #16a34a; margin-bottom: 10px;
}
.sm-cart-subtotal {
  display: flex; justify-content: space-between;
  font-size: 15px; font-weight: 800; color: #111827;
}
.sm-cart-note { font-size: 11px; color: #9ca3af; margin: 2px 0 12px; }
.sm-cart-checkout {
  display: block; text-align: center;
  background: #2563eb; color: #fff; font-weight: 700; font-size: 14px;
  padding: 12px; border-radius: 999px; text-decoration: none;
}
.sm-cart-checkout:hover { background: #1d4ed8; }
.sm-cart-continue {
  display: block; width: 100%; text-align: center;
  background: none; border: none; color: #6b7280;
  font-size: 13px; font-weight: 600; padding: 10px 0 0; cursor: pointer;
}
.sm-cart-continue:hover { color: #111827; }

/* Empty state */
.sm-cart-empty {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  padding: 48px 24px;
}
.sm-cart-empty-title { margin: 14px 0 4px; font-weight: 700; font-size: 15px; color: #111827; }
.sm-cart-empty-sub { margin: 0 0 16px; font-size: 13px; color: #6b7280; }
.sm-cart-shop-btn {
  background: #2563eb; color: #fff; font-weight: 700; font-size: 13px;
  padding: 10px 20px; border-radius: 999px; text-decoration: none;
}
.sm-cart-shop-btn:hover { background: #1d4ed8; }

/* Sit below the WordPress admin bar when present */
.admin-bar #sm-cart-popup { height: calc(100vh - 32px); top: 32px; }
@media (max-width: 782px) {
  .admin-bar #sm-cart-popup { height: calc(100vh - 46px); top: 46px; }
}

/* ==========================================================================
   PRODUCT DETAIL PAGE  —  Walmart-aligned pixel tuning
   Scoped to .sm-pdp (added on the product page wrapper). Selectors are kept
   at >= 2-class specificity (or use the #id) so they reliably override the
   Tailwind CDN utility classes regardless of stylesheet source order.
   Reference target: walmart.com product pages (Bogle/Arial, tight spacing).
   ========================================================================== */

/* Walmart-style sans stack (Bogle falls back to Helvetica/Arial) */
.sm-pdp { font-family: "Bogle", "Helvetica Neue", Helvetica, Arial, sans-serif; }

/* Content is already capped at 1280px via .max-w-7xl (80rem); enforce + center */
.sm-pdp .max-w-7xl { max-width: 1280px; margin-left: auto; margin-right: auto; }

/* ---- Typography ---------------------------------------------------------- */
/* Breadcrumbs + secondary meta → 12px, mid-gray #46474a */
.sm-pdp .sm-pdp-crumbs { font-size: 12px; }
.sm-pdp .sm-pdp-crumbs a,
.sm-pdp .sm-pdp-crumbs span { color: #46474a; }
.sm-pdp .sm-pdp-meta { font-size: 12px; }
.sm-pdp .sm-pdp-sku  { color: #46474a; font-size: 12px; }

/* Product title → 24–28px, bold 700, near-black #2e2f32 */
.sm-pdp .sm-pdp-title {
  font-size: 26px;
  line-height: 1.25;
  font-weight: 700;
  color: #2e2f32;
  letter-spacing: -0.01em;
  margin-bottom: 14px;
}
@media (min-width: 1024px) { .sm-pdp .sm-pdp-title { font-size: 28px; } }

/* Price → ~32px bold, near-black; dollar sign as small superscript */
.sm-pdp .sm-pdp-price {
  font-size: 32px;
  font-weight: 700;
  color: #2e2f32;
  line-height: 1;
  letter-spacing: -0.02em;
}
.sm-pdp .sm-pdp-cur {
  font-size: 18px;
  font-weight: 700;
  vertical-align: 7px;
  margin-right: 1px;
}

/* ---- Layout: 55 : 45 columns on large screens (image slightly wider) ----- */
@media (min-width: 1024px) {
  .sm-pdp .sm-pdp-grid {
    grid-template-columns: minmax(0, 55fr) minmax(0, 45fr);
  }
}

/* ---- Add to Cart → Walmart blue, 48px tall, full 24px-radius pill -------- */
#sm-pdp-atc {
  background: #0071dc !important;
  color: #fff;
  height: 48px;
  min-height: 48px;
  border-radius: 24px !important;
  font-weight: 700;
  font-size: 16px;
  box-shadow: none;
}
#sm-pdp-atc:hover  { background: #004f9a !important; }
#sm-pdp-atc:active { background: #003d78 !important; }

/* ---- Trust badges → refined hairline card, 16px bottom gap --------------- */
.sm-pdp .sm-pdp-trust {
  background: #fff;
  border: 1px solid #e6e7e8;
  border-radius: 8px;
  margin-top: 8px;
  margin-bottom: 16px;
}
.sm-pdp .sm-pdp-trust > div { padding: 14px 16px; border-color: #f0f0f1; }
.sm-pdp .sm-pdp-trust p:first-child { color: #2e2f32; font-size: 13px; }
.sm-pdp .sm-pdp-trust p:last-child  { color: #46474a; font-size: 12px; }

/* =====================================================
   WooCommerce archive product grid  (Shop + /product-category/ pages)
   The theme card is rendered inside ul.products; force a real responsive CSS
   grid so the container never collapses on mobile (fixes WC's fragile
   float-based default, which left the grid at height:0 on phones).
   ===================================================== */
.woocommerce ul.products,
ul.products {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);   /* mobile ≤767px → 2 columns */
  gap: 14px;
  width: 100% !important;                   /* full width — never shrink beside a float */
  clear: both !important;                   /* clear the floated result-count / ordering above */
  box-sizing: border-box;
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
}
/* WC result count + ordering dropdown were floating and squeezing the grid into a
   thin column on phones — stack them full-width instead. */
@media (max-width: 767px) {
  .woocommerce-result-count,
  .woocommerce-ordering,
  .woocommerce-ordering select {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 10px !important;
    display: block;
  }
}
.woocommerce ul.products li.product,
ul.products li.product,
ul.products > * {                          /* neutralise WC float widths */
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
  max-width: none !important;
}
@media (min-width: 768px) {
  .woocommerce ul.products,
  ul.products { grid-template-columns: repeat(3, 1fr); gap: 18px; }
}
@media (min-width: 1024px) {
  .woocommerce ul.products,
  ul.products { grid-template-columns: repeat(4, 1fr); }
}

/* Uploaded custom logo (Appearance → Site Identity → Logo) — keep it a sensible size */
.sm-logo-img img.custom-logo{ height:40px; width:auto; max-width:210px; display:block; }
.sm-logo-img-footer img.custom-logo{ height:38px; width:auto; max-width:210px; display:block; }

/* =====================================================
   WooCommerce checkout / cart skin — match the SuperMart look
   (the bridge sends buyers to WC's native checkout for real payments; this
   styles it so it feels like the rest of the store). Uses --primary so the
   5 colour skins match automatically. Targets the classic [woocommerce_checkout].
   ===================================================== */
.woocommerce-checkout h3, .woocommerce-checkout h2,
.woocommerce-cart h2, #order_review_heading { font-weight:800 !important; color:#111827 !important; }

/* form fields */
.woocommerce form .form-row label { font-size:13px; font-weight:600; color:#374151; margin-bottom:4px; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single {
  border:1px solid #d7dbe0 !important; border-radius:10px !important;
  padding:11px 12px !important; height:auto !important; min-height:44px; font-size:14px !important;
  box-shadow:none !important; background:#fff !important;
}
.woocommerce .select2-container .select2-selection--single { display:flex; align-items:center; }
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color:var(--primary,#2563eb) !important; outline:none !important;
  box-shadow:0 0 0 3px rgba(37,99,235,.14) !important;
}

/* order review + cart totals as clean cards */
#order_review, .cart_totals, .woocommerce-cart-form {
  background:#fff !important; border:1px solid #edf0f2 !important; border-radius:16px !important;
  padding:18px !important; box-shadow:0 4px 18px rgba(0,0,0,.04) !important;
}
.woocommerce-checkout-review-order-table { border:0 !important; }
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td { border-color:#f0f2f4 !important; padding:10px 4px !important; }
.woocommerce-checkout-review-order-table .order-total .amount { color:var(--primary,#2563eb) !important; font-weight:900; }

/* payment methods block */
#payment { background:transparent !important; border:0 !important; padding:0 !important; }
#payment ul.payment_methods { border:0 !important; padding:0 !important; margin:0 0 12px !important; }
#payment ul.payment_methods li { padding:10px 0 !important; border-bottom:1px solid #f0f2f4; }
#payment div.payment_box { background:#f7f9fc !important; border-radius:10px !important; margin-top:8px; }
#payment div.payment_box::before { display:none !important; }

/* buttons: Place Order + all WC buttons → theme brand pill */
.woocommerce #payment #place_order,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce a.button.alt, .woocommerce button.button.alt,
.woocommerce .cart .button, .woocommerce .cart input.button {
  background:var(--primary,#2563eb) !important; color:#fff !important; border:0 !important;
  border-radius:9999px !important; font-weight:800 !important; padding:13px 26px !important;
  font-size:15px !important; box-shadow:0 6px 16px rgba(37,99,235,.22) !important; text-shadow:none !important;
  transition:filter .15s ease;
}
.woocommerce #payment #place_order { width:100% !important; }
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce input.button:hover, .woocommerce #payment #place_order:hover { filter:brightness(.92); }

/* notices in theme colours */
.woocommerce-info, .woocommerce-message, .woocommerce-error {
  border-radius:10px !important; border-top:0 !important; padding:14px 16px 14px 44px !important;
}
.woocommerce-info::before, .woocommerce-message::before, .woocommerce-error::before { top:14px !important; }
.woocommerce-info  { border-left:4px solid var(--primary,#2563eb) !important; background:#f3f7ff !important; }
.woocommerce-message{ border-left:4px solid #16a34a !important; background:#f1fbf4 !important; }
.woocommerce-error { border-left:4px solid #dc2626 !important; background:#fef3f3 !important; }

/* coupon toggle */
.checkout_coupon.woocommerce-form-coupon { border-radius:12px !important; border-color:#e5e7eb !important; }

/* =====================================================
   Shopify-style two-column checkout  (classic [woocommerce_checkout])
   Form on the left, sticky order summary on the right with product thumbnails.
   ===================================================== */
@media (min-width: 981px) {
  .woocommerce-checkout form.checkout.woocommerce-checkout {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) 400px;
    gap: 48px;
    max-width: 1060px;
    margin: 12px auto 48px;
    align-items: start;
  }
  .woocommerce-checkout #customer_details { grid-column: 1; }
  .woocommerce-checkout #order_review_heading { grid-column: 2; margin: 0 0 12px !important; }
  .woocommerce-checkout #order_review { grid-column: 2; position: sticky; top: 20px; }
  /* stack billing + shipping vertically in the left column */
  .woocommerce-checkout #customer_details .col2-set { display: block; width: 100%; }
  .woocommerce-checkout #customer_details .col2-set .col-1,
  .woocommerce-checkout #customer_details .col2-set .col-2 { width: 100%; float: none; padding: 0; margin-bottom: 8px; }
}
/* order-summary panel — clean light look */
.woocommerce-checkout #order_review {
  background: #fafbfc !important; border: 1px solid #e8ebef !important;
}
/* product thumbnails inside the summary */
.sm-co-item { display: flex; align-items: center; gap: 12px; }
.sm-co-thumb { flex: none; width: 46px; height: 46px; }
.sm-co-thumb img, .sm-co-thumb img.sm-co-thumb-img {
  width: 46px !important; height: 46px !important; object-fit: contain;
  background: #fff; border: 1px solid #e5e7eb; border-radius: 8px; margin: 0 !important; padding: 3px;
}
.sm-co-name { font-weight: 500; line-height: 1.35; }
.woocommerce-checkout-review-order-table td.product-total,
.woocommerce-checkout-review-order-table td.product-name { vertical-align: middle; }
.woocommerce-checkout-review-order-table .cart_item td { padding-top: 12px !important; padding-bottom: 12px !important; }

/* ==========================================================================
   2026 STOREFRONT REFRESH
   A quieter, editorial retail system: fewer pills, less gradient, more product.
   ========================================================================== */
:root {
  --sm-ink: #10243f;
  --sm-paper: #f6f3ec;
  --sm-warm-white: #fffdf8;
  --sm-rule: #d9d4c8;
  --sm-sale: #c83f2b;
  --sm-text: #1d2935;
}

body,
body.bg-gray-50 {
  color: var(--sm-text);
  background: var(--sm-paper);
  font-family: "Avenir Next", Avenir, "Century Gothic", "Trebuchet MS", sans-serif;
  -webkit-font-smoothing: antialiased;
}

/* Header: compact and dependable, with one clear blue plane. */
.sm-header.bg-blue-600 { background: var(--sm-ink) !important; box-shadow: 0 1px 0 rgba(255,255,255,.14); }
.sm-header .bg-blue-900 { background: #09182b !important; }
.sm-header .border-blue-500 { border-color: rgba(255,255,255,.16) !important; }
.sm-header .bg-blue-700 { background: rgba(255,255,255,.1) !important; }
.sm-header .hover\:bg-blue-700:hover,
.sm-header .hover\:bg-blue-800:hover { background: rgba(255,255,255,.16) !important; }
.sm-header form > div {
  border: 0;
  border-radius: 4px;
  box-shadow: none;
  background: #fff;
}
.sm-header form input { min-height: 42px; }
.sm-header form button { min-width: 48px; }
.sm-header .sm-logo-img img.custom-logo { filter: brightness(0) invert(1); }

/* Homepage hero: photo-led, asymmetric and intentionally print-like. */
.sm-home-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(320px, 42%) 1fr;
  min-height: 520px;
  overflow: hidden;
  background: var(--sm-warm-white);
  border-bottom: 1px solid var(--sm-rule);
}
.sm-home-hero__photo {
  grid-column: 2;
  grid-row: 1;
  min-height: 520px;
  background-size: cover;
  background-position: center;
  clip-path: polygon(7% 0, 100% 0, 100% 100%, 0 100%);
  animation: sm-hero-reveal .7s cubic-bezier(.2,.75,.25,1) both;
}
.sm-home-hero__content {
  grid-column: 1;
  grid-row: 1;
  align-self: center;
  z-index: 1;
  width: min(540px, calc(100% - 40px));
  margin-left: max(20px, calc((100vw - 1280px) / 2 + 20px));
  padding: 58px 26px 54px 0;
  animation: sm-copy-up .55s .08s ease-out both;
}
.sm-home-hero__eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 18px;
  color: #586878;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.sm-home-hero__eyebrow::before {
  content: "";
  width: 32px;
  height: 2px;
  background: var(--sm-sale);
}
.sm-home-hero h1 {
  margin: 0;
  color: var(--sm-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(48px, 5.2vw, 78px);
  font-weight: 400;
  letter-spacing: -.055em;
  line-height: .94;
}
.sm-home-hero h1 em { color: var(--sm-sale); font-weight: 400; }
.sm-home-hero__copy {
  max-width: 450px;
  margin: 26px 0 28px;
  color: #53616e;
  font-size: 16px;
  line-height: 1.65;
}
.sm-home-hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; }
.sm-home-hero__primary {
  display: inline-flex;
  align-items: center;
  min-height: 46px;
  padding: 12px 21px;
  border: 1px solid var(--sm-ink);
  border-radius: 2px;
  background: var(--sm-ink);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: background .18s ease, color .18s ease;
}
.sm-home-hero__primary:hover { background: transparent; color: var(--sm-ink); }
.sm-home-hero__link {
  color: var(--sm-ink);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid var(--sm-ink);
  padding: 5px 0;
}
.sm-home-hero__link span { display: inline-block; margin-left: 4px; transition: transform .18s ease; }
.sm-home-hero__link:hover span { transform: translateX(4px); }
.sm-home-hero__note { margin: 26px 0 0; color: #7a858e; font-size: 11px; }

@keyframes sm-hero-reveal {
  from { opacity: 0; transform: scale(1.025); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes sm-copy-up {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Trust row behaves like store information, not a row of app widgets. */
.sm-home-trust { background: #fffdf8 !important; }
.sm-home-trust > div { padding-top: 14px; padding-bottom: 14px; }
.sm-home-trust > div > div { position: relative; padding-right: 18px; }
.sm-home-trust > div > div:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 3px;
  width: 1px;
  height: 30px;
  background: var(--sm-rule);
}
.sm-home-trust .bg-gray-50 { padding: 0; background: transparent; border-radius: 0; }

/* Section hierarchy uses editorial rules instead of floating headings. */
.sm-home { padding-top: 54px; padding-bottom: 58px; }
.sm-home section > .flex:first-child {
  align-items: end;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--sm-rule);
}
.sm-home section h2 {
  color: var(--sm-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1;
}
.sm-home section h2 + p { margin-top: 7px; color: #71808c; font-size: 12px; }
.sm-home section > .flex:first-child > a {
  color: var(--sm-ink);
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}

/* Product cards: flatter, image-forward and closer to a real catalog. */
.sm-product-card {
  border: 0;
  border-radius: 3px;
  box-shadow: 0 0 0 1px rgba(16,36,63,.09);
  background: var(--sm-warm-white);
}
.sm-product-card:hover {
  box-shadow: 0 12px 28px rgba(16,36,63,.11);
  transform: translateY(-3px);
}
.sm-product-card > div:first-child { border-bottom: 1px solid #ece8df; }
.sm-product-card img { padding: 14px; }
.sm-product-card .sm-wishlist-btn {
  border: 1px solid #e2ded5;
  border-radius: 50%;
  box-shadow: none;
}
.sm-product-card .absolute.top-2.left-2 {
  border-radius: 2px;
  background: var(--sm-sale) !important;
  font-size: 9px;
  letter-spacing: .08em;
}
.sm-product-card .p-3 { padding: 14px; }
.sm-product-card p { color: #344250; font-size: 13px; line-height: 1.45; }
.sm-product-card .text-blue-700 { color: var(--sm-ink) !important; font-family: Georgia, serif; font-size: 21px; font-weight: 700; }
.sm-product-card .sm-atc-btn {
  min-height: 40px;
  border-radius: 2px;
  background: transparent !important;
  border: 1px solid var(--sm-ink);
  color: var(--sm-ink);
  font-size: 12px;
}
.sm-product-card .sm-atc-btn:hover,
.sm-product-card:hover .sm-atc-btn { background: var(--sm-ink) !important; color: #fff; }

.sm-catalog-icon {
  display: inline-block;
  color: currentColor;
  stroke-width: 1.65;
  vertical-align: middle;
}
.sm-category-card {
  border-color: var(--sm-rule);
  border-radius: 3px;
  background: var(--sm-warm-white);
  color: var(--sm-ink);
  text-decoration: none;
}
.sm-category-card:hover {
  border-color: var(--sm-ink);
  box-shadow: 0 8px 20px rgba(16,36,63,.08);
  transform: translateY(-2px);
}
.sm-category-card__icon {
  background: #ece8df;
  color: var(--sm-ink);
  transition: background .18s ease, color .18s ease;
}
.sm-category-card:hover .sm-category-card__icon {
  background: var(--sm-ink);
  color: #fff;
}
.sm-category-card__label {
  position: static;
  justify-content: space-between;
  gap: 8px;
  min-height: 58px;
  color: var(--sm-ink);
  background: var(--sm-warm-white);
}
.sm-category-card__label svg {
  flex: none;
  opacity: .45;
  transition: transform .18s ease, opacity .18s ease;
}
.sm-category-card:hover .sm-category-card__label svg { opacity: 1; transform: translateX(3px); }
.sm-dept-pill svg { display: inline-block; margin-right: 4px; vertical-align: -3px; }

.sm-payment-strip { border-radius: 3px; border-color: var(--sm-rule); }
.sm-payment-strip > div:last-child > div { border-radius: 2px; box-shadow: none; }

/* Promise and promotional blocks lose the repeated floating-card look. */
.sm-home > .grid.grid-cols-1.sm\:grid-cols-3 {
  gap: 0;
  border-top: 1px solid var(--sm-rule);
  border-bottom: 1px solid var(--sm-rule);
}
.sm-home > .grid.grid-cols-1.sm\:grid-cols-3 > div {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}
.sm-home > .grid.grid-cols-1.sm\:grid-cols-3 > div:not(:last-child) { border-right: 1px solid var(--sm-rule); }
.sm-home > .grid.grid-cols-1.sm\:grid-cols-3 .bg-gray-50 { background: #ebe7dd; border-radius: 50%; }
.sm-home > .grid.grid-cols-1.md\:grid-cols-2 > a { border-radius: 3px; }

footer.bg-gray-900 { background: #0b1828 !important; }
footer .rounded-full { border-radius: 3px; }

@media (max-width: 767px) {
  .sm-home-hero {
    display: flex;
    min-height: auto;
    flex-direction: column;
  }
  .sm-home-hero__photo {
    order: 1;
    width: 100%;
    min-height: 250px;
    clip-path: none;
    background-position: center;
  }
  .sm-home-hero__content {
    order: 2;
    width: 100%;
    margin: 0;
    padding: 38px 20px 40px;
  }
  .sm-home-hero h1 { font-size: clamp(46px, 15vw, 64px); }
  .sm-home-hero__copy { margin-top: 20px; }
  .sm-home { padding-top: 38px; }
  .sm-home-trust > div > div:not(:last-child)::after { display: none; }
  .sm-home > .grid.grid-cols-1.sm\:grid-cols-3 > div:not(:last-child) {
    border-right: 0;
    border-bottom: 1px solid var(--sm-rule);
  }
}

@media (prefers-reduced-motion: reduce) {
  .sm-home-hero__photo,
  .sm-home-hero__content { animation: none; }
  .sm-product-card,
  .sm-product-card img { transition: none; }
}


/* Source: assets/css/storefront-v2.css */
/* SuperMart modern retail system — loaded after the legacy theme layer. */
:root {
  --store-navy: #102a43;
  --store-navy-hover: #0a2035;
  --store-blue: #1769aa;
  --store-blue-soft: #eaf3fa;
  --store-red: #c83e32;
  --store-yellow: #f3c64d;
  --store-green: #18794e;
  --store-ink: #17212b;
  --store-muted: #66737f;
  --store-canvas: #f4f6f7;
  --store-surface: #fff;
  --store-border: #dce2e7;
  --store-border-strong: #bdc7d0;
  --store-radius: 8px;
  --store-radius-sm: 5px;
  --store-shadow: 0 2px 8px rgba(21, 39, 56, .07);
  --store-shadow-hover: 0 8px 22px rgba(21, 39, 56, .12);
  --store-container: 1280px;
  --store-fast: 160ms;
}

html { background: var(--store-canvas); }
body,
body.bg-gray-50 {
  margin: 0;
  background: var(--store-canvas);
  color: var(--store-ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.5;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(23, 105, 170, .28);
  outline-offset: 2px;
}
#content > .max-w-7xl,
#content .max-w-7xl { max-width: var(--store-container); }

/* Global commerce header */
.sm-header.bg-blue-600 {
  background: var(--store-navy) !important;
  box-shadow: 0 2px 8px rgba(3, 18, 31, .18);
}
.sm-header .bg-blue-900 { background: #091e30 !important; }
.sm-header > .bg-blue-900 { min-height: 30px; padding-top: 6px; padding-bottom: 6px; }
.sm-header .max-w-7xl { max-width: var(--store-container); }
.sm-header > .max-w-7xl { padding-top: 11px; padding-bottom: 11px; gap: 18px; }
.sm-header form > div {
  overflow: visible;
  border: 2px solid transparent;
  border-radius: var(--store-radius-sm);
  background: #fff;
  transition: border-color var(--store-fast), box-shadow var(--store-fast);
}
.sm-header form > div:focus-within {
  border-color: var(--store-yellow);
  box-shadow: 0 0 0 3px rgba(243, 198, 77, .22);
}
.sm-header form input { min-height: 42px; border-radius: 4px 0 0 4px; }
.sm-header form button {
  min-width: 50px;
  border-radius: 0 3px 3px 0;
  background: var(--store-yellow) !important;
}
.sm-header nav { background: rgba(0, 0, 0, .08); }
.sm-header nav .max-w-7xl { min-height: 40px; }
.sm-header nav a,
.sm-header nav button { border-radius: 4px; font-size: 13px; }
#sm-cart-btn { border: 1px solid rgba(255,255,255,.2); border-radius: var(--store-radius-sm); }
#sm-mega-panel {
  border-top: 0 !important;
  box-shadow: 0 18px 38px rgba(5, 24, 40, .16) !important;
}
#sm-mega-panel .sm-mega-group-btn { min-height: 46px; }
#sm-mega-panel .sm-mega-cat-panel a { border-radius: 6px; }
#sm-mobile-menu { background: var(--store-navy) !important; }

/* Shared headings, surfaces, forms and actions */
#content h1,
#content h2,
#content h3 { letter-spacing: -.018em; }
#content h1 { color: var(--store-ink); font-weight: 750; }
#content input:not([type="radio"]):not([type="checkbox"]),
#content select,
#content textarea {
  border-color: var(--store-border);
  border-radius: var(--store-radius-sm);
  background: #fff;
  min-height: 44px;
}
#content input:focus,
#content select:focus,
#content textarea:focus {
  border-color: var(--store-blue) !important;
  box-shadow: 0 0 0 3px rgba(23,105,170,.12);
}
#content .bg-white.border,
#content section.bg-white.border {
  border-color: var(--store-border);
  border-radius: var(--store-radius);
  box-shadow: none;
}
#content .rounded-2xl { border-radius: var(--store-radius); }
#content .rounded-xl { border-radius: var(--store-radius); }
#content .bg-blue-600,
#content button.bg-blue-600,
#content a.bg-blue-600 {
  background: var(--store-blue) !important;
}
#content .hover\:bg-blue-700:hover,
#content button.bg-blue-600:hover,
#content a.bg-blue-600:hover { background: #125889 !important; }
#content .text-blue-600,
#content .text-blue-700 { color: var(--store-blue) !important; }
#content button.rounded-full,
#content a.rounded-full { border-radius: var(--store-radius-sm); }

/* Home: retail-first hero and product density */
.sm-home-hero {
  grid-template-columns: minmax(380px, 43%) 1fr;
  min-height: 430px;
  background: #fff;
  border-bottom: 1px solid var(--store-border);
}
.sm-home-hero__photo { min-height: 430px; clip-path: none; }
.sm-home-hero__content {
  width: min(560px, calc(100% - 48px));
  padding: 48px 34px 46px 0;
}
.sm-home-hero__eyebrow { margin-bottom: 13px; color: var(--store-blue); }
.sm-home-hero__eyebrow::before { background: var(--store-red); }
.sm-home-hero h1 {
  color: var(--store-navy);
  font-family: inherit;
  font-size: clamp(42px, 4.4vw, 64px);
  font-weight: 780;
  letter-spacing: -.05em;
  line-height: .98;
}
.sm-home-hero h1 em { color: var(--store-red); font-style: normal; font-weight: inherit; }
.sm-home-hero__copy { margin: 20px 0 24px; color: var(--store-muted); }
.sm-home-hero__primary {
  min-height: 44px;
  border: 0;
  border-radius: var(--store-radius-sm);
  background: var(--store-blue);
}
.sm-home-hero__primary:hover { background: #125889; color: #fff; }
.sm-home-hero__link { color: var(--store-blue); border: 0; }
.sm-home-departments {
  overflow-x: auto;
  background: #fff;
  border-bottom: 1px solid var(--store-border);
}
.sm-home-departments > div {
  display: grid;
  grid-template-columns: repeat(9, minmax(92px, 1fr));
  min-width: 900px;
  padding: 14px 16px;
}
.sm-home-departments a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  color: var(--store-ink);
  font-size: 11px;
  font-weight: 650;
  text-align: center;
  text-decoration: none;
}
.sm-home-departments__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--store-blue-soft);
  color: var(--store-blue);
  transition: background var(--store-fast), color var(--store-fast);
}
.sm-home-departments a:hover .sm-home-departments__icon { background: var(--store-navy); color: #fff; }
.sm-home-departments__all .sm-home-departments__icon { background: #eef0f2; color: var(--store-muted); }
.sm-home-trust { background: #fff !important; border-color: var(--store-border); }
.sm-home-trust > div { max-width: var(--store-container); }
.sm-home-stories {
  padding: 38px 0 6px;
  background: var(--store-canvas);
}
.sm-home-stories > div { max-width: var(--store-container); }
.sm-home-stories__heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 15px;
}
.sm-home-stories__heading p {
  margin: 0 0 4px;
  color: var(--store-red);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.sm-home-stories__heading h2 {
  margin: 0;
  color: var(--store-ink);
  font-size: 25px;
  font-weight: 760;
}
.sm-home-stories__heading > a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--store-blue);
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}
.sm-home-stories__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.sm-home-story {
  position: relative;
  min-height: 232px;
  overflow: hidden;
  border-radius: var(--store-radius);
  background: var(--store-navy);
  color: #fff;
  text-decoration: none;
}
.sm-home-story__image {
  position: absolute;
  inset: 0;
  background-position: center;
  background-size: cover;
  transition: transform 400ms ease;
}
.sm-home-story::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(6,23,37,.91) 0%, rgba(6,23,37,.68) 47%, rgba(6,23,37,.08) 100%);
}
.sm-home-story__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 78%;
  padding: 25px;
}
.sm-home-story__content p {
  margin: 0 0 6px;
  color: var(--store-yellow);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.sm-home-story__content h3 {
  margin: 0 0 7px;
  color: #fff;
  font-size: 22px;
  font-weight: 760;
  line-height: 1.08;
}
.sm-home-story__content > span {
  color: rgba(255,255,255,.78);
  font-size: 12px;
  line-height: 1.45;
}
.sm-home-story__content strong {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: 19px;
  padding-bottom: 2px;
  border-bottom: 1px solid rgba(255,255,255,.65);
  color: #fff;
  font-size: 11px;
}
.sm-home-story:hover .sm-home-story__image { transform: scale(1.035); }
.sm-home { padding-top: 38px; }
.sm-home section { margin-bottom: 42px; }
.sm-home section > .flex:first-child { border-color: var(--store-border); padding-bottom: 10px; margin-bottom: 16px; }
.sm-home section h2 {
  color: var(--store-ink);
  font-family: inherit;
  font-size: 24px;
  font-weight: 750;
}
.sm-home section > .flex:first-child > a { color: var(--store-blue); border: 0; }
.sm-home-product-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
@media (min-width: 640px) {
  .sm-home-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .sm-home-product-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
}
.sm-payment-strip { display: none; }

/* Product card */
.sm-product-card {
  border: 1px solid var(--store-border);
  border-radius: var(--store-radius);
  background: #fff;
  box-shadow: none;
  transform: none;
}
.sm-product-card:hover {
  border-color: var(--store-border-strong);
  box-shadow: var(--store-shadow-hover);
  transform: translateY(-2px);
}
.sm-product-card .sm-product-media {
  border-bottom: 1px solid #edf0f2;
  background: linear-gradient(180deg, #fff 0%, #fafbfc 100%);
}
.sm-product-card img { padding: 14px; }
.sm-product-card .p-3 { padding: 13px 14px 14px; }
.sm-product-card p { color: #273746; font-size: 13px; line-height: 1.38; }
.sm-product-card .sm-product-name { color: inherit; text-decoration: none; }
.sm-product-card .sm-product-name:hover p { color: var(--store-blue); }
.sm-product-card .sm-product-name p { min-height: 36px; margin-bottom: 8px; }
.sm-product-card .sm-product-brand {
  margin: 0 0 3px;
  color: var(--store-muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.sm-product-card .sm-product-badge {
  max-width: calc(100% - 56px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  letter-spacing: .035em;
}
.sm-product-card .sm-product-discount {
  position: absolute;
  left: 9px;
  bottom: 9px;
  padding: 3px 7px;
  border-radius: 3px;
  background: #fff1ef;
  color: var(--store-red);
  font-size: 10px;
  font-weight: 750;
  box-shadow: 0 1px 4px rgba(21,39,56,.08);
}
.sm-product-card .sm-wishlist-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 1px solid var(--store-border);
  box-shadow: 0 1px 4px rgba(21,39,56,.08);
}
.sm-product-card .sm-wishlist-btn:hover { border-color: #efb4ad; }
.sm-product-price-row {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 7px;
  min-height: 27px;
}
.sm-product-card .sm-product-was { font-size: 11px; }
.sm-product-card .sm-product-saving {
  min-height: 16px;
  margin: -2px 0 7px;
  color: var(--store-red);
  font-size: 10px;
  font-weight: 700;
}
.sm-product-fulfillment {
  min-height: 42px;
  margin-bottom: 10px;
  padding-top: 7px;
  border-top: 1px solid #edf0f2;
}
.sm-product-card .sm-product-stock {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 3px;
  color: var(--store-muted);
  font-size: 11px;
  font-weight: 650;
}
.sm-product-stock > span {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--store-green);
}
.sm-product-stock.is-out-of-stock { color: var(--store-red); }
.sm-product-stock.is-out-of-stock > span { background: var(--store-red); }
.sm-product-card .sm-product-ship {
  display: flex;
  align-items: center;
  gap: 5px;
  margin: 0;
  color: var(--store-green);
  font-size: 11px;
  font-weight: 650;
}
.sm-product-card .text-blue-700 {
  color: var(--store-ink) !important;
  font-family: inherit;
  font-size: 19px;
  font-weight: 750;
}
.sm-product-card .absolute.top-2.left-2 {
  border-radius: 3px;
  background: var(--store-red) !important;
}
.sm-product-card .sm-atc-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: 100%;
  min-height: 38px;
  border: 0;
  border-radius: var(--store-radius-sm);
  background: var(--store-blue) !important;
  color: #fff;
}
.sm-product-card .sm-atc-btn:hover,
.sm-product-card:hover .sm-atc-btn { background: #125889 !important; color: #fff; }
.sm-product-card .sm-atc-btn.is-disabled,
.sm-product-card:hover .sm-atc-btn.is-disabled {
  background: #e9edf0 !important;
  color: #87929b;
  cursor: not-allowed;
}
.sm-category-card {
  border-color: var(--store-border);
  border-radius: var(--store-radius);
  background: #fff;
}
.sm-category-card__icon { background: var(--store-blue-soft); color: var(--store-blue); }
.sm-category-card:hover .sm-category-card__icon { background: var(--store-navy); }
.sm-category-card__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .25s ease, filter .25s ease;
}
.sm-category-card:hover .sm-category-card__image {
  transform: scale(1.045);
  filter: saturate(1.06) contrast(1.02);
}
.sm-category-card__label { background: #fff; color: var(--store-ink); }
.sm-category-hero {
  overflow: hidden;
  border-bottom: 1px solid var(--store-border);
  background: #fff;
}
.sm-category-hero > div { display: grid; grid-template-columns: minmax(0, 1fr) 42%; min-height: 250px; padding: 0 16px; }
.sm-category-hero__copy { align-self: center; padding: 34px 42px 34px 0; }
.sm-category-hero__copy nav { color: var(--store-muted); }
.sm-category-hero__copy nav a { color: var(--store-blue); text-decoration: none; }
.sm-category-hero h1 { margin: 0 0 12px; color: var(--store-ink); font-size: 34px; font-weight: 750; }
.sm-category-hero h1 svg { color: var(--store-blue); }
.sm-category-hero p { max-width: 620px; margin: 0; color: var(--store-muted); }
.sm-category-hero__image { background-position: center; background-size: cover; }
.sm-results-bar {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--store-border);
}
.sm-results-bar p { margin: 0; color: var(--store-muted); font-size: 13px; }
.sm-results-bar label { display: flex; align-items: center; gap: 8px; color: var(--store-muted); font-size: 12px; }
.sm-results-bar select { min-height: 36px !important; padding: 6px 28px 6px 10px; font-size: 12px; }
@media (min-width: 1180px) {
  .sm-product-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .sm-home-product-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
}

/* Product detail — specialty retail stage */
.sm-pdp {
  background:
    linear-gradient(180deg, #eef1f4 0, #eef1f4 220px, #fff 220px);
}
.sm-pdp-shell {
  width: min(1240px, calc(100% - 40px));
  margin: 0 auto;
  padding: 18px 0 64px;
}
.sm-pdp-crumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0 0 22px;
  color: var(--store-muted);
  font-size: 12px;
}
.sm-pdp-crumbs a { color: inherit; text-decoration: none; }
.sm-pdp-crumbs a:hover { color: var(--store-blue); }
.sm-pdp-crumbs .is-current {
  max-width: 42ch;
  overflow: hidden;
  color: var(--store-ink);
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sm-pdp-stage {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr);
  gap: 36px;
  align-items: start;
  margin-bottom: 48px;
}
.sm-pdp-gallery {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  min-width: 0;
}
.sm-pdp-gallery.has-thumbs {
  grid-template-columns: 68px minmax(0, 1fr);
  gap: 12px;
}
.sm-pdp-main-image {
  position: relative;
  overflow: hidden;
  border: 1px solid #d5dbe1;
  background:
    radial-gradient(circle at 20% 15%, rgba(255,255,255,.9), transparent 42%),
    linear-gradient(160deg, #f7f8fa, #e8ebef 58%, #dde3e8);
}
.sm-pdp-gallery.has-thumbs .sm-pdp-main-image { grid-column: 2; grid-row: 1; }
.sm-pdp-main-image #sm-gallery-main {
  display: block;
  width: 100%;
  height: min(68vh, 640px);
  object-fit: contain;
  padding: 28px;
  background: transparent;
}
.sm-pdp-badges {
  position: absolute;
  top: 14px;
  left: 14px;
  display: flex;
  gap: 6px;
  z-index: 2;
}
.sm-pdp-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  background: var(--store-navy);
  color: #fff;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.sm-pdp-badge.is-sale { background: var(--store-red); }
.sm-gallery-nav {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid var(--store-border);
  background: rgba(255,255,255,.92);
  color: var(--store-ink);
  transform: translateY(-50%);
  opacity: 0;
  transition: opacity .15s ease;
}
.sm-pdp-main-image:hover .sm-gallery-nav { opacity: 1; }
.sm-gallery-nav.is-prev { left: 12px; }
.sm-gallery-nav.is-next { right: 12px; }
.sm-pdp-thumbs {
  display: flex;
  flex-direction: column;
  gap: 8px;
  grid-column: 1;
  grid-row: 1;
}
.sm-gallery-thumb {
  width: 68px;
  height: 68px;
  overflow: hidden;
  border: 1px solid var(--store-border);
  background: #fff;
  padding: 0;
}
.sm-gallery-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #f6f7f8;
}
.sm-gallery-thumb.border-blue-600,
.sm-gallery-thumb.is-active {
  border-color: var(--store-navy) !important;
  box-shadow: inset 0 0 0 1px var(--store-navy);
}
.sm-pdp-buybox {
  position: sticky;
  top: 96px;
  padding: 22px 22px 20px;
  border: 1px solid #cfd6dd;
  background: #fff;
  box-shadow: 0 10px 28px rgba(16, 42, 67, .06);
}
.sm-pdp-buybox__top { margin-bottom: 14px; }
.sm-pdp-brand {
  margin: 0 0 6px;
  color: var(--store-blue);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.sm-pdp-title {
  margin: 0 0 8px;
  color: var(--store-ink);
  font-size: clamp(24px, 2.1vw, 30px);
  font-weight: 750;
  line-height: 1.15;
  letter-spacing: -.02em;
}
.sm-pdp-seller {
  margin: 0;
  color: var(--store-muted);
  font-size: 12px;
}
.sm-pdp-seller strong { color: var(--store-ink); font-weight: 650; }
.sm-pdp-price-block {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px 14px;
  margin: 0 0 14px;
  padding: 14px 0;
  border-top: 1px solid var(--store-border);
  border-bottom: 1px solid var(--store-border);
}
.sm-pdp-price-row { display: flex; align-items: baseline; gap: 10px; }
.sm-pdp-price {
  color: var(--store-ink);
  font-size: 30px;
  font-weight: 780;
  letter-spacing: -.03em;
  line-height: 1;
}
.sm-pdp-from {
  margin-right: 4px;
  color: var(--store-muted);
  font-size: 12px;
  font-weight: 650;
}
.sm-pdp-cur {
  margin-right: 1px;
  font-size: 17px;
  vertical-align: 8px;
}
.sm-pdp-was {
  color: #8a949d;
  font-size: 14px;
  text-decoration: line-through;
}
.sm-pdp-save {
  margin: 0;
  color: var(--store-red);
  font-size: 12px;
  font-weight: 700;
}
.sm-pdp-lede {
  margin: 0 0 16px;
  color: #4d5964;
  font-size: 13px;
  line-height: 1.55;
}
#sm-variations { margin-bottom: 14px; }
.sm-variation-group + .sm-variation-group { margin-top: 14px; }
.sm-variation-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
  color: var(--store-ink);
  font-size: 12px;
  font-weight: 700;
}
.sm-variation-current { color: var(--store-muted); font-size: 11px; font-weight: 550; }
.sm-variation-options { display: flex; flex-wrap: wrap; gap: 7px; }
.sm-variation-option {
  display: inline-flex;
  min-width: 44px;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border: 1px solid #c5ced6;
  background: #fff;
  color: var(--store-ink);
  font-size: 12px;
  font-weight: 650;
  transition: border-color .12s ease, background-color .12s ease, color .12s ease;
}
.sm-variation-option:hover:not(:disabled) { border-color: var(--store-navy); }
.sm-variation-option.is-selected {
  border-color: var(--store-navy);
  background: var(--store-navy);
  color: #fff;
}
.sm-variation-option:disabled {
  cursor: not-allowed;
  opacity: .35;
  text-decoration: line-through;
}
.sm-variation-msg {
  min-height: 1.1em;
  margin: 8px 0 0;
  color: #b45309;
  font-size: 12px;
  font-weight: 600;
}
.sm-pdp-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  margin: 0 0 14px;
  font-size: 12px;
}
.sm-pdp-stock.is-in { color: var(--store-green); font-weight: 700; }
.sm-pdp-stock.is-out { color: var(--store-red); font-weight: 700; }
.sm-pdp-stock-low { color: #c05600; font-weight: 700; }
.sm-pdp-sku { color: var(--store-muted); }
.sm-pdp-purchase-panel {
  padding-top: 2px;
}
.sm-pdp-ship-line {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  color: #44515c;
  font-size: 12px;
}
.sm-pdp-ship-line svg { flex: none; color: var(--store-blue); }
.sm-pdp-ship-line em {
  margin-left: auto;
  color: var(--store-green);
  font-style: normal;
  font-weight: 800;
  font-size: 11px;
}
.sm-pdp-actions {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 8px;
  align-items: stretch;
}
.sm-qty-control {
  display: inline-flex;
  align-items: center;
  border: 1px solid #c5ced6;
  background: #fff;
}
.sm-qty-control button {
  width: 40px;
  height: 46px;
  color: var(--store-ink);
  font-size: 18px;
  font-weight: 600;
  background: transparent;
  border: 0;
}
.sm-qty-control span {
  min-width: 28px;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
}
#sm-pdp-atc {
  height: 46px;
  border: 0;
  background: var(--store-navy) !important;
  color: #fff !important;
  font-size: 14px;
  font-weight: 750;
  letter-spacing: .01em;
  text-transform: none;
  border-radius: 0 !important;
  box-shadow: none !important;
}
#sm-pdp-atc:hover { background: var(--store-navy-hover) !important; }
#sm-pdp-atc:disabled { opacity: .45; cursor: not-allowed; }
.sm-pdp-buy-now {
  display: block;
  width: 100%;
  margin-top: 8px;
  height: 46px;
  border: 1.5px solid var(--store-navy);
  background: #fff;
  color: var(--store-navy);
  font-size: 14px;
  font-weight: 750;
  letter-spacing: .01em;
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
}
.sm-pdp-buy-now:hover:not(:disabled) {
  background: var(--store-navy);
  color: #fff;
}
.sm-pdp-buy-now:disabled {
  opacity: .45;
  cursor: not-allowed;
}
.sm-pdp-actions > .sm-wishlist-btn {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border: 1px solid #c5ced6;
  background: #fff;
  color: #6b7783;
  border-radius: 0;
}
.sm-pdp-actions > .sm-wishlist-btn:hover {
  border-color: #e11d48;
  color: #e11d48;
}
.sm-pdp-assurances {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
  color: var(--store-muted);
  font-size: 11px;
}
.sm-pdp-assurances li {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.sm-pdp-assurances svg {
  flex: none;
  color: var(--store-blue);
  stroke-width: 2;
}
.sm-pdp-details {
  margin: 0 0 52px;
  padding: 34px 0 0;
  border-top: 1px solid var(--store-border);
}
.sm-pdp-details__intro { margin-bottom: 22px; }
.sm-pdp-section-kicker {
  margin: 0 0 4px;
  color: var(--store-blue);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.sm-pdp-details__intro h2,
.sm-pdp-related__heading h2 {
  margin: 0;
  color: var(--store-ink);
  font-size: 22px;
  font-weight: 750;
  letter-spacing: -.02em;
}
.sm-pdp-details__body {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(260px, .7fr);
  gap: 36px;
  align-items: start;
}
.sm-pdp-description > p {
  margin: 0;
  color: #44515c;
  font-size: 14px;
  line-height: 1.7;
}
.sm-pdp-rich-description {
  color: #44515c;
  font-size: 14px;
  line-height: 1.7;
}
.sm-pdp-rich-description section + section {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid var(--store-border);
}
.sm-pdp-rich-description h2 {
  margin: 0 0 10px;
  color: var(--store-ink);
  font-size: 16px;
  font-weight: 750;
  letter-spacing: -.01em;
}
.sm-pdp-rich-description p { margin: 0 0 10px; }
.sm-pdp-rich-description ul {
  margin: 0 0 10px;
  padding-left: 18px;
  list-style: disc;
}
.sm-pdp-rich-description li + li { margin-top: 4px; }
.sm-pdp-rich-description figure { margin: 18px 0 0; }
.sm-pdp-rich-description figure img {
  width: 100%;
  max-height: 420px;
  object-fit: cover;
  border: 1px solid var(--store-border);
  background: #f3f5f7;
}
.sm-pdp-rich-description figcaption {
  margin-top: 7px;
  color: var(--store-muted);
  font-size: 11px;
}
.sm-pdp-rich-description table {
  width: 100%;
  margin-top: 8px;
  border-collapse: collapse;
  font-size: 12px;
}
.sm-pdp-rich-description th,
.sm-pdp-rich-description td {
  padding: 9px 10px;
  border: 1px solid var(--store-border);
  text-align: left;
}
.sm-pdp-rich-description th {
  width: 34%;
  background: #f5f7f9;
  color: var(--store-ink);
  font-weight: 700;
}
.sm-pdp-specs {
  padding: 16px 16px 10px;
  border: 1px solid var(--store-border);
  background: #f8fafb;
}
.sm-pdp-specs h3 {
  margin: 0 0 10px;
  color: var(--store-ink);
  font-size: 13px;
  font-weight: 750;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.sm-pdp-specs dl { margin: 0; }
.sm-pdp-specs dl > div {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 10px;
  padding: 9px 0;
  border-bottom: 1px solid #e3e8ec;
  font-size: 12px;
}
.sm-pdp-specs dl > div:last-child { border-bottom: 0; }
.sm-pdp-specs dt { color: var(--store-muted); }
.sm-pdp-specs dd {
  margin: 0;
  color: var(--store-ink);
  font-weight: 650;
  text-align: right;
}
.sm-pdp-related { margin-bottom: 8px; }
.sm-pdp-related__heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}
.sm-pdp-related__heading a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--store-blue);
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}
.sm-pdp-related__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}
.sm-mobile-atc:not(:has(.sm-mobile-atc__options)) {
  grid-template-areas: "thumb info controls";
}
.sm-mobile-atc-spacer {
  height: 96px;
}
.sm-mobile-atc-spacer.is-variable {
  height: 168px;
}
.sm-mobile-atc {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) auto;
  grid-template-areas:
    "thumb info controls"
    "opts opts opts";
  align-items: center;
  column-gap: 10px;
  row-gap: 8px;
  padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--store-border);
  background: rgba(255,255,255,.98);
  backdrop-filter: blur(8px);
  box-shadow: 0 -8px 24px rgba(5,22,35,.08);
}
.sm-mobile-atc__thumb {
  grid-area: thumb;
  width: 56px;
  height: 56px;
  object-fit: cover;
  background: #f3f5f7;
  border: 1px solid var(--store-border);
}
.sm-mobile-atc__info {
  grid-area: info;
  min-width: 0;
}
.sm-mobile-atc__name {
  margin: 0;
  color: var(--store-ink);
  font-size: 12px;
  font-weight: 650;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sm-mobile-atc__variant {
  margin: 2px 0 0;
  color: var(--store-muted);
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sm-mobile-atc__price {
  margin: 2px 0 0;
  color: var(--store-ink);
  font-size: 15px;
  font-weight: 780;
}
.sm-mobile-atc__options {
  grid-area: opts;
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 88px;
  overflow-x: auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.sm-mobile-variation-group {
  display: flex;
  flex-wrap: nowrap;
  gap: 6px;
}
.sm-mobile-variation-option {
  flex: none;
  min-height: 30px !important;
  padding: 0 10px !important;
  border: 1px solid #c5ced6 !important;
  background: #fff !important;
  color: var(--store-ink) !important;
  font-size: 11px !important;
  font-weight: 650 !important;
  white-space: nowrap;
}
.sm-mobile-variation-option.is-selected {
  border-color: var(--store-navy) !important;
  background: var(--store-navy) !important;
  color: #fff !important;
}
.sm-mobile-variation-option.is-unavailable,
.sm-mobile-variation-option:disabled {
  opacity: .35;
  text-decoration: line-through;
}
.sm-mobile-atc__controls {
  grid-area: controls;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
}
.sm-mobile-atc .sm-mobile-qty {
  height: 32px;
}
.sm-mobile-atc .sm-mobile-qty button {
  width: 28px;
  height: 30px;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--store-ink);
  font-size: 15px;
  font-weight: 600;
}
.sm-mobile-atc .sm-mobile-qty span {
  min-width: 22px;
  font-size: 13px;
}
#sm-mobile-atc-btn {
  min-height: 36px;
  padding: 0 14px;
  border: 0;
  background: var(--store-navy);
  color: #fff;
  font-size: 12px;
  font-weight: 750;
  white-space: nowrap;
}
#sm-mobile-atc-btn:disabled { opacity: .45; }
@media (min-width: 768px) {
  .sm-mobile-atc,
  .sm-mobile-atc-spacer { display: none !important; }
}

/* Cart drawer and generated cart/checkout UI */
#sm-cart-overlay { background: rgba(8, 23, 35, .5); }
#sm-cart-popup { width: min(420px, 92vw); background: #fff; box-shadow: -14px 0 42px rgba(5,22,35,.2); }
.sm-cart-header { padding: 18px 20px; border-color: var(--store-border); }
.sm-cart-title { color: var(--store-ink); font-size: 18px; }
.sm-cart-row { padding: 14px 20px; border-color: #edf0f2; }
.sm-cart-thumb { border: 1px solid var(--store-border); border-radius: 6px; background: #fff; }
.sm-cart-checkout,
.sm-cart-shop-btn {
  border-radius: var(--store-radius-sm);
  background: var(--store-blue);
}
.sm-cart-checkout:hover,
.sm-cart-shop-btn:hover { background: #125889; }
.sm-cart-qty button { border-radius: 4px; }
.sm-cart-foot { border-color: var(--store-border); padding: 16px 20px 18px; }

.sm-cart-shell,
.sm-checkout-shell { max-width: var(--store-container); }
.sm-cart-shell,
.sm-checkout-shell,
.sm-page-shell { margin: 0 auto; padding: 28px 16px 56px; }
.sm-page-heading { margin: 0 0 22px; font-size: 28px; font-weight: 750; }
.sm-cart-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 24px; align-items: start; }
.sm-cart-list,
.sm-order-summary,
.sm-checkout-panel {
  border: 1px solid var(--store-border);
  border-radius: var(--store-radius);
  background: #fff;
}
.sm-cart-list { padding: 4px 18px; }
.sm-cart-page-row { display: flex; gap: 16px; padding: 17px 0; border-bottom: 1px solid #edf0f2; }
.sm-cart-page-row:last-child { border-bottom: 0; }
.sm-cart-page-thumb { width: 88px; height: 88px; flex: none; overflow: hidden; border: 1px solid var(--store-border); border-radius: 6px; }
.sm-cart-page-thumb img { width: 100%; height: 100%; object-fit: contain; }
.sm-cart-page-info { min-width: 0; flex: 1; }
.sm-cart-page-name { color: var(--store-ink); font-size: 14px; font-weight: 650; text-decoration: none; }
.sm-cart-page-price { margin-top: 3px; color: var(--store-muted); font-size: 12px; }
.sm-cart-page-line { font-size: 15px; font-weight: 750; white-space: nowrap; }
.sm-order-summary { position: sticky; top: 118px; padding: 20px; }
.sm-order-summary h2 { margin: 0 0 18px; font-size: 18px; }
.sm-summary-row { display: flex; justify-content: space-between; margin: 9px 0; color: var(--store-muted); font-size: 14px; }
.sm-summary-row strong { color: var(--store-ink); }
.sm-summary-total { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--store-border); font-size: 17px; font-weight: 750; }
.sm-primary-btn {
  display: flex; align-items: center; justify-content: center;
  width: 100%; min-height: 46px; margin-top: 16px;
  border: 0; border-radius: var(--store-radius-sm);
  background: var(--store-blue); color: #fff;
  font-size: 14px; font-weight: 700; text-decoration: none;
}
.sm-primary-btn:hover { background: #125889; color: #fff; }
.sm-secondary-link { display: block; padding: 11px 0 0; color: var(--store-blue); font-size: 13px; text-align: center; }
#sm-cart-page .sm-qty-control { display: inline-flex; align-items: center; margin-top: 10px; border: 1px solid var(--store-border); border-radius: 5px; }
#sm-cart-page .sm-qty-control button { width: 34px; height: 32px; }
#sm-cart-page .sm-qty-control span { min-width: 34px; text-align: center; font-size: 13px; font-weight: 650; }
.sm-remove-link { margin-left: 10px; border: 0; background: none; color: var(--store-muted); font-size: 12px; }
.sm-checkout-panel { padding: 20px; }
.sm-checkout-panel + .sm-checkout-panel { margin-top: 14px; }

/* Weekly ad and supporting pages */
.sm-weekly-ad .sm-ad-hero {
  border-radius: var(--store-radius);
  box-shadow: var(--store-shadow);
}
.sm-ad-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding-bottom: 16px; border-bottom: 1px solid var(--store-border); }
.sm-ad-kicker { margin: 0 0 5px; color: var(--store-red); font-size: 11px; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.sm-ad-heading h1 { margin: 0; }
.sm-ad-hero__overlay { background: linear-gradient(90deg, rgba(8,29,46,.9), rgba(8,29,46,.36) 70%, transparent); }
.sm-ad-cta { border-radius: var(--store-radius-sm); background: var(--store-yellow); color: var(--store-navy); text-decoration: none; }
.sm-ad-cta:hover { background: #ffda6b; }
.sm-weekly-ad .sm-ad-tile { border-radius: var(--store-radius); border: 1px solid var(--store-border); }
.page-template-page-sign-in-php #content > div,
.page-template-page-contact-php #content > div,
.page-template-page-help-php #content > div,
.page-template-page-legal-php #content > div,
.page-template-page-track-order-php #content > div { max-width: 1120px; }
.page-template-page-sign-in-php #content .max-w-md { max-width: 470px; }
.page-template-page-sign-in-php #content .shadow-sm,
.page-template-page-contact-php #content .shadow-sm { box-shadow: var(--store-shadow); }
.sm-page-shell > h1 {
  margin: 0 0 6px;
  color: var(--store-ink);
  font-size: 28px;
  font-weight: 750;
}
.sm-page-shell > h1 + p { color: var(--store-muted); }
.sm-page-shell .sm-help-tab,
.sm-page-shell .sm-legal-tab {
  color: var(--store-muted);
  border-color: transparent;
}
.sm-page-shell .sm-help-tab.text-blue-600,
.sm-page-shell .sm-legal-tab.text-blue-600 {
  color: var(--store-blue) !important;
  border-color: var(--store-blue) !important;
}
.sm-page-shell .sm-accordion-btn { border-radius: 0; }
.sm-auth-page { background: linear-gradient(180deg, #eef3f6, var(--store-canvas)); }
.sm-auth-page .max-w-md > .bg-white {
  border-color: var(--store-border);
  border-radius: var(--store-radius);
  box-shadow: var(--store-shadow);
}
.sm-auth-page .bg-yellow-400 { border-radius: var(--store-radius-sm); background: var(--store-yellow) !important; }
.sm-auth-page form button[type="submit"],
.sm-auth-page a.bg-blue-600 { border-radius: var(--store-radius-sm); }

/* WooCommerce integration */
.woocommerce ul.products,
ul.products { gap: 14px; }
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #payment #place_order {
  border-radius: var(--store-radius-sm) !important;
  background: var(--store-blue) !important;
  box-shadow: none !important;
}
#order_review,
.cart_totals,
.woocommerce-cart-form {
  border-color: var(--store-border) !important;
  border-radius: var(--store-radius) !important;
  box-shadow: none !important;
}

@media (min-width: 1180px) {
  .woocommerce ul.products,
  ul.products { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .sm-home-stories__grid { grid-template-columns: 1fr; }
  .sm-home-story { min-height: 210px; }
  .sm-home-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sm-cart-layout { grid-template-columns: 1fr; }
  .sm-order-summary { position: static; }
  .sm-pdp-stage { grid-template-columns: 1fr; gap: 24px; }
  .sm-pdp-buybox { position: static; }
  .sm-pdp-main-image #sm-gallery-main { height: min(56vh, 520px); }
  .sm-pdp-details__body { grid-template-columns: 1fr; gap: 20px; }
  .sm-pdp-related__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .sm-header > .max-w-7xl { gap: 8px; padding: 9px 12px; }
  .sm-home-hero { display: flex; }
  .sm-home-hero__photo { min-height: 230px; }
  .sm-home-hero__content { width: 100%; padding: 32px 18px 34px; }
  .sm-home-hero h1 { font-size: 43px; }
  .sm-home-trust > div { padding-left: 14px; }
  .sm-home-stories { padding-top: 28px; }
  .sm-home-stories__heading { align-items: start; }
  .sm-home-stories__heading h2 { font-size: 22px; }
  .sm-home-story__content { max-width: 84%; padding: 22px; }
  .sm-home { padding-top: 28px; }
  .sm-home section h2 { font-size: 21px; }
  .sm-category-hero > div { display: block; min-height: 0; padding: 0; }
  .sm-category-hero__copy { padding: 28px 16px; }
  .sm-category-hero__image { height: 170px; }
  .sm-category-hero h1 { font-size: 28px; }
  .sm-ad-heading { display: block; }
  .sm-ad-heading > p { margin-top: 8px; }
  .sm-product-card .p-3 { padding: 10px; }
  .sm-home-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .sm-pdp {
    background: #fff;
  }
  .sm-pdp-shell { width: calc(100% - 28px); padding: 12px 0 48px; }
  .sm-pdp-gallery,
  .sm-pdp-gallery.has-thumbs {
    display: flex;
    flex-direction: column;
  }
  .sm-pdp-main-image { order: 1; width: 100%; }
  .sm-pdp-main-image #sm-gallery-main { height: 360px; padding: 18px; }
  .sm-pdp-thumbs {
    order: 2;
    flex-direction: row;
    overflow-x: auto;
    padding-bottom: 2px;
  }
  .sm-gallery-thumb { width: 58px; height: 58px; flex: none; }
  .sm-gallery-nav { opacity: 1; }
  .sm-pdp-buybox { padding: 16px; }
  .sm-pdp-title { font-size: 24px; }
  .sm-pdp-actions {
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "atc wish"
      "qty qty";
  }
  .sm-qty-control { grid-area: qty; justify-self: start; }
  #sm-pdp-atc { grid-area: atc; }
  .sm-pdp-actions > .sm-wishlist-btn { grid-area: wish; }
  .sm-pdp-details { margin-bottom: 36px; }
  .sm-pdp-rich-description figure img { max-height: 300px; }
  .sm-pdp-related__heading { align-items: start; }
  .sm-pdp-related__heading a { display: none; }
  .sm-pdp-related__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .sm-cart-shell,
  .sm-checkout-shell,
  .sm-page-shell { padding: 22px 14px 42px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

