/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:Arial, "Helvetica Neue", sans-serif;--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-red-950:oklch(25.8% .092 26.042);--color-orange-50:oklch(98% .016 73.684);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-200:oklch(90.1% .076 70.697);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-orange-700:oklch(55.3% .195 38.402);--color-orange-800:oklch(47% .157 37.304);--color-orange-900:oklch(40.8% .123 38.172);--color-orange-950:oklch(26.6% .079 36.259);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-amber-950:oklch(27.9% .077 45.635);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-300:oklch(90.5% .182 98.111);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-800:oklch(47.6% .114 61.907);--color-yellow-900:oklch(42.1% .095 57.708);--color-yellow-950:oklch(28.6% .066 53.813);--color-lime-50:oklch(98.6% .031 120.757);--color-lime-100:oklch(96.7% .067 122.328);--color-lime-200:oklch(93.8% .127 124.321);--color-lime-300:oklch(89.7% .196 126.665);--color-lime-400:oklch(84.1% .238 128.85);--color-lime-500:oklch(76.8% .233 130.85);--color-lime-600:oklch(64.8% .2 131.684);--color-lime-700:oklch(53.2% .157 131.589);--color-lime-800:oklch(45.3% .124 130.933);--color-lime-900:oklch(40.5% .101 131.063);--color-lime-950:oklch(27.4% .072 132.109);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-green-900:oklch(39.3% .095 152.535);--color-green-950:oklch(26.6% .065 152.934);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-emerald-950:oklch(26.2% .051 172.552);--color-teal-50:oklch(98.4% .014 180.72);--color-teal-100:oklch(95.3% .051 180.801);--color-teal-200:oklch(91% .096 180.426);--color-teal-300:oklch(85.5% .138 181.071);--color-teal-400:oklch(77.7% .152 181.912);--color-teal-500:oklch(70.4% .14 182.503);--color-teal-600:oklch(60% .118 184.704);--color-teal-700:oklch(51.1% .096 186.391);--color-teal-800:oklch(43.7% .078 188.216);--color-teal-900:oklch(38.6% .063 188.416);--color-teal-950:oklch(27.7% .046 192.524);--color-cyan-50:oklch(98.4% .019 200.873);--color-cyan-100:oklch(95.6% .045 203.388);--color-cyan-200:oklch(91.7% .08 205.041);--color-cyan-300:oklch(86.5% .127 207.078);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-cyan-600:oklch(60.9% .126 221.723);--color-cyan-700:oklch(52% .105 223.128);--color-cyan-800:oklch(45% .085 224.283);--color-cyan-900:oklch(39.8% .07 227.392);--color-cyan-950:oklch(30.2% .056 229.695);--color-sky-50:oklch(97.7% .013 236.62);--color-sky-100:oklch(95.1% .026 236.824);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-300:oklch(82.8% .111 230.318);--color-sky-400:oklch(74.6% .16 232.661);--color-sky-500:oklch(68.5% .169 237.323);--color-sky-600:oklch(58.8% .158 241.966);--color-sky-700:oklch(50% .134 242.749);--color-sky-800:oklch(44.3% .11 240.79);--color-sky-900:oklch(39.1% .09 240.876);--color-sky-950:oklch(29.3% .066 243.157);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-blue-950:oklch(28.2% .091 267.935);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-200:oklch(87% .065 274.039);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-indigo-800:oklch(39.8% .195 277.366);--color-indigo-900:oklch(35.9% .144 278.697);--color-indigo-950:oklch(25.7% .09 281.288);--color-violet-50:oklch(96.9% .016 293.756);--color-violet-100:oklch(94.3% .029 294.588);--color-violet-200:oklch(89.4% .057 293.283);--color-violet-300:oklch(81.1% .111 293.571);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-500:oklch(60.6% .25 292.717);--color-violet-600:oklch(54.1% .281 293.009);--color-violet-700:oklch(49.1% .27 292.581);--color-violet-800:oklch(43.2% .232 292.759);--color-violet-900:oklch(38% .189 293.745);--color-violet-950:oklch(28.3% .141 291.089);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-200:oklch(90.2% .063 306.703);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-purple-800:oklch(43.8% .218 303.724);--color-purple-900:oklch(38.1% .176 304.987);--color-purple-950:oklch(29.1% .149 302.717);--color-fuchsia-50:oklch(97.7% .017 320.058);--color-fuchsia-100:oklch(95.2% .037 318.852);--color-fuchsia-200:oklch(90.3% .076 319.62);--color-fuchsia-300:oklch(83.3% .145 321.434);--color-fuchsia-400:oklch(74% .238 322.16);--color-fuchsia-500:oklch(66.7% .295 322.15);--color-fuchsia-600:oklch(59.1% .293 322.896);--color-fuchsia-700:oklch(51.8% .253 323.949);--color-fuchsia-800:oklch(45.2% .211 324.591);--color-fuchsia-900:oklch(40.1% .17 325.612);--color-fuchsia-950:oklch(29.3% .136 325.661);--color-pink-50:oklch(97.1% .014 343.198);--color-pink-100:oklch(94.8% .028 342.258);--color-pink-200:oklch(89.9% .061 343.231);--color-pink-300:oklch(82.3% .12 346.018);--color-pink-400:oklch(71.8% .202 349.761);--color-pink-500:oklch(65.6% .241 354.308);--color-pink-600:oklch(59.2% .249 .584);--color-pink-700:oklch(52.5% .223 3.958);--color-pink-800:oklch(45.9% .187 3.815);--color-pink-900:oklch(40.8% .153 2.432);--color-pink-950:oklch(28.4% .109 3.907);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-100:oklch(94.1% .03 12.58);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-300:oklch(81% .117 11.638);--color-rose-400:oklch(71.2% .194 13.428);--color-rose-500:oklch(64.5% .246 16.439);--color-rose-600:oklch(58.6% .253 17.585);--color-rose-700:oklch(51.4% .222 16.935);--color-rose-800:oklch(45.5% .188 13.697);--color-rose-900:oklch(41% .159 10.272);--color-rose-950:oklch(27.1% .105 12.094);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-gray-950:oklch(13% .028 261.692);--color-zinc-50:oklch(98.5% 0 none);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-300:oklch(87.1% .006 286.286);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-600:oklch(44.2% .017 285.786);--color-zinc-700:oklch(37% .013 285.805);--color-zinc-800:oklch(27.4% .006 286.033);--color-zinc-900:oklch(21% .006 285.885);--color-zinc-950:oklch(14.1% .005 285.823);--color-neutral-50:oklch(98.5% 0 none);--color-neutral-100:oklch(97% 0 none);--color-neutral-200:oklch(92.2% 0 none);--color-neutral-300:oklch(87% 0 none);--color-neutral-400:oklch(70.8% 0 none);--color-neutral-500:oklch(55.6% 0 none);--color-neutral-600:oklch(43.9% 0 none);--color-neutral-700:oklch(37.1% 0 none);--color-neutral-800:oklch(26.9% 0 none);--color-neutral-900:oklch(20.5% 0 none);--color-neutral-950:oklch(14.5% 0 none);--color-stone-50:oklch(98.5% .001 106.423);--color-stone-100:oklch(97% .001 106.424);--color-stone-200:oklch(92.3% .003 48.717);--color-stone-300:oklch(86.9% .005 56.366);--color-stone-400:oklch(70.9% .01 56.259);--color-stone-500:oklch(55.3% .013 58.071);--color-stone-600:oklch(44.4% .011 73.639);--color-stone-700:oklch(37.4% .01 67.558);--color-stone-800:oklch(26.8% .007 34.298);--color-stone-900:oklch(21.6% .006 56.043);--color-stone-950:oklch(14.7% .004 49.25);--color-black:#000;--color-white:#fff;--spacing:.25rem;--breakpoint-sm:40rem;--breakpoint-md:48rem;--breakpoint-lg:64rem;--breakpoint-xl:80rem;--breakpoint-2xl:96rem;--container-3xs:16rem;--container-2xs:18rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--text-8xl:6rem;--text-8xl--line-height:1;--text-9xl:8rem;--text-9xl--line-height:1;--font-weight-thin:100;--font-weight-extralight:200;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-4xl:2rem;--shadow-2xs:0 1px #0000000d;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--shadow-2xl:0 25px 50px -12px #00000040;--inset-shadow-2xs:inset 0 1px #0000000d;--inset-shadow-xs:inset 0 1px 1px #0000000d;--inset-shadow-sm:inset 0 2px 4px #0000000d;--drop-shadow-xs:0 1px 1px #0000000d;--drop-shadow-sm:0 1px 2px #00000026;--drop-shadow-md:0 3px 3px #0000001f;--drop-shadow-lg:0 4px 4px #00000026;--drop-shadow-xl:0 9px 7px #0000001a;--drop-shadow-2xl:0 25px 25px #00000026;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--animate-bounce:bounce 1s infinite;--blur-xs:4px;--blur-sm:8px;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--blur-2xl:40px;--blur-3xl:64px;--perspective-dramatic:100px;--perspective-near:300px;--perspective-normal:500px;--perspective-midrange:800px;--perspective-distant:1200px;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.top-0{top:0}.right-0{right:0}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.-mt-\[6\.6rem\]{margin-top:-6.6rem}.-mt-px{margin-top:-1px}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mr-2{margin-right:calc(var(--spacing) * 2)}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.-ml-8{margin-left:calc(var(--spacing) * -8)}.-ml-px{margin-left:-1px}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-12{margin-left:calc(var(--spacing) * 12)}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-\[335\/364\]{aspect-ratio:335/364}.h-1{height:var(--spacing)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-5{height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.h-14{height:calc(var(--spacing) * 14)}.h-14\.5{height:calc(var(--spacing) * 14.5)}.h-16{height:calc(var(--spacing) * 16)}.min-h-screen{min-height:100vh}.w-1{width:var(--spacing)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-\[438px\]{width:438px}.w-auto{width:auto}.w-full{width:100%}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[335px\]{max-width:335px}.max-w-none{max-width:none}.max-w-xl{max-width:var(--container-xl)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.translate-y-0{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-items-center{justify-items:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(var(--spacing) * var(--tw-space-x-reverse));margin-inline-end:calc(var(--spacing) * calc(1 - var(--tw-space-x-reverse)))}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.rounded-l-md{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.rounded-br-lg{border-bottom-right-radius:var(--radius-lg)}.rounded-bl-lg{border-bottom-left-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-\[\#19140035\]{border-color:#19140035}.border-\[\#e3e3e0\]{border-color:#e3e3e0}.border-black{border-color:var(--color-black)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-400{border-color:var(--color-gray-400)}.border-transparent{border-color:#0000}.bg-\[\#1b1b18\]{background-color:#1b1b18}.bg-\[\#FDFDFC\]{background-color:#fdfdfc}.bg-\[\#dbdbd7\]{background-color:#dbdbd7}.bg-\[\#fff2f2\]{background-color:#fff2f2}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-white{background-color:var(--color-white)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.text-center{text-align:center}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-\[13px\]{font-size:13px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-\[20px\]{--tw-leading:20px;line-height:20px}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-\[\#1B1B18\],.text-\[\#1b1b18\]{color:#1b1b18}.text-\[\#706f6c\]{color:#706f6c}.text-\[\#F3BEC7\]{color:#f3bec7}.text-\[\#F8B803\]{color:#f8b803}.text-\[\#F53003\],.text-\[\#f53003\]{color:#f53003}.text-gray-200{color:var(--color-gray-200)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-100{opacity:1}.mix-blend-color{mix-blend-mode:color}.mix-blend-darken{mix-blend-mode:darken}.mix-blend-hard-light{mix-blend-mode:hard-light}.mix-blend-multiply{mix-blend-mode:multiply}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0px_0px_1px_0px_rgba\(0\,0\,0\,0\.03\)\,0px_1px_2px_0px_rgba\(0\,0\,0\,0\.06\)\]{--tw-shadow:0px 0px 1px 0px var(--tw-shadow-color,#00000008), 0px 1px 2px 0px var(--tw-shadow-color,#0000000f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[inset_0px_0px_0px_1px_rgba\(26\,26\,0\,0\.16\)\]{--tw-shadow:inset 0px 0px 0px 1px var(--tw-shadow-color,#1a1a0029);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-gray-300{--tw-ring-color:var(--color-gray-300)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-200{transition-delay:.2s}.delay-300{transition-delay:.3s}.delay-400{transition-delay:.4s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-750{--tw-duration:.75s;transition-duration:.75s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.\[--stroke-color\:\#1B1B18\]{--stroke-color:#1b1b18}.not-has-\[nav\]\:hidden:not(:has(:is(nav))){display:none}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:top-0:before{content:var(--tw-content);top:0}.before\:top-1\/2:before{content:var(--tw-content);top:50%}.before\:bottom-0:before{content:var(--tw-content);bottom:0}.before\:bottom-1\/2:before{content:var(--tw-content);bottom:50%}.before\:left-\[0\.4rem\]:before{content:var(--tw-content);left:.4rem}.before\:border-l:before{content:var(--tw-content);border-left-style:var(--tw-border-style);border-left-width:1px}.before\:border-\[\#e3e3e0\]:before{content:var(--tw-content);border-color:#e3e3e0}@media (hover:hover){.hover\:border-\[\#1915014a\]:hover{border-color:#1915014a}.hover\:border-\[\#19140035\]:hover{border-color:#19140035}.hover\:border-black:hover{border-color:var(--color-black)}.hover\:bg-black:hover{background-color:var(--color-black)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:text-gray-400:hover{color:var(--color-gray-400)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}}.focus\:border-blue-300:focus{border-color:var(--color-blue-300)}.focus\:ring:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:bg-gray-100:active{background-color:var(--color-gray-100)}.active\:text-gray-500:active{color:var(--color-gray-500)}.active\:text-gray-700:active{color:var(--color-gray-700)}.active\:text-gray-800:active{color:var(--color-gray-800)}@media (width>=40rem){.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:flex-1{flex:1}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-2{gap:calc(var(--spacing) * 2)}}@media (width>=64rem){.lg\:mt-10{margin-top:calc(var(--spacing) * 10)}.lg\:mb-0{margin-bottom:0}.lg\:mb-6{margin-bottom:calc(var(--spacing) * 6)}.lg\:-ml-px{margin-left:-1px}.lg\:ml-0{margin-left:0}.lg\:block{display:block}.lg\:aspect-auto{aspect-ratio:auto}.lg\:w-\[438px\]{width:438px}.lg\:max-w-4xl{max-width:var(--container-4xl)}.lg\:grow{flex-grow:1}.lg\:flex-row{flex-direction:row}.lg\:justify-center{justify-content:center}.lg\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.lg\:rounded-tl-lg{border-top-left-radius:var(--radius-lg)}.lg\:rounded-r-lg{border-top-right-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.lg\:rounded-br-none{border-bottom-right-radius:0}.lg\:p-8{padding:calc(var(--spacing) * 8)}.lg\:p-20{padding:calc(var(--spacing) * 20)}.lg\:pb-10{padding-bottom:calc(var(--spacing) * 10)}}.rtl\:flex-row-reverse:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){flex-direction:row-reverse}@media (prefers-color-scheme:dark){.dark\:border-\[\#3E3E3A\]{border-color:#3e3e3a}.dark\:border-\[\#eeeeec\]{border-color:#eeeeec}.dark\:border-gray-600{border-color:var(--color-gray-600)}.dark\:bg-\[\#0a0a0a\]{background-color:#0a0a0a}.dark\:bg-\[\#1D0002\]{background-color:#1d0002}.dark\:bg-\[\#3E3E3A\]{background-color:#3e3e3a}.dark\:bg-\[\#161615\]{background-color:#161615}.dark\:bg-\[\#eeeeec\]{background-color:#eeeeec}.dark\:bg-gray-700{background-color:var(--color-gray-700)}.dark\:bg-gray-800{background-color:var(--color-gray-800)}.dark\:text-\[\#1C1C1A\]{color:#1c1c1a}.dark\:text-\[\#4B0600\]{color:#4b0600}.dark\:text-\[\#391800\]{color:#391800}.dark\:text-\[\#733000\]{color:#733000}.dark\:text-\[\#A1A09A\]{color:#a1a09a}.dark\:text-\[\#EDEDEC\]{color:#ededec}.dark\:text-\[\#F61500\]{color:#f61500}.dark\:text-\[\#FF4433\]{color:#f43}.dark\:text-black{color:var(--color-black)}.dark\:text-gray-200{color:var(--color-gray-200)}.dark\:text-gray-300{color:var(--color-gray-300)}.dark\:text-gray-400{color:var(--color-gray-400)}.dark\:text-gray-600{color:var(--color-gray-600)}.dark\:mix-blend-hard-light{mix-blend-mode:hard-light}.dark\:mix-blend-normal{mix-blend-mode:normal}.dark\:shadow-\[inset_0px_0px_0px_1px_\#fffaed2d\]{--tw-shadow:inset 0px 0px 0px 1px var(--tw-shadow-color,#fffaed2d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.dark\:\[--stroke-color\:\#FF750F\]{--stroke-color:#ff750f}.dark\:before\:border-\[\#3E3E3A\]:before{content:var(--tw-content);border-color:#3e3e3a}@media (hover:hover){.dark\:hover\:border-\[\#3E3E3A\]:hover{border-color:#3e3e3a}.dark\:hover\:border-\[\#62605b\]:hover{border-color:#62605b}.dark\:hover\:border-white:hover{border-color:var(--color-white)}.dark\:hover\:bg-gray-900:hover{background-color:var(--color-gray-900)}.dark\:hover\:bg-white:hover{background-color:var(--color-white)}.dark\:hover\:text-gray-200:hover{color:var(--color-gray-200)}.dark\:hover\:text-gray-300:hover{color:var(--color-gray-300)}}.dark\:focus\:border-blue-700:focus{border-color:var(--color-blue-700)}.dark\:focus\:border-blue-800:focus{border-color:var(--color-blue-800)}.dark\:active\:bg-gray-700:active{background-color:var(--color-gray-700)}.dark\:active\:text-gray-300:active{color:var(--color-gray-300)}}@starting-style{.starting\:opacity-0{opacity:0}}@media (prefers-reduced-motion:no-preference){@starting-style{.motion-safe\:starting\:-translate-x-\[26px\]{--tw-translate-x:calc(26px * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.motion-safe\:starting\:-translate-x-\[51px\]{--tw-translate-x:calc(51px * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.motion-safe\:starting\:-translate-x-\[78px\]{--tw-translate-x:calc(78px * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.motion-safe\:starting\:-translate-x-\[102px\]{--tw-translate-x:calc(102px * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.motion-safe\:starting\:translate-y-6{--tw-translate-y:calc(var(--spacing) * 6);translate:var(--tw-translate-x) var(--tw-translate-y)}}}}:root{--flori-white:#fff;--flori-off-white:#f8f6f3;--flori-soft:#eee9e3;--flori-line:#ded8d1;--flori-ink:#181716;--flori-muted:#716c67;--flori-gold:#b18a56;--flori-gold-soft:#d6c19f;--flori-wine:#6f2737;--flori-wine-dark:#431722;--flori-container:1280px}html{scroll-behavior:smooth}body.storefront-page{background:var(--flori-white);color:var(--flori-ink);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;direction:rtl;margin:0;font-family:Arial,Helvetica Neue,sans-serif}.storefront-page *,.storefront-page :before,.storefront-page :after{box-sizing:border-box}.storefront-page a{color:inherit;text-decoration:none}.storefront-page button{font:inherit}.store-container{width:min(calc(100% - 48px), var(--flori-container));margin-inline:auto}.skip-link{z-index:9999;background:var(--flori-ink);color:var(--flori-white);padding:10px 16px;position:fixed;top:12px;right:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.announcement-bar{z-index:50;background:var(--flori-ink);color:var(--flori-white);position:relative}.announcement-inner{letter-spacing:.19em;direction:ltr;justify-content:center;align-items:center;gap:14px;min-height:34px;font-size:10px;font-weight:700;display:flex}.announcement-separator{background:var(--flori-gold-soft);border-radius:50%;width:3px;height:3px}.site-header{z-index:40;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fffffff0;border-bottom:1px solid #18171614;transition:box-shadow .25s,background .25s;position:sticky;top:0}.site-header.is-scrolled{background:#fffffffb;box-shadow:0 8px 30px #1817160f}.header-inner{grid-template-columns:1fr auto 1fr;align-items:center;gap:32px;min-height:86px;display:grid}.brand-wordmark{direction:ltr;flex-direction:column;justify-content:center;align-items:center;line-height:1;display:inline-flex}.brand-name{letter-spacing:.2em;margin-left:.2em;font-family:Georgia,Times New Roman,serif;font-size:31px;font-weight:600}.brand-subtitle{color:var(--flori-muted);letter-spacing:.42em;margin-top:6px;margin-left:.42em;font-size:8px;font-weight:700}.store-navigation{justify-content:flex-start;gap:34px;display:flex}.store-navigation a{padding-block:8px;font-size:13px;font-weight:600;position:relative}.store-navigation a:after{content:"";background:var(--flori-wine);width:0;height:1px;transition:width .2s;position:absolute;bottom:2px;right:0}.store-navigation a:hover:after,.store-navigation a:focus-visible:after{width:100%}.header-actions{justify-content:flex-end;display:flex}.account-link{align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.account-link svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.mobile-menu-button{cursor:pointer;background:0 0;border:0;width:40px;height:40px;padding:9px;display:none}.mobile-menu-button span{background:var(--flori-ink);width:100%;height:1px;margin:5px 0;transition:transform .2s,opacity .2s;display:block}.eyebrow{color:var(--flori-wine);letter-spacing:.19em;text-align:right;direction:ltr;margin:0;font-size:10px;font-weight:700}.button{border:1px solid #0000;justify-content:center;align-items:center;gap:16px;min-height:50px;padding:0 25px;font-size:13px;font-weight:700;transition:background .2s,color .2s,border-color .2s,transform .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--flori-ink);color:var(--flori-white)}.button-primary:hover{background:var(--flori-wine-dark)}.button-secondary{border-color:var(--flori-line);color:var(--flori-ink);background:0 0}.button-secondary:hover{border-color:var(--flori-ink)}.hero-section{background:linear-gradient(105deg, var(--flori-white) 0%, var(--flori-white) 48%, #f3eee8 100%);min-height:690px;position:relative;overflow:hidden}.hero-section:before{content:"FLORI";color:#18171606;letter-spacing:.03em;pointer-events:none;direction:ltr;font-family:Georgia,Times New Roman,serif;font-size:clamp(150px,22vw,350px);font-weight:700;line-height:.8;position:absolute;bottom:-68px;left:-25px}.hero-grid{grid-template-columns:minmax(0,.95fr) minmax(480px,1.05fr);align-items:center;gap:64px;min-height:690px;display:grid;position:relative}.hero-copy{z-index:3;max-width:570px;padding-block:70px;position:relative}.hero-copy h1{letter-spacing:-.045em;margin:20px 0 24px;font-size:clamp(45px,5.1vw,76px);font-weight:400;line-height:1.06}.hero-copy h1 span{color:var(--flori-wine);font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:400;display:block}.hero-description{max-width:510px;color:var(--flori-muted);margin:0;font-size:17px;line-height:1.9}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:38px;display:flex}.hero-visual{direction:ltr;min-height:590px;position:relative}.hero-visual:before{content:"";background:radial-gradient(circle at 38% 32%,#fff 0%,#ded0c0 46%,#b79a7b 100%);border-radius:50%;width:420px;height:420px;position:absolute;top:60px;left:50%;transform:translate(-50%);box-shadow:0 45px 90px #43172229}.hero-orbit{z-index:1;border:1px solid #6f273733;border-radius:50%;position:absolute}.hero-orbit-large{width:510px;height:510px;top:15px;left:50%;transform:translate(-50%)}.hero-orbit-small{width:310px;height:310px;top:113px;left:50%;transform:translate(-50%)}.hero-product{z-index:3;background:linear-gradient(90deg,#f7f4f0 0%,#fff 46%,#d8cec2 100%);border:1px solid #ffffff73;flex-direction:column;align-items:center;display:flex;position:absolute;bottom:65px;box-shadow:0 35px 50px #1817162e,inset -10px 0 20px #7a604314}.product-tall{border-radius:7px 7px 14px 14px;width:142px;height:340px;left:165px;transform:rotate(-3deg)}.product-short{border-radius:8px 8px 20px 20px;width:165px;height:230px;right:105px;transform:rotate(4deg)}.product-cap{background:linear-gradient(90deg,#4b2028,#8a4857,#3d1720);border-radius:4px 4px 1px 1px;width:calc(100% - 20px);height:38px;margin-top:-28px;box-shadow:0 8px 13px #18171633}.product-short .product-cap{height:26px;margin-top:-18px}.product-label{text-align:center;margin:auto}.product-label strong{color:var(--flori-wine-dark);letter-spacing:.16em;font-family:Georgia,Times New Roman,serif;font-size:24px;display:block}.product-label small{color:var(--flori-muted);letter-spacing:.2em;margin-top:9px;font-size:7px;font-weight:700;display:block}.hero-floating-note{z-index:4;background:var(--flori-wine);width:110px;height:110px;color:var(--flori-white);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:130px;right:35px;transform:rotate(8deg);box-shadow:0 20px 40px #43172240}.hero-floating-note span{letter-spacing:.16em;font-size:8px;font-weight:700}.hero-floating-note strong{letter-spacing:.07em;margin-block:3px;font-family:Georgia,Times New Roman,serif;font-size:19px}.benefit-strip{border-top:1px solid var(--flori-line);border-bottom:1px solid var(--flori-line);background:var(--flori-white)}.benefit-grid{grid-template-columns:repeat(3,1fr);min-height:108px;display:grid}.benefit-item{border-left:1px solid var(--flori-line);align-items:center;gap:20px;padding-inline:35px;display:flex}.benefit-item:first-child{border-right:1px solid var(--flori-line)}.benefit-number{color:var(--flori-gold);font-family:Georgia,Times New Roman,serif;font-size:28px;font-style:italic}.benefit-item strong,.benefit-item span{display:block}.benefit-item strong{margin-bottom:5px;font-size:13px}.benefit-item div span{color:var(--flori-muted);font-size:11px}.collections-section{background:var(--flori-off-white);padding:110px 0 120px}.section-heading{grid-template-columns:1fr minmax(280px,430px);align-items:end;gap:60px;margin-bottom:52px;display:grid}.section-heading h2{letter-spacing:-.035em;margin:12px 0 0;font-size:clamp(35px,4vw,54px);font-weight:400}.section-heading>p{color:var(--flori-muted);margin:0;font-size:14px;line-height:1.9}.collection-grid{grid-template-columns:repeat(12,1fr);gap:16px;display:grid}.collection-card{border:1px solid #18171612;flex-direction:column;justify-content:space-between;min-height:430px;padding:24px;transition:transform .25s,box-shadow .25s;display:flex;position:relative;overflow:hidden}.collection-card:hover{transform:translateY(-5px);box-shadow:0 22px 50px #18171614}.collection-card:first-child,.collection-card:nth-child(2),.collection-card:nth-child(3){grid-column:span 4}.collection-card:nth-child(4),.collection-card:nth-child(5){grid-column:span 6;min-height:360px}.collection-light{background:#f4f1ec}.collection-warm{background:#ded2c5}.collection-dark{color:var(--flori-white);background:#262322}.collection-rose{background:#eee1df}.collection-star{color:var(--flori-white);background:linear-gradient(135deg,#6f2737,#37141d)}.collection-index{z-index:3;color:currentColor;opacity:.55;font-family:Georgia,Times New Roman,serif;font-size:12px;position:relative}.collection-art{direction:ltr;position:absolute;inset:0;overflow:hidden}.collection-disc{background:#ffffff8c;border-radius:50%;width:245px;height:245px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.collection-dark .collection-disc{background:#ffffff12}.collection-bottle{border-radius:4px 4px 12px 12px;width:93px;height:210px;position:absolute;bottom:72px;left:50%;transform:translate(-50%);box-shadow:0 24px 35px #1817162b}.collection-bottle:before{content:"";border-radius:4px 4px 1px 1px;height:27px;position:absolute;top:-24px;left:8px;right:8px}.collection-bottle:after{content:"FLORI";color:var(--flori-wine-dark);letter-spacing:.15em;font-family:Georgia,Times New Roman,serif;font-size:14px;font-weight:700;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.bottle-a{background:linear-gradient(90deg,#ece8e2,#fff,#d7cec4)}.bottle-a:before{background:var(--flori-wine)}.bottle-b{background:linear-gradient(90deg,#d7c1aa,#f2e3d3,#b69576)}.bottle-b:before{background:#2d2928}.bottle-c{background:linear-gradient(90deg,#e8e4df,#fff,#bfb6ad)}.bottle-c:before{background:#875465}.bottle-d{background:linear-gradient(90deg,#f4efec,#fff,#d5c9c5);width:112px;height:185px}.bottle-d:before{background:#c09d91}.collection-content{z-index:3;margin-top:auto;position:relative}.collection-content span{opacity:.6;letter-spacing:.18em;text-align:right;direction:ltr;margin-bottom:8px;font-size:8px;font-weight:700;display:block}.collection-content h3{margin:0;font-size:26px;font-weight:400}.collection-art-star{place-items:center;display:grid}.star-mark{color:#ffffff1f;font-family:Georgia,Times New Roman,serif;font-size:250px;line-height:1}.professional-section{background:var(--flori-white);padding:120px 0}.professional-grid{grid-template-columns:1fr 1fr;align-items:center;gap:95px;display:grid}.professional-visual{background:var(--flori-off-white);min-height:520px;position:relative;overflow:hidden}.professional-card{z-index:2;width:min(72%,370px);min-height:410px;color:var(--flori-white);direction:ltr;background:linear-gradient(145deg,#7a3344,#4b1925);flex-direction:column;justify-content:space-between;padding:50px 38px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-5deg);box-shadow:0 35px 70px #43172240}.professional-card>span{letter-spacing:.18em;font-family:Georgia,Times New Roman,serif;font-size:27px}.professional-card strong{font-family:Georgia,Times New Roman,serif;font-size:clamp(35px,4vw,52px);font-weight:400;line-height:1.05}.professional-card small{letter-spacing:.16em;font-size:8px;font-weight:700}.professional-line{z-index:1;border:1px solid var(--flori-gold-soft);border-radius:50%;position:absolute}.line-one{width:430px;height:430px;top:-90px;right:-170px}.line-two{width:290px;height:290px;bottom:-120px;left:-80px}.professional-copy{max-width:555px}.professional-copy h2{letter-spacing:-.045em;margin:16px 0 28px;font-size:clamp(40px,4.5vw,62px);font-weight:400;line-height:1.08}.professional-copy h2 span{color:var(--flori-wine);font-family:Georgia,Times New Roman,serif;font-style:italic;display:block}.professional-copy>p{color:var(--flori-muted);margin:0;font-size:15px;line-height:2}.professional-points{border-top:1px solid var(--flori-line);margin-top:42px}.professional-points>div{border-bottom:1px solid var(--flori-line);grid-template-columns:44px 1fr;align-items:center;min-height:60px;display:grid}.professional-points span{color:var(--flori-gold);font-family:Georgia,Times New Roman,serif;font-size:12px}.professional-points strong{font-size:13px}.closing-section{text-align:center;background:#f1ebe4;padding:120px 0}.closing-inner{max-width:760px}.closing-inner .eyebrow{text-align:center}.closing-inner h2{letter-spacing:-.05em;margin:18px 0 36px;font-size:clamp(48px,6vw,80px);font-weight:400;line-height:1}.closing-inner h2 span{color:var(--flori-wine);font-family:Georgia,Times New Roman,serif;font-style:italic;display:block}.site-footer{background:var(--flori-ink);color:var(--flori-white);padding:70px 0 28px}.footer-grid{grid-template-columns:2fr 1fr 1fr;gap:80px;padding-bottom:60px;display:grid}.footer-wordmark{align-items:flex-start}.footer-wordmark .brand-subtitle{color:#ffffff94}.footer-brand p{color:#ffffff94;max-width:390px;margin:28px 0 0;font-size:13px;line-height:1.9}.footer-column{flex-direction:column;gap:12px;display:flex}.footer-column h2{color:var(--flori-gold-soft);letter-spacing:.12em;margin:0 0 14px;font-size:10px;font-weight:700}.footer-column a{color:#ffffffb8;width:fit-content;font-size:12px;transition:color .2s}.footer-column a:hover{color:var(--flori-white)}.footer-bottom{color:#ffffff6b;letter-spacing:.06em;border-top:1px solid #ffffff1f;justify-content:space-between;align-items:flex-end;min-height:56px;font-size:9px;display:flex}@media (width<=1020px){.hero-grid{grid-template-columns:1fr 1fr;gap:20px}.hero-visual{transform-origin:50%;transform:scale(.88)}.professional-grid{gap:50px}}@media (width<=820px){.store-container{width:min(calc(100% - 32px), var(--flori-container))}.header-inner{grid-template-columns:48px 1fr 48px;gap:8px;min-height:72px}.mobile-menu-button{justify-self:start;display:block}.account-link{justify-self:end}.account-link span{display:none}.brand-name{font-size:25px}.store-navigation{background:var(--flori-white);border-top:1px solid var(--flori-line);border-bottom:1px solid var(--flori-line);flex-direction:column;gap:0;padding:18px 24px 26px;display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 25px 40px #18171614}.store-navigation.is-open{display:flex}.store-navigation a{border-bottom:1px solid #1817160f;padding:13px 0}.mobile-menu-button[aria-expanded=true] span:first-child{transform:translateY(6px)rotate(45deg)}.mobile-menu-button[aria-expanded=true] span:nth-child(2){opacity:0}.mobile-menu-button[aria-expanded=true] span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.hero-section,.hero-grid{min-height:auto}.hero-grid{grid-template-columns:1fr;gap:0}.hero-copy{max-width:620px;padding:70px 0 20px}.hero-visual{min-height:530px;transform:scale(.92)}.benefit-grid{grid-template-columns:1fr}.benefit-item{border-left:0;border-bottom:1px solid var(--flori-line);min-height:86px;padding-inline:0}.benefit-item:first-child{border-right:0}.benefit-item:last-child{border-bottom:0}.section-heading{grid-template-columns:1fr;gap:20px}.collection-card:nth-child(n){grid-column:span 6;min-height:390px}.collection-card:last-child{grid-column:span 12;min-height:300px}.professional-grid{grid-template-columns:1fr}.professional-visual{min-height:480px}.professional-copy{max-width:100%}.footer-grid{grid-template-columns:1fr 1fr;gap:45px}.footer-brand{grid-column:1/-1}}@media (width<=560px){.announcement-inner{letter-spacing:.12em;min-height:30px;font-size:8px}.hero-copy{padding-top:52px}.hero-copy h1{font-size:44px}.hero-description{font-size:15px}.hero-actions{grid-template-columns:1fr;display:grid}.button{width:100%}.hero-visual{transform-origin:top;min-height:430px;margin-inline:-25px;transform:scale(.78)}.collections-section,.professional-section{padding-block:80px}.collection-grid{grid-template-columns:1fr}.collection-card:nth-child(n){grid-column:auto;min-height:360px}.professional-visual{min-height:420px}.professional-card{width:72%;min-height:350px;padding:40px 27px}.closing-section{padding:85px 0}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column;align-items:flex-start;gap:20px;padding-top:24px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.storefront-page .button-primary,.storefront-page .button-primary:link,.storefront-page .button-primary:visited,.storefront-page .button-primary:hover,.storefront-page .button-primary:focus-visible{color:var(--flori-white)}.site-header .header-inner{justify-content:space-between;align-items:center;gap:32px;width:min(100% - 48px,1120px);min-height:80px;display:flex;position:relative}.site-header .brand-wordmark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.site-header .store-navigation,.site-header .header-actions{margin:0}.hero-copy h1 span,.professional-copy h2 span,.closing-inner h2 span{letter-spacing:-.055em;font-family:Arial,Helvetica Neue,sans-serif;font-style:normal;font-weight:300}.collection-star .collection-content h3{text-align:right;direction:ltr;unicode-bidi:isolate}@media (width<=820px){.site-header .header-inner{width:min(100% - 32px,1120px);min-height:72px}.site-header .mobile-menu-button{margin:0;position:absolute;top:50%;right:0;transform:translateY(-50%)}.site-header .header-actions{margin:0;position:absolute;top:50%;left:0;transform:translateY(-50%)}}.collection-art-real{place-items:center;padding:48px 24px 92px;display:grid}.collection-real-image{z-index:1;object-fit:contain;filter:drop-shadow(0 22px 20px #18171621);width:auto;max-width:92%;height:auto;max-height:250px;display:block;position:relative}.collection-real-image-renewal{max-width:78%;max-height:265px}.collection-rose .collection-art-real{padding:42px 38px 88px}.collection-real-image-oily{max-width:86%;max-height:210px}@media (width<=820px){.collection-art-real{padding:42px 22px 86px}.collection-real-image{max-width:88%;max-height:225px}.collection-real-image-renewal{max-width:74%;max-height:240px}.collection-real-image-oily{max-width:88%;max-height:205px}}.collection-dark .collection-art-real{padding:34px 24px 92px}.collection-real-image-skin-repair{max-width:90%;max-height:250px}.collection-star .collection-art-real{padding:30px 28px 58px}.collection-real-image-five-star{max-width:84%;max-height:255px}@media (width<=820px){.collection-dark .collection-art-real{padding:34px 20px 84px}.collection-real-image-skin-repair{max-width:88%;max-height:230px}.collection-star .collection-art-real{padding:28px 22px 52px}.collection-real-image-five-star{max-width:86%;max-height:235px}}.collection-real-image-skin-repair{transform-origin:50%;max-width:108%;max-height:315px;transform:scale(1.18)}.collection-real-image-five-star{transform-origin:50%;max-width:98%;max-height:300px;transform:scale(1.12)}@media (width<=820px){.collection-real-image-skin-repair{max-width:104%;max-height:285px;transform:scale(1.12)}.collection-real-image-five-star{max-width:96%;max-height:270px;transform:scale(1.08)}}.professional-visual-real{aspect-ratio:1;background:var(--flori-off-white);min-height:0}.professional-image{object-fit:cover;object-position:center;border:0;width:100%;height:100%;display:block}@media (width<=820px){.professional-visual-real{aspect-ratio:1;min-height:0}}.hero-visual-real{aspect-ratio:4/3;direction:ltr;background:#f3eee8;min-height:0;margin:0;position:relative;overflow:hidden;transform:none}.hero-visual-real:before{content:none;display:none}.hero-campaign-image{object-fit:cover;object-position:center;border:0;width:100%;height:100%;display:block;box-shadow:0 28px 70px #43172214}@media (width<=1020px){.hero-visual-real{min-height:0;transform:none}}@media (width<=820px){.hero-visual-real{aspect-ratio:4/3;min-height:0;margin:12px 0 40px;transform:none}}@media (width<=480px){.hero-visual-real{min-height:0;margin:10px 0 32px;transform:none}.hero-campaign-image{object-position:center}}.hero-section{background:linear-gradient(90deg, #f0dfd1 0%, #f7efe8 30%, #fbf8f5 53%, var(--flori-white) 82%);min-height:625px}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(520px,.92fr);gap:72px;width:min(1320px,100% - 64px);max-width:1320px;min-height:625px}.hero-visual-real{aspect-ratio:4/3;background:0 0;justify-self:start;width:100%;max-width:680px}.hero-campaign-image{object-fit:cover;object-position:center;width:100%;height:100%;box-shadow:0 32px 70px #43172212}@media (width<=1180px){.hero-grid{grid-template-columns:minmax(0,1fr) minmax(460px,.95fr);gap:42px;width:min(1160px,100% - 50px)}}@media (width<=1020px){.hero-section,.hero-grid{min-height:auto}.hero-grid{grid-template-columns:1fr 1fr;gap:28px;width:min(940px,100% - 40px)}.hero-visual-real{width:100%;max-width:none}}@media (width<=820px){.hero-section{background:linear-gradient(180deg, var(--flori-white) 0%, #faf6f2 48%, #f2e5da 100%)}.hero-grid{grid-template-columns:1fr;width:min(100% - 40px,620px)}.hero-visual-real{justify-self:center;width:100%;max-width:620px}}@media (width<=480px){.hero-grid{width:calc(100% - 30px)}}.closing-section-campaign{text-align:initial;background:#f2e3d5;padding:0;position:relative;overflow:hidden}.closing-campaign{min-height:610px;position:relative;overflow:hidden}.closing-campaign-image{object-fit:cover;object-position:center;border:0;width:100%;height:100%;display:block;position:absolute;inset:0}.closing-campaign:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(90deg,#f7e6d738 0%,#f7e6d714 35%,#f7e6d700 62%);position:absolute;inset:0}.closing-campaign-content{z-index:2;align-items:center;min-height:610px;display:flex;position:relative}.closing-campaign-copy{text-align:right;width:min(520px,43%);margin-left:0;margin-right:auto;padding-block:72px}.closing-campaign-copy .eyebrow{text-align:right}.closing-campaign-copy h2{letter-spacing:-.05em;margin:18px 0 24px;font-size:clamp(50px,5.4vw,78px);font-weight:400;line-height:1.02}.closing-campaign-copy h2 span{color:var(--flori-wine);letter-spacing:-.055em;font-family:Arial,Helvetica Neue,sans-serif;font-style:normal;font-weight:300;display:block}.closing-description{color:#66564e;max-width:470px;margin:0 0 34px;font-size:16px;line-height:1.85}@media (width<=1020px){.closing-campaign,.closing-campaign-content{min-height:540px}.closing-campaign-copy{width:46%}.closing-campaign-copy h2{font-size:clamp(44px,5vw,64px)}}@media (width<=820px){.closing-campaign{flex-direction:column;min-height:0;display:flex}.closing-campaign-image{aspect-ratio:16/9;object-fit:cover;object-position:72% center;order:1;width:100%;height:auto;position:relative;inset:auto}.closing-campaign:after{content:none;display:none}.closing-campaign-content{background:linear-gradient(#f5e7da 0%,#f1e1d3 100%);order:2;min-height:0;padding:58px 0 64px;display:block}.closing-campaign-copy{text-align:center;width:100%;max-width:620px;margin:0 auto;padding:0}.closing-campaign-copy .eyebrow{text-align:center}.closing-campaign-copy h2{font-size:clamp(43px,11vw,62px)}.closing-description{margin:0 auto 30px}}@media (width<=480px){.closing-campaign-content{padding:48px 0 54px}.closing-campaign-copy h2{margin-bottom:20px;font-size:43px}.closing-description{font-size:15px;line-height:1.75}}.hero-visual-real{border-radius:34px;overflow:hidden;box-shadow:0 26px 64px #43172217}.hero-campaign-image{border-radius:inherit}@media (width<=1020px){.hero-visual-real{border-radius:28px}}@media (width<=820px){.hero-visual-real{border-radius:24px;box-shadow:0 20px 48px #43172214}}@media (width<=480px){.hero-visual-real{border-radius:24px}}.collection-grid.catalog-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:auto!important;grid-auto-flow:row!important;align-items:stretch!important;gap:clamp(18px,2vw,30px)!important}.collection-grid.catalog-product-grid>*{grid-area:auto!important;width:100%!important;min-width:0!important}.collection-grid.catalog-product-grid img{max-width:100%!important;height:auto!important}@media (width<=980px){.collection-grid.catalog-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (width<=640px){.collection-grid.catalog-product-grid{grid-template-columns:1fr!important}}.collections-section:has(.catalog-product-grid){padding-block:clamp(46px,5vw,76px) clamp(70px,7vw,110px)!important}.collections-section:has(.catalog-product-grid) .section-heading{margin-inline:auto!important;align-items:end!important;gap:clamp(20px,4vw,70px)!important;max-width:1180px!important;margin-bottom:clamp(32px,4vw,56px)!important}.collections-section:has(.catalog-product-grid) .section-heading h2{letter-spacing:-.055em!important;max-width:760px!important;font-size:clamp(38px,4.8vw,74px)!important;line-height:.95!important}.collections-section:has(.catalog-product-grid) .section-heading>p{max-width:420px!important;color:var(--flori-muted)!important;font-size:14px!important;line-height:1.9!important}.collection-grid.catalog-product-grid{grid-template-columns:repeat(3,minmax(260px,1fr))!important;justify-content:center!important;align-items:stretch!important;gap:clamp(18px,2vw,28px)!important;max-width:1180px!important;margin-inline:auto!important}.collection-grid.catalog-product-grid:has(>.collection-card:only-child){grid-template-columns:minmax(280px,410px)!important;max-width:410px!important}.collection-grid.catalog-product-grid:has(>.collection-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(280px,390px))!important;max-width:820px!important}.collection-grid.catalog-product-grid>.collection-card,.collection-grid.catalog-product-grid>.collection-card:nth-child(n),.collection-grid.catalog-product-grid>.collection-card:last-child{flex-direction:column!important;grid-area:auto!important;justify-content:space-between!important;height:auto!important;min-height:0!important;padding:clamp(18px,2vw,26px)!important;display:flex!important;overflow:hidden!important}.collection-grid.catalog-product-grid .collection-index{color:#18171675!important;top:22px!important;font-size:12px!important;inset-inline-end:22px!important}.collection-grid.catalog-product-grid .collection-art,.collection-grid.catalog-product-grid .collection-art-real{justify-content:center!important;align-items:center!important;width:100%!important;height:clamp(245px,22vw,310px)!important;min-height:250px!important;margin:24px auto 22px!important;display:flex!important}.collection-grid.catalog-product-grid .collection-real-image{object-fit:contain!important;width:auto!important;max-width:min(82%,270px)!important;max-height:260px!important;margin:auto!important}.collection-grid.catalog-product-grid h3{color:var(--flori-black)!important;letter-spacing:-.025em!important;text-wrap:balance!important;margin:0 0 10px!important;font-size:clamp(21px,1.65vw,27px)!important;line-height:1.18!important}.collection-grid.catalog-product-grid h3+span{color:var(--flori-muted)!important;letter-spacing:.02em!important;margin-top:8px!important;font-size:13px!important;display:block!important}.collection-grid.catalog-product-grid a{justify-content:center!important;align-self:flex-start!important;align-items:center!important;min-height:44px!important;margin-top:18px!important;padding:0 22px!important;display:inline-flex!important}@media (width<=980px){.collections-section:has(.catalog-product-grid) .section-heading{text-align:center!important;grid-template-columns:1fr!important;justify-items:center!important}:is(.collection-grid.catalog-product-grid,.collection-grid.catalog-product-grid:has(>.collection-card:nth-child(2):last-child)){grid-template-columns:repeat(2,minmax(240px,1fr))!important;max-width:760px!important}}@media (width<=640px){.collections-section:has(.catalog-product-grid){padding-block:44px 72px!important}.collections-section:has(.catalog-product-grid) .section-heading h2{font-size:clamp(34px,13vw,48px)!important}:is(.collection-grid.catalog-product-grid,.collection-grid.catalog-product-grid:has(>.collection-card:only-child),.collection-grid.catalog-product-grid:has(>.collection-card:nth-child(2):last-child)){grid-template-columns:1fr!important;max-width:420px!important}.collection-grid.catalog-product-grid .collection-art,.collection-grid.catalog-product-grid .collection-art-real{height:240px!important;min-height:240px!important}.collection-grid.catalog-product-grid h3{font-size:23px!important}}.collections-section:has(.catalog-product-grid) .section-heading{text-align:center!important;grid-template-columns:1fr!important;place-items:center!important;margin-bottom:clamp(28px,3.5vw,48px)!important}.collections-section:has(.catalog-product-grid) .section-heading>p{display:none!important}.collections-section:has(.catalog-product-grid) .section-heading h2{text-align:center!important;letter-spacing:-.04em!important;overflow-wrap:normal!important;word-break:normal!important;max-width:980px!important;font-size:clamp(40px,4.3vw,68px)!important;line-height:1.04!important}.collection-grid.catalog-product-grid{grid-template-columns:repeat(3,minmax(280px,1fr))!important;gap:24px!important;max-width:1120px!important}.collection-grid.catalog-product-grid>.collection-card,.collection-grid.catalog-product-grid>.collection-card:nth-child(n),.collection-grid.catalog-product-grid>.collection-card:last-child{text-align:right!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;min-height:455px!important;padding:22px!important;display:flex!important}.collection-grid.catalog-product-grid .collection-index{z-index:3!important;top:20px!important;position:absolute!important;inset-inline-end:20px!important}.collection-grid.catalog-product-grid .collection-art,.collection-grid.catalog-product-grid .collection-art-real{z-index:1!important;flex:none!important;justify-content:center!important;align-items:center!important;width:100%!important;height:255px!important;min-height:255px!important;max-height:255px!important;margin:34px 0 18px!important;padding:0!important;display:flex!important;position:relative!important;inset:auto!important;overflow:hidden!important;transform:none!important}.collection-grid.catalog-product-grid .collection-real-image{object-fit:contain!important;width:auto!important;max-width:78%!important;height:auto!important;max-height:225px!important;margin:auto!important;display:block!important;position:static!important;inset:auto!important;transform:none!important}.collection-grid.catalog-product-grid .collection-info{z-index:2!important;text-align:right!important;flex-direction:column!important;align-items:flex-start!important;width:100%!important;margin:auto 0 0!important;padding:0!important;display:flex!important;position:relative!important;inset:auto!important;transform:none!important}.collection-grid.catalog-product-grid .collection-info>span:first-child{color:#18171694!important;letter-spacing:.18em!important;margin:0 0 8px!important;font-size:10px!important;font-weight:700!important;display:block!important}.collection-grid.catalog-product-grid .collection-info h3,.collection-grid.catalog-product-grid h3{letter-spacing:-.02em!important;text-align:right!important;width:100%!important;min-height:58px!important;margin:0 0 10px!important;font-size:clamp(20px,1.45vw,24px)!important;line-height:1.2!important;position:static!important;transform:none!important}.collection-grid.catalog-product-grid .collection-info h3+span{color:var(--flori-muted)!important;text-align:right!important;margin:0 0 14px!important;font-size:13px!important;display:block!important;position:static!important}.collection-grid.catalog-product-grid .collection-info a,.collection-grid.catalog-product-grid a{white-space:nowrap!important;justify-content:center!important;align-self:flex-start!important;align-items:center!important;min-height:42px!important;margin-top:auto!important;padding:0 22px!important;display:inline-flex!important;position:static!important;transform:none!important}@media (width<=980px){.collection-grid.catalog-product-grid{grid-template-columns:repeat(2,minmax(260px,1fr))!important;max-width:760px!important}}@media (width<=640px){.collection-grid.catalog-product-grid{grid-template-columns:1fr!important;max-width:420px!important}.collection-grid.catalog-product-grid>.collection-card,.collection-grid.catalog-product-grid>.collection-card:nth-child(n),.collection-grid.catalog-product-grid>.collection-card:last-child{min-height:420px!important}.collection-grid.catalog-product-grid .collection-art,.collection-grid.catalog-product-grid .collection-art-real{height:230px!important;min-height:230px!important;max-height:230px!important}.collection-grid.catalog-product-grid .collection-real-image{max-height:205px!important}}body:has(.catalog-product-grid){background:#fff!important}main:has(.catalog-product-grid){background:#fff!important}.collections-section:has(.catalog-product-grid){background:#fff!important}.collections-section:has(.catalog-product-grid){border-top:1px solid #1817160b!important}.collection-grid.catalog-product-grid>.collection-card,.collection-grid.catalog-product-grid>.collection-card:nth-child(n),.collection-grid.catalog-product-grid>.collection-card:last-child{background:#fff!important;border-color:#18171613!important;box-shadow:0 18px 48px #1817160b!important}.collection-grid.catalog-product-grid .collection-art,.collection-grid.catalog-product-grid .collection-art-real{box-shadow:none!important;background:#fff!important}.collection-grid.catalog-product-grid .collection-real-image{mix-blend-mode:normal!important;background:#fff!important}.collection-grid.catalog-product-grid>.collection-card,.collection-grid.catalog-product-grid>.collection-card:nth-child(n),.collection-grid.catalog-product-grid>.collection-card:last-child{border-color:#1817160e!important;box-shadow:0 10px 30px #18171608!important}.collection-grid.catalog-product-grid>.collection-card:hover{box-shadow:0 16px 42px #1817160e!important}.collection-grid.catalog-product-grid .collection-art,.collection-grid.catalog-product-grid .collection-art-real{box-shadow:none!important;filter:none!important;background:0 0!important}.collection-grid.catalog-product-grid .collection-art:before,.collection-grid.catalog-product-grid .collection-art:after,.collection-grid.catalog-product-grid .collection-art-real:before,.collection-grid.catalog-product-grid .collection-art-real:after{content:none!important;box-shadow:none!important;filter:none!important;background:0 0!important;display:none!important}.collection-grid.catalog-product-grid .collection-real-image{box-shadow:none!important;filter:none!important;background:0 0!important}.collection-grid.catalog-product-grid .collection-info{background:0 0!important}.collection-grid.catalog-product-grid h3{color:#151515!important}.product-detail-section{background:#fff!important;padding-block:clamp(44px,5vw,74px) clamp(80px,7vw,120px)!important}.product-detail-section .section-heading{text-align:center!important;margin-inline:auto!important;grid-template-columns:1fr!important;place-items:center!important;max-width:1080px!important;margin-bottom:clamp(30px,4vw,52px)!important}.product-detail-section .section-heading>p{display:none!important}.product-detail-section .section-heading h2{text-align:center!important;letter-spacing:-.045em!important;overflow-wrap:normal!important;word-break:normal!important;max-width:1060px!important;font-size:clamp(42px,5vw,76px)!important;line-height:1.02!important}.product-detail-section .product-detail-grid{margin-inline:auto!important;grid-template-columns:repeat(2,minmax(320px,430px))!important;justify-content:center!important;align-items:stretch!important;gap:clamp(22px,2.5vw,32px)!important;max-width:940px!important;margin-bottom:clamp(46px,5vw,76px)!important}.product-detail-section .product-detail-grid>.collection-card{min-height:370px!important;padding:clamp(24px,2.4vw,34px)!important;overflow:hidden!important;box-shadow:0 12px 38px #18171609!important}.product-detail-section .product-image-card{text-align:center!important;justify-content:center!important;align-items:center!important}.product-detail-section .product-info-card .collection-content{flex-direction:column!important;justify-content:center!important;align-items:flex-end!important;gap:12px!important;min-height:100%!important;margin-top:0!important;display:flex!important}.product-detail-section .product-info-card h3{white-space:normal!important;overflow-wrap:break-word!important;word-break:normal!important;max-width:100%!important;font-size:clamp(24px,2vw,32px)!important;line-height:1.25!important}.product-detail-section .product-info-card .button{margin-top:14px!important}.product-detail-section .product-detail-grid .collection-art,.product-detail-section .product-detail-grid .collection-art-real{justify-content:center!important;align-items:center!important;width:100%!important;height:auto!important;min-height:clamp(270px,24vw,330px)!important;max-height:340px!important;margin:0 auto!important;display:flex!important}.product-detail-section .product-detail-grid .collection-real-image{object-fit:contain!important;width:auto!important;max-width:94%!important;max-height:320px!important;margin-inline:auto!important}.product-detail-section .product-gallery-grid{grid-template-columns:minmax(280px,420px)!important;justify-content:center!important;max-width:460px!important;margin-top:0!important}.product-detail-section .product-gallery-grid:empty{display:none!important}.product-detail-section .product-gallery-card{min-height:420px!important}.product-detail-section .product-gallery-grid .collection-real-image{object-fit:contain!important;width:auto!important;max-width:82%!important;max-height:230px!important}@media (width<=860px){.product-detail-section .product-detail-grid{grid-template-columns:minmax(280px,430px)!important;max-width:430px!important}.product-detail-section .section-heading h2{font-size:clamp(34px,10vw,54px)!important}}.legal-page-section{background:#fff!important;border-top:1px solid #1817160b!important;padding-block:clamp(54px,6vw,92px) clamp(76px,7vw,118px)!important}.legal-page-section .section-heading{text-align:center!important;margin-inline:auto!important;grid-template-columns:1fr!important;place-items:center!important;gap:16px!important;max-width:980px!important;margin-bottom:clamp(30px,4vw,52px)!important}.legal-page-section .section-heading h2{letter-spacing:-.045em!important;max-width:920px!important;margin-top:10px!important;font-size:clamp(42px,5vw,76px)!important;line-height:1.02!important}.legal-page-section .section-heading>p{max-width:620px!important;color:var(--flori-muted)!important;font-size:15px!important;line-height:1.9!important;display:block!important}.legal-card-grid{grid-template-columns:repeat(3,minmax(240px,1fr))!important;align-items:stretch!important;gap:clamp(16px,2vw,24px)!important;width:min(100%,1080px)!important;margin-inline:auto!important;display:grid!important}.legal-card{text-align:right!important;background:#fff!important;border:1px solid #18171612!important;flex-direction:column!important;justify-content:flex-end!important;min-height:220px!important;padding:clamp(26px,2.6vw,34px)!important;transition:transform .25s,box-shadow .25s,border-color .25s!important;display:flex!important;position:relative!important;overflow:hidden!important;box-shadow:0 14px 38px #18171609!important}.legal-card:hover{border-color:#6f1f2c29!important;transform:translateY(-3px)!important;box-shadow:0 20px 52px #1817160f!important}.legal-card .collection-index{color:#18171638!important;top:24px!important;font-size:13px!important;line-height:1!important;position:absolute!important;inset-inline-start:24px!important}.legal-card .collection-content{gap:10px!important;max-width:100%!important;margin-top:48px!important;display:grid!important}.legal-card .collection-content span{color:#1817166b!important;letter-spacing:.18em!important;text-transform:uppercase!important;font-size:10px!important}.legal-card .collection-content h3{color:var(--flori-ink)!important;letter-spacing:-.025em!important;margin:0!important;font-size:clamp(20px,2vw,26px)!important;font-weight:500!important;line-height:1.25!important}.legal-card .collection-content p{color:var(--flori-muted)!important;margin:0!important;font-size:14px!important;line-height:1.85!important}@media (width<=900px){.legal-card-grid{grid-template-columns:repeat(2,minmax(240px,1fr))!important;max-width:760px!important}}@media (width<=640px){.legal-page-section{padding-block:46px 76px!important}.legal-page-section .section-heading h2{font-size:clamp(36px,12vw,52px)!important}.legal-card-grid{grid-template-columns:1fr!important;max-width:430px!important}.legal-card{min-height:0!important;padding:26px 24px!important}.legal-card .collection-content{margin-top:44px!important}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}

/* ============================================================
   FLORI PRODUCT PAGE VISUAL UX 01
   Premium product action panel, trust microcopy and mobile polish
   ============================================================ */

.product-cart-section {
    padding-top: clamp(22px, 4vw, 46px);
}

.product-cart-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(181, 139, 74, .22);
    background:
        linear-gradient(135deg, rgba(255, 252, 246, .98), rgba(247, 239, 225, .92)),
        var(--surface);
    box-shadow: 0 24px 70px rgba(45, 31, 18, .10);
}

.product-cart-card::before {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    top: 0;
    width: 5px;
    height: 100%;
    background: linear-gradient(180deg, rgba(181, 139, 74, .95), rgba(215, 187, 136, .35));
}

.product-cart-heading {
    display: grid;
    gap: 8px;
    margin-bottom: 18px;
}

.product-cart-eyebrow {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    border: 1px solid rgba(181, 139, 74, .28);
    border-radius: 999px;
    padding: 6px 12px;
    background: rgba(255, 255, 255, .68);
    color: var(--muted);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.product-cart-note {
    max-width: 680px;
    margin: 0;
    color: var(--muted);
    font-size: .98rem;
    line-height: 1.8;
}

.product-cart-controls {
    display: flex;
    align-items: end;
    flex-wrap: wrap;
    gap: 12px;
}

.product-cart-quantity-input {
    max-width: 90px;
}

.product-cart-trust-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
}

.product-cart-trust-list span {
    border: 1px solid rgba(181, 139, 74, .18);
    border-radius: 18px;
    padding: 12px 14px;
    background: rgba(255, 255, 255, .62);
    color: var(--ink);
    font-size: .9rem;
    font-weight: 800;
    text-align: center;
}

.product-detail-grid > .collection-card {
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.product-detail-grid > .collection-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 24px 70px rgba(45, 31, 18, .12);
    border-color: rgba(181, 139, 74, .25);
}

.product-gallery-grid {
    margin-top: clamp(22px, 4vw, 44px);
}

@media (max-width: 760px) {
    .product-cart-section {
        padding-top: 18px;
    }

    .product-cart-card {
        border-radius: 24px;
    }

    .product-cart-card::before {
        width: 100%;
        height: 4px;
    }

    .product-cart-trust-list {
        grid-template-columns: 1fr;
    }

    .product-cart-controls {
        align-items: stretch;
    }

    .product-cart-controls .btn-primary,
    .product-cart-controls .btn-secondary {
        width: 100%;
        justify-content: center;
    }

    .product-cart-quantity-input {
        max-width: 110px;
    }

    .product-detail-grid > .collection-card:hover {
        transform: none;
    }
}

/* FLORI_PRODUCT_PAGE_VISUAL_UX_01 */

/* ============================================================
   FLORI COLLECTION CARD VISUAL UX 01
   Premium browse-grid and product-card polish
   ============================================================ */

.catalog-product-grid {
    gap: clamp(18px, 2.4vw, 30px);
}

.catalog-product-grid .collection-card {
    position: relative;
    overflow: hidden;
    min-height: 100%;
    border: 1px solid rgba(181, 139, 74, .16);
    box-shadow: 0 18px 54px rgba(45, 31, 18, .075);
    transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease,
        background .22s ease;
}

.catalog-product-grid .collection-card:hover {
    transform: translateY(-3px);
    border-color: rgba(181, 139, 74, .30);
    box-shadow: 0 26px 74px rgba(45, 31, 18, .13);
}

.catalog-product-grid .collection-card::after {
    content: "";
    position: absolute;
    inset-inline: 18px;
    bottom: 0;
    height: 3px;
    border-radius: 999px 999px 0 0;
    background: linear-gradient(90deg, rgba(181, 139, 74, .18), rgba(181, 139, 74, .62), rgba(181, 139, 74, .18));
    opacity: 0;
    transition: opacity .22s ease;
}

.catalog-product-grid .collection-card:hover::after {
    opacity: 1;
}

.catalog-product-grid .collection-card img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    border-radius: 22px;
    background:
        radial-gradient(circle at 50% 22%, rgba(255, 255, 255, .94), rgba(248, 239, 225, .72)),
        linear-gradient(145deg, rgba(255, 252, 247, .9), rgba(238, 222, 197, .42));
    padding: clamp(10px, 1.7vw, 18px);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
}

.catalog-product-grid .collection-content {
    display: grid;
    gap: 12px;
    padding-top: 18px;
}

.catalog-product-grid .collection-content h3 {
    margin: 0;
    color: var(--ink);
    font-size: clamp(1.08rem, 1.15vw, 1.28rem);
    line-height: 1.35;
}

.catalog-product-grid .collection-content p {
    margin: 0;
    color: var(--muted);
    line-height: 1.75;
}

.catalog-product-grid .collection-content .btn-secondary,
.catalog-product-grid .collection-content .btn-primary {
    margin-top: 4px;
    width: fit-content;
    min-height: 44px;
}

.catalog-product-grid .collection-card:focus-within {
    outline: 3px solid rgba(181, 139, 74, .28);
    outline-offset: 4px;
}

@media (max-width: 900px) {
    .catalog-product-grid {
        gap: 18px;
    }

    .catalog-product-grid .collection-card {
        border-radius: 24px;
    }
}

@media (max-width: 640px) {
    .catalog-product-grid {
        grid-template-columns: 1fr;
    }

    .catalog-product-grid .collection-card {
        padding: 18px;
        box-shadow: 0 14px 42px rgba(45, 31, 18, .08);
    }

    .catalog-product-grid .collection-card:hover {
        transform: none;
    }

    .catalog-product-grid .collection-card img {
        border-radius: 18px;
        max-height: 280px;
    }

    .catalog-product-grid .collection-content {
        gap: 10px;
        padding-top: 14px;
    }

    .catalog-product-grid .collection-content .btn-secondary,
    .catalog-product-grid .collection-content .btn-primary {
        width: 100%;
        justify-content: center;
    }
}

/* FLORI_COLLECTION_CARD_VISUAL_UX_01 */

/* ============================================================
   FLORI MOBILE HEADER NAV VISUAL UX 01
   Premium header action targets, cart link and mobile spacing
   ============================================================ */

.site-header {
    backdrop-filter: saturate(140%) blur(14px);
    box-shadow: 0 12px 36px rgba(45, 31, 18, .055);
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.account-link {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 9px 14px;
    line-height: 1.1;
    transition:
        transform .18s ease,
        background .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

.account-link:hover,
.account-link:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 12px 30px rgba(45, 31, 18, .10);
}

.header-cart-link {
    border: 1px solid rgba(181, 139, 74, .26);
    background:
        linear-gradient(135deg, rgba(255, 252, 246, .96), rgba(247, 239, 225, .82));
    color: var(--ink);
    font-weight: 900;
}

.header-cart-link:hover,
.header-cart-link:focus-visible {
    border-color: rgba(181, 139, 74, .44);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(239, 224, 199, .92));
}

.store-navigation a {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
}

@media (max-width: 900px) {
    .site-header {
        position: sticky;
        top: 0;
        z-index: 50;
    }

    .header-inner {
        gap: 14px;
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .brand-wordmark {
        min-width: 0;
    }

    .brand-name {
        line-height: 1.05;
    }

    .brand-subtitle {
        line-height: 1.25;
    }

    .store-navigation {
        gap: 6px;
    }

    .store-navigation a {
        min-height: 38px;
        padding-inline: 10px;
        white-space: nowrap;
    }

    .header-actions {
        gap: 8px;
    }

    .account-link {
        min-height: 40px;
        padding: 8px 12px;
    }
}

@media (max-width: 640px) {
    .header-inner {
        align-items: stretch;
    }

    .store-navigation {
        width: 100%;
        order: 3;
        display: flex;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scrollbar-width: none;
        padding-bottom: 2px;
    }

    .store-navigation::-webkit-scrollbar {
        display: none;
    }

    .store-navigation a {
        flex: 0 0 auto;
        border-radius: 999px;
        background: rgba(255, 255, 255, .56);
    }

    .header-actions {
        margin-inline-start: auto;
    }

    .account-link {
        min-height: 38px;
        padding: 8px 11px;
        font-size: .9rem;
    }

    .header-cart-link {
        padding-inline: 13px;
    }
}

/* FLORI_MOBILE_HEADER_NAV_VISUAL_UX_01 */

/*
 * ============================================================
 * FLORI_SHOP_MOBILE_UX_01
 * Scoped /shop search, filter and mobile product-grid polish.
 * ============================================================
 */

.shop-page-section {
    padding-top: 54px;
}

.shop-filter-card {
    position: relative;
    overflow: hidden;
    margin-bottom: 46px;
}

.shop-filter-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 12% 10%, rgba(204, 169, 95, .16), transparent 34%),
        linear-gradient(135deg, rgba(255, 255, 255, .08), transparent 42%);
    opacity: .9;
}

.shop-filter-card > * {
    position: relative;
    z-index: 1;
}

.shop-filter-grid {
    display: grid;
    grid-template-columns: minmax(220px, 1.4fr) minmax(180px, 1fr) minmax(160px, .75fr);
    gap: 18px;
    margin-top: 22px;
}

.shop-filter-grid label {
    display: grid;
    gap: 9px;
}

.shop-filter-grid label > span {
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .06em;
    color: var(--gold);
}

.shop-filter-grid input,
.shop-filter-grid select {
    width: 100%;
    min-height: 52px;
    border: 1px solid rgba(204, 169, 95, .24);
    border-radius: 18px;
    padding: 0 16px;
    background: rgba(255, 255, 255, .84);
    color: var(--ink);
    font: inherit;
    outline: none;
    box-shadow: 0 14px 34px rgba(18, 15, 10, .08);
}

.shop-filter-grid input:focus,
.shop-filter-grid select:focus {
    border-color: rgba(204, 169, 95, .68);
    box-shadow:
        0 0 0 4px rgba(204, 169, 95, .14),
        0 18px 42px rgba(18, 15, 10, .10);
}

.shop-filter-actions {
    margin-top: 22px;
    align-items: center;
}

.shop-results-heading {
    margin-top: 6px;
    margin-bottom: 28px;
}

.shop-product-grid {
    align-items: stretch;
}

.shop-product-card {
    min-height: 100%;
}

.shop-product-card .collection-art-real {
    min-height: 230px;
}

.shop-product-card-content {
    gap: 14px;
}

.shop-product-card-content h3 {
    min-height: 2.7em;
}

.shop-product-card-content p {
    min-height: 3.4em;
}

@media (max-width: 980px) {
    .shop-filter-grid {
        grid-template-columns: 1fr 1fr;
    }

    .shop-filter-grid label:first-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px) {
    .shop-page-section {
        padding-top: 34px;
    }

    .shop-filter-card {
        margin-bottom: 34px;
        border-radius: 24px;
        padding: 24px 18px;
    }

    .shop-filter-grid {
        grid-template-columns: 1fr;
        gap: 14px;
        margin-top: 18px;
    }

    .shop-filter-grid label:first-child {
        grid-column: auto;
    }

    .shop-filter-grid input,
    .shop-filter-grid select {
        min-height: 54px;
        border-radius: 16px;
        font-size: 16px;
    }

    .shop-filter-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
        margin-top: 18px;
    }

    .shop-filter-actions .button {
        width: 100%;
        justify-content: center;
        min-height: 52px;
    }

    .shop-results-heading {
        margin-bottom: 20px;
    }

    .shop-product-grid {
        gap: 18px;
    }

    .shop-product-card {
        border-radius: 24px;
    }

    .shop-product-card .collection-art-real {
        min-height: 210px;
    }

    .shop-product-card-content {
        gap: 12px;
    }

    .shop-product-card-content h3,
    .shop-product-card-content p {
        min-height: 0;
    }
}

@media (max-width: 420px) {
    .shop-filter-card {
        padding: 22px 16px;
    }

    .shop-product-card .collection-art-real {
        min-height: 190px;
    }
}

/*
 * ============================================================
 * FLORI_SHOP_EMPTY_SEARCH_UX_01
 * Scoped /shop no-results and search recovery polish.
 * ============================================================
 */

.shop-empty-search-grid {
    max-width: 860px;
    margin-inline: auto;
}

.shop-empty-search-card {
    text-align: center;
}

.shop-empty-search-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 50% 0%, rgba(204, 169, 95, .18), transparent 36%),
        linear-gradient(135deg, rgba(255, 255, 255, .10), transparent 44%);
    opacity: .95;
}

.shop-empty-search-content {
    position: relative;
    z-index: 1;
    align-items: center;
}

.shop-empty-search-content h3 {
    max-width: 620px;
}

.shop-empty-search-content p {
    max-width: 660px;
}

.shop-empty-search-actions {
    justify-content: center;
    margin-top: 8px;
}

.shop-empty-search-suggestions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 6px;
}

.shop-empty-search-suggestions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid rgba(204, 169, 95, .28);
    border-radius: 999px;
    background: rgba(255, 255, 255, .70);
    color: var(--ink);
    font-size: .9rem;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 12px 26px rgba(18, 15, 10, .07);
}

.shop-empty-search-suggestions a:hover {
    border-color: rgba(204, 169, 95, .60);
    background: rgba(255, 255, 255, .92);
}

@media (max-width: 640px) {
    .shop-empty-search-grid {
        display: block;
    }

    .shop-empty-search-card {
        border-radius: 24px;
    }

    .shop-empty-search-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
        width: 100%;
    }

    .shop-empty-search-actions .button {
        width: 100%;
        justify-content: center;
    }

    .shop-empty-search-suggestions {
        width: 100%;
    }

    .shop-empty-search-suggestions a {
        flex: 1 1 auto;
        min-width: 92px;
    }
}

/* FLORI_MOBILE_MENU_CLOSED_STATE_GUARD_01 */
@media (max-width: 820px) {
    .site-header .store-navigation:not(.is-open) {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    .site-header .store-navigation.is-open {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }
}

/*
 * ============================================================
 * FLORI_SHOP_HERO_INTRO_POLISH_01
 * Scoped /shop hero intro visual polish.
 * ============================================================
 */

.shop-hero-polished {
    min-height: auto;
    padding: 64px 0 42px;
    border-bottom: 1px solid rgba(18, 15, 10, .06);
    background:
        radial-gradient(circle at 50% 0%, rgba(204, 169, 95, .16), transparent 34%),
        linear-gradient(180deg, rgba(250, 247, 240, .86), rgba(255, 255, 255, .96));
}

.shop-hero-intro {
    max-width: 880px;
    text-align: center;
}

.shop-hero-kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    margin: 0;
    padding: 0 16px;
    border: 1px solid rgba(204, 169, 95, .34);
    border-radius: 999px;
    background: rgba(255, 255, 255, .80);
    color: var(--muted);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .08em;
}

.shop-hero-intro h1 {
    max-width: 760px;
    margin: 18px auto 0;
    font-size: clamp(2.45rem, 5vw, 4.9rem);
    line-height: .96;
    letter-spacing: -.045em;
}

.shop-hero-copy {
    max-width: 680px;
    margin: 18px auto 0;
    color: var(--muted);
    font-size: clamp(1rem, 1.35vw, 1.18rem);
    line-height: 1.9;
}

@media (max-width: 640px) {
    .shop-hero-polished {
        padding: 34px 0 24px;
    }

    .shop-hero-intro {
        text-align: right;
    }

    .shop-hero-kicker {
        min-height: 30px;
        padding: 0 12px;
        font-size: .72rem;
    }

    .shop-hero-intro h1 {
        margin-top: 14px;
        font-size: clamp(2.05rem, 11vw, 3.2rem);
        line-height: 1.02;
        letter-spacing: -.035em;
    }

    .shop-hero-copy {
        margin-top: 12px;
        font-size: .98rem;
        line-height: 1.75;
    }
}

/*
 * ============================================================
 * FLORI_CONTACT_PAGE_REDESIGN_01
 * Modern contact page.
 * ============================================================
 */

.contact-modern-hero {
    background:
        radial-gradient(circle at 18% 20%, rgba(111, 39, 55, .10), transparent 32%),
        radial-gradient(circle at 82% 12%, rgba(177, 138, 86, .16), transparent 34%),
        linear-gradient(180deg, rgba(250, 247, 240, .88), #ffffff 82%);
    border-bottom: 1px solid rgba(24, 23, 22, .07);
    padding: clamp(70px, 7vw, 112px) 0 clamp(56px, 6vw, 92px);
}

.contact-modern-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .72fr);
    gap: clamp(28px, 5vw, 76px);
    align-items: center;
}

.contact-modern-copy {
    max-width: 720px;
}

.contact-modern-copy h1 {
    max-width: 760px;
    margin: 18px 0 0;
    font-size: clamp(3.2rem, 6.2vw, 6.6rem);
    line-height: .92;
    letter-spacing: -.055em;
}

.contact-modern-copy > p {
    max-width: 620px;
    margin: 26px 0 0;
    color: var(--flori-muted);
    font-size: clamp(1.02rem, 1.35vw, 1.2rem);
    line-height: 1.95;
}

.contact-modern-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 34px;
}

.contact-modern-panel,
.contact-business-card,
.contact-note-card,
.contact-help-card {
    border: 1px solid rgba(24, 23, 22, .10);
    background: rgba(255, 255, 255, .86);
    box-shadow: 0 24px 70px rgba(24, 23, 22, .08);
}

.contact-modern-panel {
    position: relative;
    overflow: hidden;
    padding: clamp(28px, 3vw, 38px);
}

.contact-modern-panel::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(135deg, rgba(177, 138, 86, .16), transparent 42%);
}

.contact-panel-index {
    position: relative;
    z-index: 1;
    color: rgba(24, 23, 22, .42);
    font-family: Georgia, "Times New Roman", serif;
    font-size: .86rem;
}

.contact-modern-panel h2,
.contact-business-card h2,
.contact-note-card h2 {
    position: relative;
    z-index: 1;
    margin: 20px 0 0;
    font-size: clamp(1.6rem, 2.2vw, 2.15rem);
    line-height: 1.16;
    letter-spacing: -.035em;
}

.contact-panel-list {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 12px;
    margin-top: 28px;
}

.contact-panel-list a {
    display: grid;
    gap: 5px;
    padding: 16px 0;
    border-bottom: 1px solid rgba(24, 23, 22, .08);
}

.contact-panel-list a:last-child {
    border-bottom: 0;
}

.contact-panel-list span,
.contact-business-card dt {
    color: var(--flori-muted);
    font-size: .78rem;
    font-weight: 800;
}

.contact-panel-list strong,
.contact-business-card dd {
    color: var(--flori-ink);
    font-size: .98rem;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.contact-modern-section {
    background: #ffffff;
    padding: clamp(58px, 6vw, 96px) 0 clamp(82px, 8vw, 128px);
}

.contact-modern-heading {
    max-width: 760px;
    margin: 0 auto clamp(28px, 4vw, 52px);
    text-align: center;
}

.contact-modern-heading .eyebrow {
    text-align: center;
}

.contact-modern-heading h2 {
    margin: 12px 0 0;
    font-size: clamp(2.5rem, 4.8vw, 5.3rem);
    line-height: .96;
    letter-spacing: -.05em;
}

.contact-help-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(14px, 1.8vw, 22px);
}

.contact-help-card {
    min-height: 245px;
    padding: clamp(24px, 2.3vw, 32px);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.contact-help-card:hover {
    border-color: rgba(111, 39, 55, .22);
    transform: translateY(-3px);
    box-shadow: 0 28px 78px rgba(24, 23, 22, .11);
}

.contact-help-card span {
    color: var(--flori-gold);
    font-family: Georgia, "Times New Roman", serif;
    font-size: .86rem;
}

.contact-help-card h3 {
    margin: 44px 0 0;
    font-size: clamp(1.25rem, 1.7vw, 1.65rem);
    line-height: 1.22;
    letter-spacing: -.025em;
}

.contact-help-card p {
    margin: 14px 0 0;
    color: var(--flori-muted);
    font-size: .95rem;
    line-height: 1.8;
}

.contact-business-grid {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    gap: clamp(18px, 2.5vw, 30px);
    margin-top: clamp(22px, 3vw, 36px);
}

.contact-business-card,
.contact-note-card {
    padding: clamp(28px, 3vw, 40px);
}

.contact-business-card dl {
    display: grid;
    gap: 18px;
    margin: 30px 0 0;
}

.contact-business-card dl div {
    display: grid;
    grid-template-columns: minmax(90px, 150px) 1fr;
    gap: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(24, 23, 22, .08);
}

.contact-business-card dl div:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.contact-business-card dt,
.contact-business-card dd {
    margin: 0;
}

.contact-note-card p {
    max-width: 650px;
    margin: 26px 0 0;
    color: var(--flori-muted);
    font-size: 1rem;
    line-height: 1.9;
}

.contact-note-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
}

.contact-note-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    border: 1px solid rgba(24, 23, 22, .12);
    background: #ffffff;
    font-size: .9rem;
    font-weight: 800;
}

@media (max-width: 980px) {
    .contact-modern-hero-grid,
    .contact-business-grid {
        grid-template-columns: 1fr;
    }

    .contact-modern-copy {
        max-width: 100%;
    }

    .contact-help-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .contact-modern-hero {
        padding: 46px 0 42px;
    }

    .contact-modern-copy h1 {
        font-size: clamp(2.55rem, 13vw, 4.1rem);
        line-height: 1.01;
    }

    .contact-modern-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .contact-help-grid {
        grid-template-columns: 1fr;
    }

    .contact-help-card {
        min-height: 0;
    }

    .contact-help-card h3 {
        margin-top: 28px;
    }

    .contact-business-card dl div {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .contact-note-links {
        display: grid;
        grid-template-columns: 1fr;
    }
}

/*
 * ============================================================
 * FLORI_CONTACT_PHONE_BIDI_01
 * Keep phone numbers readable inside RTL Hebrew layout.
 * ============================================================
 */

.contact-ltr {
    direction: ltr;
    unicode-bidi: isolate;
    display: inline-block;
    white-space: nowrap;
    text-align: left;
}

/*
 * ============================================================
 * FLORI_PRODUCT_PAGE_PREMIUM_UX_01
 * Scoped product detail/order area polish.
 * CSS-only. Product Blade, routes, DB and cart/payment untouched.
 * ============================================================
 */

.product-detail-section {
    background:
        radial-gradient(circle at 16% 10%, rgba(177, 138, 86, .13), transparent 30%),
        radial-gradient(circle at 86% 24%, rgba(111, 39, 55, .07), transparent 34%),
        linear-gradient(180deg, #ffffff 0%, #fbf8f4 48%, #ffffff 100%) !important;
    border-top: 1px solid rgba(24, 23, 22, .06) !important;
    padding-block: clamp(52px, 6vw, 96px) clamp(72px, 7vw, 116px) !important;
}

.product-detail-section .section-heading {
    max-width: 1080px !important;
    margin-bottom: clamp(34px, 4.8vw, 70px) !important;
}

.product-detail-section .section-heading h2 {
    max-width: 960px !important;
    font-size: clamp(42px, 5.4vw, 88px) !important;
    line-height: .95 !important;
    letter-spacing: -.055em !important;
}

.product-detail-section .product-detail-grid {
    width: min(100%, 1160px) !important;
    max-width: 1160px !important;
    margin-inline: auto !important;
    margin-bottom: clamp(34px, 5vw, 72px) !important;
    display: grid !important;
    grid-template-columns: minmax(360px, .92fr) minmax(420px, 1.08fr) !important;
    gap: 0 !important;
    align-items: stretch !important;
    border: 1px solid rgba(24, 23, 22, .10) !important;
    background:
        linear-gradient(135deg, rgba(250, 247, 240, .96), rgba(255, 255, 255, .98)) !important;
    box-shadow: 0 34px 90px rgba(24, 23, 22, .09) !important;
    overflow: hidden !important;
}

.product-detail-section .product-detail-grid > .collection-card {
    min-height: clamp(500px, 48vw, 650px) !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    transform: none !important;
}

.product-detail-section .product-detail-grid > .collection-card:hover {
    transform: none !important;
    box-shadow: none !important;
}

.product-detail-section .product-image-card {
    border-inline-start: 1px solid rgba(24, 23, 22, .08) !important;
    background:
        radial-gradient(circle at 50% 42%, rgba(255, 255, 255, .92), rgba(238, 229, 217, .74) 42%, rgba(250, 247, 240, .92) 72%) !important;
    align-items: center !important;
    justify-content: center !important;
}

.product-detail-section .product-image-card::after {
    content: "FLORI";
    pointer-events: none;
    direction: ltr;
    color: rgba(24, 23, 22, .045);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(76px, 8vw, 132px);
    font-weight: 700;
    letter-spacing: .08em;
    position: absolute;
    inset-inline: 0;
    bottom: 24px;
    text-align: center;
}

.product-detail-section .product-image-card .collection-index {
    position: absolute !important;
    top: 26px !important;
    inset-inline-end: 28px !important;
    z-index: 3 !important;
}

.product-detail-section .product-image-card .collection-art,
.product-detail-section .product-image-card .collection-art-real {
    min-height: clamp(390px, 36vw, 520px) !important;
    max-height: none !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    padding: clamp(28px, 4vw, 52px) !important;
}

.product-detail-section .product-image-card .collection-real-image {
    max-width: min(88%, 480px) !important;
    max-height: clamp(330px, 34vw, 500px) !important;
    filter: drop-shadow(0 32px 36px rgba(24, 23, 22, .12)) !important;
}

.product-detail-section .product-info-card {
    background: rgba(255, 255, 255, .92) !important;
    padding: clamp(34px, 4vw, 62px) !important;
}

.product-detail-section .product-info-card .collection-index {
    position: absolute !important;
    top: 26px !important;
    inset-inline-end: 28px !important;
}

.product-detail-section .product-info-card .collection-content {
    width: 100% !important;
    min-height: 100% !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: clamp(14px, 1.8vw, 22px) !important;
    text-align: right !important;
}

.product-detail-section .product-info-card .collection-content > span:first-child {
    color: var(--flori-wine) !important;
    letter-spacing: .18em !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    opacity: 1 !important;
}

.product-detail-section .product-info-card h3 {
    max-width: 720px !important;
    margin: 0 !important;
    color: var(--flori-ink) !important;
    font-size: clamp(34px, 4vw, 58px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.045em !important;
    font-weight: 500 !important;
}

.product-detail-section .product-info-card p {
    max-width: 640px !important;
    color: var(--flori-muted) !important;
    font-size: clamp(15px, 1.18vw, 17px) !important;
    line-height: 1.95 !important;
}

.product-detail-section .product-info-card .button {
    width: auto !important;
    min-width: 190px !important;
    margin-top: 8px !important;
}

.product-detail-section .product-gallery-grid {
    width: min(100%, 1160px) !important;
    max-width: 1160px !important;
    margin-inline: auto !important;
    margin-top: 0 !important;
    margin-bottom: clamp(34px, 5vw, 72px) !important;
    grid-template-columns: repeat(auto-fit, minmax(260px, 360px)) !important;
    justify-content: center !important;
}

.product-detail-section .product-gallery-card {
    min-height: 350px !important;
    background: rgba(255, 255, 255, .92) !important;
    box-shadow: 0 18px 52px rgba(24, 23, 22, .07) !important;
}

.product-detail-section .legal-card-grid {
    width: min(100%, 1160px) !important;
    max-width: 1160px !important;
    margin-inline: auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
}

.product-detail-section .legal-card-grid > .legal-card {
    min-height: 0 !important;
    padding: clamp(34px, 4vw, 56px) !important;
    border: 1px solid rgba(24, 23, 22, .10) !important;
    background:
        radial-gradient(circle at 10% 0%, rgba(177, 138, 86, .16), transparent 35%),
        linear-gradient(135deg, #ffffff, #fbf8f4) !important;
    box-shadow: 0 30px 82px rgba(24, 23, 22, .08) !important;
    overflow: hidden !important;
}

.product-detail-section .legal-card-grid > .legal-card:hover {
    transform: none !important;
}

.product-detail-section .legal-card-grid > .legal-card > span,
.product-detail-section .legal-card-grid > .legal-card .collection-index {
    color: rgba(24, 23, 22, .32) !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: .9rem !important;
}

.product-detail-section .legal-card-grid > .legal-card h2,
.product-detail-section .legal-card-grid > .legal-card h3 {
    max-width: 760px !important;
    margin: 18px 0 0 !important;
    color: var(--flori-ink) !important;
    font-size: clamp(28px, 3.2vw, 48px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.04em !important;
    font-weight: 500 !important;
}

.product-detail-section .legal-card-grid > .legal-card p {
    max-width: 760px !important;
    margin-top: 18px !important;
    color: var(--flori-muted) !important;
    font-size: clamp(15px, 1.1vw, 17px) !important;
    line-height: 1.9 !important;
}

.product-detail-section .legal-card-grid > .legal-card .hero-actions {
    width: 100% !important;
    margin-top: clamp(28px, 3vw, 42px) !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.product-detail-section .legal-card-grid > .legal-card .hero-actions a,
.product-detail-section .legal-card-grid > .legal-card .hero-actions .button {
    min-height: 54px !important;
    width: 100% !important;
    border-color: rgba(177, 138, 86, .26) !important;
    background: rgba(255, 255, 255, .78) !important;
    color: var(--flori-ink) !important;
    box-shadow: 0 12px 30px rgba(24, 23, 22, .045) !important;
}

.product-detail-section .legal-card-grid > .legal-card .hero-actions a:hover,
.product-detail-section .legal-card-grid > .legal-card .hero-actions .button:hover {
    border-color: rgba(24, 23, 22, .18) !important;
    background: #ffffff !important;
}

@media (max-width: 980px) {
    .product-detail-section .product-detail-grid {
        grid-template-columns: 1fr !important;
        max-width: 680px !important;
    }

    .product-detail-section .product-image-card {
        border-inline-start: 0 !important;
        border-bottom: 1px solid rgba(24, 23, 22, .08) !important;
    }

    .product-detail-section .product-detail-grid > .collection-card {
        min-height: 0 !important;
    }

    .product-detail-section .product-info-card .collection-content {
        justify-content: flex-start !important;
    }

    .product-detail-section .legal-card-grid {
        max-width: 680px !important;
    }
}

@media (max-width: 640px) {
    .product-detail-section {
        padding-block: 38px 76px !important;
    }

    .product-detail-section .section-heading h2 {
        font-size: clamp(36px, 12vw, 52px) !important;
    }

    .product-detail-section .product-detail-grid {
        border-radius: 0 !important;
    }

    .product-detail-section .product-image-card .collection-art,
    .product-detail-section .product-image-card .collection-art-real {
        min-height: 310px !important;
        padding: 30px 18px !important;
    }

    .product-detail-section .product-image-card .collection-real-image {
        max-height: 300px !important;
    }

    .product-detail-section .product-info-card {
        padding: 30px 24px !important;
    }

    .product-detail-section .product-info-card h3 {
        font-size: clamp(30px, 10vw, 42px) !important;
        line-height: 1.08 !important;
    }

    .product-detail-section .legal-card-grid > .legal-card {
        padding: 30px 24px !important;
    }

    .product-detail-section .legal-card-grid > .legal-card .hero-actions {
        grid-template-columns: 1fr !important;
    }
}

/*
 * ============================================================
 * FLORI_PRODUCT_STRUCTURE_REDESIGN_02
 * Real product detail page structure redesign.
 * Replaces old product grid/card composition with a premium ecommerce layout.
 * ============================================================
 */

.product-modern-section {
    background:
        radial-gradient(circle at 18% 10%, rgba(177, 138, 86, .12), transparent 32%),
        radial-gradient(circle at 86% 22%, rgba(111, 39, 55, .08), transparent 34%),
        linear-gradient(180deg, #ffffff 0%, #fbf8f4 46%, #ffffff 100%);
    border-top: 1px solid rgba(24, 23, 22, .06);
    padding: clamp(46px, 5vw, 86px) 0 clamp(82px, 8vw, 132px);
}

.product-modern-container {
    max-width: 1240px;
}

.product-modern-breadcrumb {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: clamp(20px, 3vw, 34px);
    color: var(--flori-muted);
    font-size: .82rem;
    font-weight: 800;
}

.product-modern-breadcrumb a {
    color: var(--flori-muted);
}

.product-modern-breadcrumb a:hover {
    color: var(--flori-ink);
}

.product-modern-shell {
    display: grid;
    grid-template-columns: minmax(360px, .96fr) minmax(420px, 1.04fr);
    align-items: stretch;
    border: 1px solid rgba(24, 23, 22, .10);
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 34px 92px rgba(24, 23, 22, .09);
    overflow: hidden;
}

.product-modern-media-panel {
    position: relative;
    min-height: clamp(520px, 48vw, 690px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: clamp(28px, 3vw, 44px);
    border-inline-start: 1px solid rgba(24, 23, 22, .08);
    background:
        radial-gradient(circle at 50% 42%, rgba(255, 255, 255, .98), rgba(238, 229, 217, .74) 42%, rgba(250, 247, 240, .94) 72%);
}

.product-modern-media-panel::after {
    content: "FLORI";
    pointer-events: none;
    position: absolute;
    inset-inline: 0;
    bottom: 88px;
    direction: ltr;
    color: rgba(24, 23, 22, .045);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(82px, 8vw, 136px);
    font-weight: 700;
    letter-spacing: .08em;
    text-align: center;
}

.product-modern-index {
    position: relative;
    z-index: 2;
    color: rgba(24, 23, 22, .42);
    font-family: Georgia, "Times New Roman", serif;
    font-size: .9rem;
}

.product-modern-media-frame {
    position: relative;
    z-index: 2;
    min-height: clamp(360px, 36vw, 500px);
    display: grid;
    place-items: center;
    padding: clamp(18px, 3vw, 44px);
}

.product-modern-image {
    width: auto;
    max-width: min(92%, 520px);
    max-height: clamp(330px, 34vw, 500px);
    object-fit: contain;
    filter: drop-shadow(0 32px 38px rgba(24, 23, 22, .14));
}

.product-modern-placeholder {
    display: grid;
    place-items: center;
    gap: 12px;
    width: min(100%, 420px);
    min-height: 330px;
    border: 1px dashed rgba(177, 138, 86, .34);
    background: rgba(255, 255, 255, .46);
    text-align: center;
}

.product-modern-placeholder span {
    direction: ltr;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(42px, 5vw, 78px);
    letter-spacing: .14em;
}

.product-modern-placeholder strong {
    color: var(--flori-muted);
    font-size: .95rem;
}

.product-modern-media-caption {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding-top: 24px;
    border-top: 1px solid rgba(24, 23, 22, .08);
}

.product-modern-media-caption span {
    direction: ltr;
    color: var(--flori-muted);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .16em;
}

.product-modern-media-caption strong {
    color: var(--flori-ink);
    font-size: .95rem;
}

.product-modern-info-panel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(34px, 5vw, 70px);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(250, 247, 240, .76));
}

.product-modern-kicker {
    margin: 0;
    color: var(--flori-wine);
    direction: ltr;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .20em;
}

.product-modern-info-panel h1 {
    max-width: 760px;
    margin: 20px 0 0;
    color: var(--flori-ink);
    font-size: clamp(3.1rem, 5.2vw, 6.2rem);
    line-height: .94;
    letter-spacing: -.06em;
    font-weight: 500;
}

.product-modern-lead {
    max-width: 650px;
    margin: 26px 0 0;
    color: var(--flori-muted);
    font-size: clamp(1rem, 1.35vw, 1.2rem);
    line-height: 1.95;
}

.product-modern-status-card {
    margin-top: clamp(30px, 4vw, 48px);
    padding: clamp(24px, 3vw, 36px);
    border: 1px solid rgba(24, 23, 22, .10);
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 20px 56px rgba(24, 23, 22, .06);
}

.product-modern-status-card > span {
    color: var(--flori-muted);
    font-size: .78rem;
    font-weight: 900;
}

.product-modern-status-card h2 {
    margin: 12px 0 0;
    color: var(--flori-ink);
    font-size: clamp(1.6rem, 2.2vw, 2.25rem);
    line-height: 1.12;
    letter-spacing: -.035em;
}

.product-modern-status-card p {
    max-width: 620px;
    margin: 14px 0 0;
    color: var(--flori-muted);
    font-size: .98rem;
    line-height: 1.85;
}

.product-modern-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

.product-modern-description-card {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: clamp(22px, 3vw, 42px);
    margin-top: clamp(26px, 3vw, 42px);
    padding: clamp(30px, 4vw, 56px);
    border: 1px solid rgba(24, 23, 22, .10);
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 24px 70px rgba(24, 23, 22, .07);
}

.product-modern-description-card h2,
.product-modern-gallery-heading h2 {
    margin: 14px 0 0;
    color: var(--flori-ink);
    font-size: clamp(2.2rem, 3.8vw, 4.8rem);
    line-height: .98;
    letter-spacing: -.05em;
    font-weight: 500;
}

.product-modern-description-card p:not(.product-modern-kicker) {
    max-width: 860px;
    margin: 24px 0 0;
    color: var(--flori-muted);
    font-size: clamp(1rem, 1.2vw, 1.12rem);
    line-height: 1.95;
}

.product-modern-gallery {
    margin-top: clamp(38px, 5vw, 76px);
}

.product-modern-gallery-heading {
    margin-bottom: clamp(20px, 3vw, 34px);
    text-align: center;
}

.product-modern-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 360px));
    justify-content: center;
    gap: clamp(16px, 2vw, 26px);
}

.product-modern-gallery-card {
    min-height: 360px;
    display: grid;
    place-items: center;
    padding: 26px;
    border: 1px solid rgba(24, 23, 22, .10);
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 18px 52px rgba(24, 23, 22, .07);
}

.product-modern-gallery-card img {
    width: auto;
    max-width: 92%;
    max-height: 310px;
    object-fit: contain;
}

.product-modern-trust-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(14px, 2vw, 24px);
    margin-top: clamp(34px, 4vw, 58px);
}

.product-modern-trust-grid article {
    min-height: 210px;
    padding: clamp(24px, 2.6vw, 34px);
    border: 1px solid rgba(24, 23, 22, .10);
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 18px 52px rgba(24, 23, 22, .06);
}

.product-modern-trust-grid span {
    color: var(--flori-gold);
    font-family: Georgia, "Times New Roman", serif;
    font-size: .9rem;
}

.product-modern-trust-grid h3 {
    margin: 38px 0 0;
    color: var(--flori-ink);
    font-size: clamp(1.35rem, 1.8vw, 1.75rem);
    line-height: 1.22;
    letter-spacing: -.03em;
}

.product-modern-trust-grid p {
    margin: 14px 0 0;
    color: var(--flori-muted);
    font-size: .95rem;
    line-height: 1.8;
}

@media (max-width: 980px) {
    .product-modern-shell {
        grid-template-columns: 1fr;
        max-width: 720px;
        margin-inline: auto;
    }

    .product-modern-media-panel {
        border-inline-start: 0;
        border-bottom: 1px solid rgba(24, 23, 22, .08);
    }

    .product-modern-description-card,
    .product-modern-trust-grid {
        max-width: 720px;
        margin-inline: auto;
    }

    .product-modern-trust-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .product-modern-section {
        padding: 34px 0 76px;
    }

    .product-modern-breadcrumb {
        margin-bottom: 18px;
    }

    .product-modern-media-panel {
        min-height: 0;
        padding: 24px;
    }

    .product-modern-media-frame {
        min-height: 300px;
        padding: 18px 8px;
    }

    .product-modern-image {
        max-height: 310px;
    }

    .product-modern-media-caption {
        display: grid;
        gap: 6px;
    }

    .product-modern-info-panel {
        padding: 30px 24px;
    }

    .product-modern-info-panel h1 {
        font-size: clamp(2.55rem, 12vw, 4rem);
        line-height: 1.02;
    }

    .product-modern-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .product-modern-description-card {
        grid-template-columns: 1fr;
        padding: 28px 24px;
    }

    .product-modern-trust-grid article {
        min-height: 0;
    }

    .product-modern-trust-grid h3 {
        margin-top: 26px;
    }
}

/*
 * ============================================================
 * FLORI_SHOP_PRICE_FILTERING_01
 * Better shop filtering UI: price inputs, price sort and active chips.
 * ============================================================
 */

.shop-filter-grid-enhanced {
    grid-template-columns: minmax(240px, 1.45fr) minmax(190px, 1fr) repeat(2, minmax(140px, .7fr)) minmax(190px, 1fr) !important;
    align-items: end !important;
}

.shop-filter-field {
    min-width: 0 !important;
}

.shop-filter-field input[type="number"] {
    appearance: textfield;
}

.shop-filter-field input[type="number"]::-webkit-outer-spin-button,
.shop-filter-field input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.shop-active-filter-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid rgba(24, 23, 22, .08);
}

.shop-active-filter-chips span,
.shop-active-filter-chips a {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 14px;
    border: 1px solid rgba(24, 23, 22, .10);
    background: rgba(255, 255, 255, .78);
    color: var(--flori-ink);
    font-size: .78rem;
    font-weight: 800;
    line-height: 1;
}

.shop-active-filter-chips a {
    border-color: rgba(111, 39, 55, .22);
    color: var(--flori-wine);
}

.shop-active-filter-chips a:hover {
    background: var(--flori-wine);
    color: var(--flori-white);
}

@media (max-width: 1100px) {
    .shop-filter-grid-enhanced {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .shop-filter-field-search {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 640px) {
    .shop-filter-grid-enhanced {
        grid-template-columns: 1fr !important;
    }

    .shop-filter-field-search {
        grid-column: auto !important;
    }

    .shop-active-filter-chips {
        display: grid;
        grid-template-columns: 1fr;
    }

    .shop-active-filter-chips span,
    .shop-active-filter-chips a {
        justify-content: center;
        width: 100%;
    }
}

/*
 * ============================================================
 * FLORI_CART_ENABLE_01
 * Add-to-cart product form and modern cart page.
 * ============================================================
 */

.product-cart-card {
    position: relative;
}

.product-cart-alert,
.cart-modern-alert {
    margin-bottom: 18px;
    padding: 13px 15px;
    border: 1px solid rgba(24, 23, 22, .12);
    background: rgba(255, 255, 255, .86);
    color: var(--flori-ink);
    font-size: .92rem;
    font-weight: 800;
    line-height: 1.6;
}

.product-cart-alert-error,
.cart-modern-alert-error {
    border-color: rgba(111, 39, 55, .28);
    background: rgba(111, 39, 55, .06);
    color: var(--flori-wine);
}

.product-cart-alert-success,
.cart-modern-alert-success {
    border-color: rgba(177, 138, 86, .32);
    background: rgba(177, 138, 86, .08);
}

.product-cart-price-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 22px;
    padding: 16px 0;
    border-top: 1px solid rgba(24, 23, 22, .08);
    border-bottom: 1px solid rgba(24, 23, 22, .08);
}

.product-cart-price-row strong {
    color: var(--flori-ink);
    font-size: clamp(1.8rem, 2.4vw, 2.6rem);
    line-height: 1;
    letter-spacing: -.04em;
}

.product-cart-price-row span {
    color: var(--flori-muted);
    font-size: .85rem;
    font-weight: 900;
}

.product-cart-form {
    display: grid;
    grid-template-columns: minmax(110px, 150px) minmax(180px, 1fr);
    gap: 14px;
    margin-top: 24px;
}

.product-cart-form label {
    display: grid;
    gap: 8px;
}

.product-cart-form label span {
    color: var(--flori-muted);
    font-size: .78rem;
    font-weight: 900;
}

.product-cart-form input[type="number"],
.cart-quantity-form input[type="number"] {
    width: 100%;
    min-height: 48px;
    padding: 0 13px;
    border: 1px solid rgba(24, 23, 22, .14);
    background: rgba(255, 255, 255, .92);
    color: var(--flori-ink);
    font: inherit;
    font-weight: 800;
}

.product-cart-secondary-actions {
    margin-top: 14px;
}

.cart-modern-section {
    background:
        radial-gradient(circle at 16% 8%, rgba(177, 138, 86, .11), transparent 34%),
        linear-gradient(180deg, #ffffff 0%, #fbf8f4 52%, #ffffff 100%);
    padding: clamp(48px, 6vw, 92px) 0 clamp(82px, 8vw, 132px);
}

.cart-modern-container {
    max-width: 1180px;
}

.cart-modern-hero {
    max-width: 760px;
    margin-bottom: clamp(26px, 4vw, 48px);
}

.cart-modern-kicker,
.cart-panel-heading span,
.cart-summary-panel > span,
.cart-empty-card > span {
    direction: ltr;
    color: var(--flori-wine);
    font-size: .74rem;
    font-weight: 900;
    letter-spacing: .18em;
}

.cart-modern-hero h1 {
    margin: 14px 0 0;
    color: var(--flori-ink);
    font-size: clamp(3rem, 6vw, 6.6rem);
    line-height: .95;
    letter-spacing: -.06em;
    font-weight: 500;
}

.cart-modern-hero p,
.cart-empty-card p,
.cart-summary-panel p,
.cart-item-main p,
.cart-item-meta {
    color: var(--flori-muted);
    line-height: 1.85;
}

.cart-modern-hero p {
    max-width: 640px;
    margin: 22px 0 0;
    font-size: clamp(1rem, 1.35vw, 1.18rem);
}

.cart-empty-card,
.cart-items-panel,
.cart-summary-panel {
    border: 1px solid rgba(24, 23, 22, .10);
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 24px 70px rgba(24, 23, 22, .07);
}

.cart-empty-card {
    padding: clamp(30px, 5vw, 60px);
}

.cart-empty-card h2,
.cart-panel-heading h2,
.cart-summary-panel h2 {
    margin: 14px 0 0;
    color: var(--flori-ink);
    font-size: clamp(2rem, 3.5vw, 4.2rem);
    line-height: 1;
    letter-spacing: -.05em;
    font-weight: 500;
}

.cart-empty-card p {
    max-width: 560px;
    margin: 20px 0 26px;
}

.cart-modern-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(310px, 380px);
    align-items: start;
    gap: clamp(20px, 3vw, 34px);
}

.cart-items-panel {
    padding: clamp(22px, 3vw, 36px);
}

.cart-panel-heading {
    margin-bottom: 14px;
}

.cart-item-card {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr) minmax(180px, 240px);
    gap: clamp(16px, 2.4vw, 28px);
    align-items: center;
    padding: 24px 0;
    border-top: 1px solid rgba(24, 23, 22, .08);
}

.cart-item-media {
    min-height: 120px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, rgba(250, 247, 240, .96), rgba(255, 255, 255, .94));
    border: 1px solid rgba(24, 23, 22, .08);
}

.cart-item-media img {
    width: auto;
    max-width: 92%;
    max-height: 110px;
    object-fit: contain;
    filter: drop-shadow(0 14px 18px rgba(24, 23, 22, .12));
}

.cart-item-media span {
    direction: ltr;
    color: rgba(24, 23, 22, .28);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 700;
    letter-spacing: .12em;
}

.cart-item-main h3 {
    margin: 0;
    color: var(--flori-ink);
    font-size: clamp(1.25rem, 1.8vw, 1.75rem);
    line-height: 1.2;
    letter-spacing: -.03em;
}

.cart-item-main h3 a {
    color: inherit;
}

.cart-item-main p {
    margin: 8px 0 0;
}

.cart-item-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin-top: 14px;
    font-size: .9rem;
    font-weight: 800;
}

.cart-item-actions {
    display: grid;
    gap: 12px;
}

.cart-quantity-form {
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
}

.cart-quantity-form label {
    color: var(--flori-muted);
    font-size: .78rem;
    font-weight: 900;
}

.cart-remove-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    border: 1px solid rgba(111, 39, 55, .22);
    background: rgba(255, 255, 255, .78);
    color: var(--flori-wine);
    font: inherit;
    font-size: .82rem;
    font-weight: 900;
    cursor: pointer;
}

.cart-remove-button:hover {
    background: var(--flori-wine);
    color: var(--flori-white);
}

.cart-summary-panel {
    position: sticky;
    top: 110px;
    padding: clamp(24px, 3vw, 34px);
}

.cart-summary-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 24px 0 18px;
    padding: 18px 0;
    border-top: 1px solid rgba(24, 23, 22, .09);
    border-bottom: 1px solid rgba(24, 23, 22, .09);
}

.cart-summary-row span {
    color: var(--flori-muted);
    font-weight: 900;
}

.cart-summary-row strong {
    color: var(--flori-ink);
    font-size: clamp(1.65rem, 2.4vw, 2.4rem);
    letter-spacing: -.04em;
}

@media (max-width: 980px) {
    .cart-modern-grid {
        grid-template-columns: 1fr;
    }

    .cart-summary-panel {
        position: static;
    }

    .cart-item-card {
        grid-template-columns: 110px minmax(0, 1fr);
    }

    .cart-item-actions {
        grid-column: 1 / -1;
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .product-cart-form {
        grid-template-columns: 1fr;
    }

    .product-cart-price-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .cart-modern-section {
        padding: 36px 0 82px;
    }

    .cart-item-card {
        grid-template-columns: 1fr;
    }

    .cart-item-media {
        min-height: 180px;
    }

    .cart-item-media img {
        max-height: 160px;
    }
}

/*
 * ============================================================
 * FLORI_CART_VISUAL_POLISH_01
 * CSS-only luxury polish for product add-to-cart card, image blend
 * and cart page cards.
 * ============================================================
 */

/* Product page image blend */
.product-modern-media-panel {
    background:
        radial-gradient(circle at 50% 42%, rgba(255, 255, 255, .96) 0%, rgba(255, 255, 255, .78) 32%, rgba(244, 236, 224, .78) 68%, rgba(248, 244, 237, .95) 100%) !important;
    overflow: hidden !important;
}

.product-modern-media-panel::before {
    opacity: .42 !important;
    filter: blur(.2px);
}

.product-modern-media-panel img {
    background: transparent !important;
    mix-blend-mode: multiply;
    filter:
        drop-shadow(0 28px 30px rgba(24, 23, 22, .16))
        drop-shadow(0 6px 10px rgba(111, 39, 55, .08)) !important;
    transform: translateY(4px) scale(1.045);
}

.product-modern-media-panel::after {
    content: "";
    position: absolute;
    inset: 19% 18% 21%;
    z-index: 0;
    background:
        radial-gradient(circle, rgba(255, 255, 255, .82), rgba(255, 255, 255, 0) 66%);
    pointer-events: none;
}

/* Product add-to-cart card */
.product-modern-status-card.product-cart-card {
    border: 1px solid rgba(177, 138, 86, .28) !important;
    border-right: 5px solid var(--flori-gold) !important;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(250, 247, 241, .94) 58%, rgba(248, 241, 231, .98)) !important;
    box-shadow:
        0 30px 74px rgba(24, 23, 22, .10),
        inset 0 1px 0 rgba(255, 255, 255, .92) !important;
}

.product-modern-status-card.product-cart-card > span {
    color: var(--flori-wine) !important;
    letter-spacing: .12em !important;
}

.product-modern-status-card.product-cart-card h2 {
    color: var(--flori-wine) !important;
}

.product-modern-status-card.product-cart-card p {
    color: rgba(24, 23, 22, .62) !important;
}

.product-cart-price-row {
    margin-top: 24px !important;
    padding: 18px 0 !important;
    border-top: 1px solid rgba(177, 138, 86, .18) !important;
    border-bottom: 1px solid rgba(177, 138, 86, .18) !important;
}

.product-cart-price-row strong {
    color: var(--flori-wine) !important;
    text-shadow: 0 10px 24px rgba(111, 39, 55, .08);
}

.product-cart-price-row span {
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    padding: 0 11px;
    border: 1px solid rgba(177, 138, 86, .28);
    background: rgba(177, 138, 86, .10);
    color: var(--flori-wine) !important;
    font-size: .74rem !important;
    letter-spacing: .03em;
}

.product-cart-form {
    align-items: end !important;
}

.product-cart-form label span,
.cart-quantity-form label {
    color: var(--flori-wine) !important;
}

.product-cart-form input[type="number"],
.cart-quantity-form input[type="number"] {
    border-color: rgba(177, 138, 86, .28) !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(250, 247, 241, .86)) !important;
    color: var(--flori-wine) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .78);
}

.product-cart-form .button-primary {
    background:
        linear-gradient(135deg, var(--flori-wine), #8f3148) !important;
    border-color: rgba(111, 39, 55, .95) !important;
    box-shadow: 0 16px 36px rgba(111, 39, 55, .22) !important;
}

.product-cart-form .button-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 22px 46px rgba(111, 39, 55, .27) !important;
}

.product-cart-secondary-actions .button-secondary {
    border-color: rgba(177, 138, 86, .30) !important;
    color: var(--flori-wine) !important;
    background: rgba(255, 255, 255, .72) !important;
}

/* Cart page luxury layout */
.cart-modern-section {
    background:
        radial-gradient(circle at 16% 12%, rgba(177, 138, 86, .18), transparent 34%),
        radial-gradient(circle at 82% 22%, rgba(111, 39, 55, .08), transparent 32%),
        linear-gradient(180deg, #fff 0%, #fbf6ef 48%, #fff 100%) !important;
}

.cart-modern-hero {
    text-align: center;
    margin-inline: auto;
}

.cart-modern-kicker,
.cart-panel-heading span,
.cart-summary-panel > span,
.cart-empty-card > span {
    color: var(--flori-wine) !important;
}

.cart-modern-hero h1 {
    color: var(--flori-ink) !important;
}

.cart-modern-hero p {
    margin-inline: auto;
    color: rgba(24, 23, 22, .58) !important;
}

.cart-empty-card,
.cart-items-panel,
.cart-summary-panel {
    border: 1px solid rgba(177, 138, 86, .20) !important;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(250, 247, 241, .94)) !important;
    box-shadow:
        0 34px 84px rgba(24, 23, 22, .09),
        inset 0 1px 0 rgba(255, 255, 255, .86) !important;
}

.cart-items-panel {
    position: relative;
    overflow: hidden;
}

.cart-items-panel::before,
.cart-summary-panel::before {
    content: "";
    position: absolute;
    inset-inline: 0;
    top: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--flori-wine), var(--flori-gold));
}

.cart-items-panel,
.cart-summary-panel {
    position: relative;
}

.cart-panel-heading h2,
.cart-summary-panel h2,
.cart-empty-card h2 {
    color: var(--flori-wine) !important;
}

.cart-item-card {
    border-top-color: rgba(177, 138, 86, .20) !important;
}

.cart-item-card:first-of-type {
    border-top-color: rgba(111, 39, 55, .10) !important;
}

.cart-item-media {
    background:
        radial-gradient(circle at 50% 45%, rgba(255, 255, 255, .98), rgba(248, 241, 231, .88) 72%) !important;
    border-color: rgba(177, 138, 86, .20) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .86);
}

.cart-item-media img {
    mix-blend-mode: multiply;
    filter:
        drop-shadow(0 14px 18px rgba(24, 23, 22, .13))
        drop-shadow(0 3px 8px rgba(177, 138, 86, .10)) !important;
}

.cart-item-main h3,
.cart-item-main h3 a {
    color: var(--flori-wine) !important;
}

.cart-item-meta span {
    color: rgba(24, 23, 22, .64) !important;
}

.cart-item-meta span:last-child {
    color: var(--flori-wine) !important;
    font-weight: 900 !important;
}

.cart-summary-row {
    border-top-color: rgba(177, 138, 86, .22) !important;
    border-bottom-color: rgba(177, 138, 86, .22) !important;
}

.cart-summary-row span {
    color: rgba(24, 23, 22, .58) !important;
}

.cart-summary-row strong {
    color: var(--flori-wine) !important;
    text-shadow: 0 12px 24px rgba(111, 39, 55, .08);
}

.cart-summary-panel .button-primary {
    background:
        linear-gradient(135deg, var(--flori-wine), #8f3148) !important;
    border-color: rgba(111, 39, 55, .95) !important;
    box-shadow: 0 18px 42px rgba(111, 39, 55, .22) !important;
}

.cart-quantity-form .button-secondary {
    border-color: rgba(177, 138, 86, .28) !important;
    color: var(--flori-wine) !important;
    background: rgba(255, 255, 255, .76) !important;
}

.cart-remove-button {
    border-color: rgba(111, 39, 55, .25) !important;
    background: rgba(111, 39, 55, .045) !important;
    color: var(--flori-wine) !important;
}

.cart-remove-button:hover {
    background: var(--flori-wine) !important;
    color: var(--flori-white) !important;
}

.cart-modern-alert-success {
    border-color: rgba(177, 138, 86, .30) !important;
    background:
        linear-gradient(135deg, rgba(177, 138, 86, .13), rgba(255, 255, 255, .90)) !important;
    color: var(--flori-wine) !important;
}

@media (max-width: 980px) {
    .cart-modern-hero {
        text-align: right;
        margin-inline: 0;
    }
}

@media (max-width: 640px) {
    .product-modern-media-panel img {
        transform: translateY(2px) scale(1.02);
    }

    .cart-items-panel,
    .cart-summary-panel,
    .product-modern-status-card.product-cart-card {
        box-shadow: 0 22px 54px rgba(24, 23, 22, .08) !important;
    }
}

/*
 * ============================================================
 * FLORI_CART_VISUAL_STRUCTURE_02
 * Stronger CSS-only structure polish after screenshot review.
 * ============================================================
 */

/* Remove the artificial white image stage created in the previous pass */
.product-modern-media-panel::after {
    display: none !important;
}

.product-modern-media-panel {
    background:
        radial-gradient(circle at 52% 42%, rgba(255, 250, 241, .98) 0%, rgba(244, 232, 214, .78) 42%, rgba(251, 247, 240, .94) 100%) !important;
}

.product-modern-media-panel img {
    max-width: min(68%, 420px) !important;
    max-height: 430px !important;
    object-fit: contain !important;
    mix-blend-mode: multiply !important;
    background: transparent !important;
    box-shadow: none !important;
    filter:
        drop-shadow(0 34px 32px rgba(24, 23, 22, .16))
        drop-shadow(0 8px 14px rgba(111, 39, 55, .10)) !important;
    transform: translateY(6px) scale(1.08) !important;
}

/* Make the product order card feel like a premium ecommerce panel, not a plain box */
.product-modern-status-card.product-cart-card {
    padding: clamp(28px, 3vw, 44px) !important;
    border: 1px solid rgba(177, 138, 86, .32) !important;
    border-right: 0 !important;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(253, 248, 239, .96) 54%, rgba(247, 237, 224, .98)) !important;
}

.product-modern-status-card.product-cart-card::before {
    content: "";
    position: absolute;
    inset-inline: 0;
    top: 0;
    height: 5px;
    background: linear-gradient(90deg, var(--flori-wine), var(--flori-gold));
}

.product-cart-price-row {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    align-items: center !important;
    gap: 16px !important;
    margin-top: 22px !important;
    padding: 20px 0 !important;
}

.product-cart-price-row strong {
    font-size: clamp(2.3rem, 3.6vw, 3.4rem) !important;
    color: var(--flori-wine) !important;
    letter-spacing: -.06em !important;
}

.product-cart-price-row span {
    justify-self: start !important;
}

.product-cart-form {
    grid-template-columns: minmax(0, 1fr) 126px !important;
    gap: 14px !important;
    margin-top: 22px !important;
}

.product-cart-form .button-primary {
    grid-column: 1 / 2 !important;
    min-height: 58px !important;
    font-size: .92rem !important;
}

.product-cart-form label {
    grid-column: 2 / 3 !important;
    grid-row: 1 / 2 !important;
}

.product-cart-form input[type="number"] {
    min-height: 58px !important;
    text-align: center !important;
    font-size: 1.15rem !important;
}

.product-cart-secondary-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin-top: 14px !important;
}

.product-cart-secondary-actions .button-secondary {
    width: 100% !important;
    min-height: 48px !important;
}

/* Compact the cart page and make it feel like a checkout/cart module */
.cart-modern-section {
    padding: clamp(28px, 3.6vw, 56px) 0 clamp(70px, 7vw, 112px) !important;
}

.cart-modern-hero {
    max-width: 720px !important;
    margin-bottom: clamp(20px, 2.8vw, 34px) !important;
}

.cart-modern-hero h1 {
    font-size: clamp(3.6rem, 5.2vw, 6rem) !important;
    margin-top: 8px !important;
}

.cart-modern-hero p {
    margin-top: 12px !important;
    font-size: clamp(.95rem, 1.1vw, 1.08rem) !important;
}

.cart-modern-alert {
    max-width: 980px !important;
    margin: 0 auto 20px !important;
    text-align: center !important;
}

.cart-modern-grid {
    max-width: 1180px !important;
    margin: 0 auto !important;
    grid-template-columns: minmax(0, .72fr) minmax(560px, 1.28fr) !important;
    gap: clamp(18px, 2.3vw, 30px) !important;
    direction: ltr !important;
}

.cart-summary-panel,
.cart-items-panel {
    direction: rtl !important;
}

.cart-summary-panel {
    order: 1 !important;
    min-height: 0 !important;
}

.cart-items-panel {
    order: 2 !important;
}

.cart-items-panel,
.cart-summary-panel {
    padding: clamp(24px, 2.6vw, 38px) !important;
}

.cart-panel-heading {
    display: flex !important;
    align-items: end !important;
    justify-content: space-between !important;
    gap: 18px !important;
    margin-bottom: 10px !important;
    border-bottom: 1px solid rgba(177, 138, 86, .18) !important;
    padding-bottom: 18px !important;
}

.cart-panel-heading h2,
.cart-summary-panel h2 {
    font-size: clamp(2.4rem, 3.6vw, 4.8rem) !important;
}

.cart-item-card {
    grid-template-columns: 132px minmax(0, 1fr) 210px !important;
    gap: 24px !important;
    padding: 22px 0 !important;
}

.cart-item-media {
    min-height: 132px !important;
    width: 132px !important;
}

.cart-item-media img {
    max-width: 94% !important;
    max-height: 116px !important;
}

.cart-item-main h3 {
    font-size: clamp(1.45rem, 1.8vw, 2rem) !important;
}

.cart-item-meta {
    display: grid !important;
    gap: 5px !important;
    margin-top: 12px !important;
}

.cart-item-actions {
    align-self: center !important;
}

.cart-quantity-form {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
}

.cart-quantity-form input[type="number"] {
    min-height: 50px !important;
    text-align: center !important;
}

.cart-quantity-form .button-secondary,
.cart-remove-button {
    min-height: 46px !important;
}

.cart-summary-row {
    margin: 22px 0 18px !important;
    padding: 22px 0 !important;
}

.cart-summary-row strong {
    font-size: clamp(2rem, 3vw, 3.2rem) !important;
    letter-spacing: -.06em !important;
}

.cart-summary-panel p {
    margin-bottom: 24px !important;
}

.cart-summary-panel .button-primary {
    width: 100% !important;
    min-height: 56px !important;
}

/* Better desktop visual balance when cart has one item */
.cart-item-card:only-of-type {
    min-height: 176px !important;
}

@media (max-width: 1080px) {
    .cart-modern-grid {
        grid-template-columns: 1fr !important;
        direction: rtl !important;
    }

    .cart-summary-panel,
    .cart-items-panel {
        order: initial !important;
    }

    .cart-summary-panel {
        position: static !important;
    }
}

@media (max-width: 720px) {
    .product-cart-form {
        grid-template-columns: 1fr !important;
    }

    .product-cart-form .button-primary,
    .product-cart-form label {
        grid-column: auto !important;
        grid-row: auto !important;
    }

    .product-cart-secondary-actions {
        grid-template-columns: 1fr !important;
    }

    .cart-modern-hero {
        text-align: right !important;
    }

    .cart-item-card {
        grid-template-columns: 1fr !important;
    }

    .cart-item-media {
        width: 100% !important;
        min-height: 190px !important;
    }

    .cart-item-media img {
        max-height: 165px !important;
    }
}

/*
 * ============================================================
 * FLORI_PRODUCT_ECOMMERCE_POLISH_03
 * Product page correction after screenshot review:
 * white image area, semantic colors, no random red stock/price usage.
 * ============================================================
 */

.product-modern-shell {
    background: #ffffff !important;
}

.product-modern-media-panel {
    background: #ffffff !important;
    border-inline-start: 1px solid rgba(24, 23, 22, .06) !important;
}

.product-modern-media-panel::before,
.product-modern-media-panel::after {
    display: none !important;
}

.product-modern-media-panel img {
    max-width: min(72%, 460px) !important;
    max-height: 470px !important;
    object-fit: contain !important;
    background: #ffffff !important;
    mix-blend-mode: normal !important;
    transform: none !important;
    box-shadow: none !important;
    filter: drop-shadow(0 24px 28px rgba(24, 23, 22, .13)) !important;
}

/* Keep product art clean: white product image on white stage. */
.product-modern-media-panel .product-modern-image-frame,
.product-modern-media-panel picture,
.product-modern-media-panel figure {
    background: #ffffff !important;
}

/* Product order card: clean luxury ecommerce panel */
.product-modern-status-card.product-cart-card {
    border: 1px solid rgba(24, 23, 22, .10) !important;
    background: #ffffff !important;
    box-shadow:
        0 24px 70px rgba(24, 23, 22, .075),
        inset 0 1px 0 rgba(255, 255, 255, .92) !important;
}

.product-modern-status-card.product-cart-card::before {
    height: 3px !important;
    background: linear-gradient(90deg, var(--flori-wine), var(--flori-gold)) !important;
}

.product-modern-status-card.product-cart-card > span {
    color: var(--flori-muted) !important;
}

.product-modern-status-card.product-cart-card h2 {
    color: var(--flori-ink) !important;
}

.product-modern-status-card.product-cart-card p {
    color: rgba(24, 23, 22, .58) !important;
}

/* Price is commerce value, not a warning. Use ink, with small brand accent only. */
.product-cart-price-row {
    border-top: 1px solid rgba(24, 23, 22, .08) !important;
    border-bottom: 1px solid rgba(24, 23, 22, .08) !important;
}

.product-cart-price-row strong {
    color: var(--flori-ink) !important;
    text-shadow: none !important;
}

/* Stock is semantic success, not red/wine. */
.product-cart-price-row span {
    border-color: rgba(47, 125, 95, .22) !important;
    background: rgba(47, 125, 95, .08) !important;
    color: #2f7d5f !important;
}

/* Inputs stay neutral; CTA carries the brand color. */
.product-cart-form input[type="number"] {
    border-color: rgba(24, 23, 22, .14) !important;
    background: #ffffff !important;
    color: var(--flori-ink) !important;
}

.product-cart-form label span {
    color: var(--flori-muted) !important;
}

.product-cart-form .button-primary {
    background: var(--flori-wine) !important;
    border-color: var(--flori-wine) !important;
    color: var(--flori-white) !important;
    box-shadow: 0 18px 34px rgba(111, 39, 55, .18) !important;
}

.product-cart-form .button-primary:hover {
    background: #7f2b40 !important;
    border-color: #7f2b40 !important;
    transform: translateY(-1px);
}

.product-cart-secondary-actions .button-secondary {
    border-color: rgba(24, 23, 22, .12) !important;
    background: #ffffff !important;
    color: var(--flori-ink) !important;
}

.product-cart-secondary-actions .button-secondary:hover {
    border-color: rgba(111, 39, 55, .35) !important;
    color: var(--flori-wine) !important;
}

/* Remove the cream cast from the current product section on desktop. */
.product-modern-section {
    background:
        radial-gradient(circle at 8% 16%, rgba(111, 39, 55, .035), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #fbfaf8 100%) !important;
}

@media (max-width: 760px) {
    .product-modern-media-panel {
        border-inline-start: 0 !important;
        border-top: 1px solid rgba(24, 23, 22, .06) !important;
    }

    .product-modern-media-panel img {
        max-width: min(78%, 360px) !important;
        max-height: 360px !important;
    }
}

/*
 * ============================================================
 * FLORI_CART_LAYOUT_ALIGNMENT_04
 * Cart page organization fix after screenshot review:
 * align summary and items panels on one top row.
 * ============================================================
 */

.cart-modern-section {
    padding-top: clamp(20px, 2.8vw, 42px) !important;
}

.cart-modern-hero {
    max-width: 760px !important;
    margin: 0 auto clamp(18px, 2.2vw, 28px) !important;
    text-align: center !important;
}

.cart-modern-hero h1 {
    font-size: clamp(3.2rem, 4.7vw, 5.4rem) !important;
    margin-top: 6px !important;
}

.cart-modern-hero p {
    margin-top: 10px !important;
}

.cart-modern-alert {
    max-width: 1120px !important;
    margin: 0 auto 16px !important;
}

/* Force checkout module into one organized row */
.cart-modern-grid {
    width: min(1120px, calc(100% - 36px)) !important;
    max-width: none !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: minmax(330px, 390px) minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    gap: clamp(18px, 2vw, 28px) !important;
    align-items: start !important;
    direction: ltr !important;
}

/* Left summary: exact first grid cell, no sticky/offset */
.cart-summary-panel {
    grid-column: 1 !important;
    grid-row: 1 !important;
    order: 0 !important;
    align-self: start !important;
    position: static !important;
    top: auto !important;
    margin: 0 !important;
    transform: none !important;
    direction: rtl !important;
}

/* Right products: exact second grid cell, same top line */
.cart-items-panel {
    grid-column: 2 !important;
    grid-row: 1 !important;
    order: 0 !important;
    align-self: start !important;
    margin: 0 !important;
    transform: none !important;
    direction: rtl !important;
}

.cart-items-panel,
.cart-summary-panel {
    min-height: 0 !important;
    padding: clamp(24px, 2.3vw, 34px) !important;
}

/* Make the inside of the items panel less floaty */
.cart-panel-heading {
    margin-bottom: 0 !important;
    padding-bottom: 16px !important;
}

.cart-panel-heading h2 {
    font-size: clamp(2.5rem, 3.2vw, 4.2rem) !important;
}

.cart-item-card {
    display: grid !important;
    grid-template-columns: 132px minmax(0, 1fr) 190px !important;
    gap: clamp(18px, 2vw, 24px) !important;
    align-items: center !important;
    padding: 22px 0 !important;
}

.cart-item-card:first-of-type {
    padding-top: 22px !important;
}

.cart-item-main h3 {
    margin-bottom: 6px !important;
}

.cart-item-actions {
    align-self: center !important;
}

.cart-summary-panel h2 {
    font-size: clamp(2.4rem, 3.2vw, 4rem) !important;
}

.cart-summary-row {
    margin: 18px 0 16px !important;
    padding: 18px 0 !important;
}

.cart-summary-panel .button-primary {
    margin-top: 4px !important;
}

/* When there is one cart item, do not create awkward empty vertical space */
.cart-item-card:only-of-type {
    min-height: 150px !important;
}

/* Keep empty cart card centered and organized too */
.cart-empty-card {
    max-width: 760px !important;
    margin: 0 auto !important;
}

/* Tablet/mobile: stack cleanly, items first, summary second */
@media (max-width: 980px) {
    .cart-modern-grid {
        width: min(720px, calc(100% - 28px)) !important;
        grid-template-columns: 1fr !important;
        direction: rtl !important;
    }

    .cart-items-panel {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    .cart-summary-panel {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    .cart-modern-hero {
        text-align: right !important;
        margin-inline: auto !important;
    }
}

@media (max-width: 680px) {
    .cart-modern-grid {
        width: min(100% - 22px, 560px) !important;
    }

    .cart-item-card {
        grid-template-columns: 1fr !important;
    }

    .cart-item-media {
        width: 100% !important;
    }
}

/*
 * ============================================================
 * FLORI_CART_ITEM_FINAL_POLISH_05
 * Final filled-cart item polish after screenshot review:
 * bigger product image, tighter item spacing, cleaner controls.
 * ============================================================
 */

/* Keep the successful aligned checkout grid from 04B, polish only the inner item row */
.cart-items-panel {
    overflow: hidden !important;
}

.cart-item-card {
    grid-template-columns: 156px minmax(0, 1fr) 172px !important;
    gap: clamp(14px, 1.6vw, 20px) !important;
    align-items: center !important;
    padding: 24px 0 !important;
}

.cart-item-card:only-of-type {
    min-height: 168px !important;
}

.cart-item-media {
    width: 156px !important;
    min-height: 156px !important;
    border-color: rgba(177, 138, 86, .18) !important;
    background:
        radial-gradient(circle at 50% 44%, #ffffff 0%, #ffffff 48%, rgba(250, 247, 241, .82) 100%) !important;
}

.cart-item-media img {
    max-width: 86% !important;
    max-height: 136px !important;
    object-fit: contain !important;
    mix-blend-mode: normal !important;
    filter: drop-shadow(0 12px 16px rgba(24, 23, 22, .12)) !important;
}

.cart-item-main {
    align-self: center !important;
    padding-inline: 2px 6px !important;
}

.cart-item-main h3 {
    margin: 0 0 8px !important;
    font-size: clamp(1.65rem, 2vw, 2.2rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -.035em !important;
}

.cart-item-main p {
    margin: 0 0 12px !important;
    color: rgba(24, 23, 22, .52) !important;
    font-weight: 700 !important;
}

.cart-item-meta {
    width: fit-content !important;
    min-width: min(100%, 260px) !important;
    margin-top: 8px !important;
    padding: 10px 12px !important;
    border: 1px solid rgba(177, 138, 86, .14) !important;
    background: rgba(255, 255, 255, .72) !important;
    gap: 4px !important;
}

.cart-item-meta span {
    display: flex !important;
    justify-content: space-between !important;
    gap: 14px !important;
    color: rgba(24, 23, 22, .58) !important;
    font-size: .86rem !important;
    line-height: 1.45 !important;
}

.cart-item-meta span:last-child {
    color: var(--flori-ink) !important;
}

/* Make quantity/update/remove feel like one compact control group */
.cart-item-actions {
    width: 100% !important;
    align-self: center !important;
    padding: 12px !important;
    border: 1px solid rgba(177, 138, 86, .16) !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(250, 247, 241, .74)) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .82) !important;
}

.cart-quantity-form {
    gap: 7px !important;
}

.cart-quantity-form label {
    color: rgba(24, 23, 22, .54) !important;
    font-size: .72rem !important;
    letter-spacing: .02em !important;
}

.cart-quantity-form input[type="number"] {
    min-height: 46px !important;
    border-color: rgba(177, 138, 86, .20) !important;
    background: #ffffff !important;
    color: var(--flori-ink) !important;
    font-size: 1rem !important;
    font-weight: 900 !important;
}

.cart-quantity-form .button-secondary {
    min-height: 42px !important;
    border-color: rgba(177, 138, 86, .24) !important;
    background: #ffffff !important;
    color: var(--flori-wine) !important;
    font-size: .78rem !important;
}

.cart-remove-button {
    min-height: 40px !important;
    margin-top: 3px !important;
    border-color: rgba(111, 39, 55, .18) !important;
    background: rgba(111, 39, 55, .035) !important;
    color: rgba(111, 39, 55, .86) !important;
    font-size: .78rem !important;
}

.cart-remove-button:hover {
    background: var(--flori-wine) !important;
    color: #ffffff !important;
}

/* Keep summary visually balanced with the polished item card */
.cart-summary-panel {
    padding-top: clamp(26px, 2.4vw, 36px) !important;
}

.cart-summary-row strong {
    color: var(--flori-ink) !important;
}

@media (max-width: 980px) {
    .cart-item-card {
        grid-template-columns: 148px minmax(0, 1fr) !important;
    }

    .cart-item-actions {
        grid-column: 1 / -1 !important;
        max-width: 360px !important;
        justify-self: start !important;
    }
}

@media (max-width: 680px) {
    .cart-item-card {
        grid-template-columns: 1fr !important;
    }

    .cart-item-media {
        width: 100% !important;
        min-height: 190px !important;
    }

    .cart-item-media img {
        max-height: 168px !important;
    }

    .cart-item-actions {
        max-width: none !important;
    }

    .cart-item-meta {
        width: 100% !important;
    }
}

/*
 * ============================================================
 * FLORI_CHECKOUT_PREP_03
 * Checkout preparation: customer details, fulfillment choice,
 * order summary, and manual order creation before payment.
 * ============================================================
 */

.checkout-modern-section {
    padding: clamp(32px, 4vw, 70px) 0 clamp(80px, 8vw, 128px);
    background:
        radial-gradient(circle at 14% 12%, rgba(111, 39, 55, .04), transparent 32%),
        linear-gradient(180deg, #ffffff 0%, #fbfaf8 100%);
}

.checkout-modern-hero {
    width: min(860px, calc(100% - 32px));
    margin: 0 auto clamp(24px, 3vw, 42px);
    text-align: center;
}

.checkout-modern-hero > span,
.checkout-panel-heading > span,
.checkout-thank-you-card > span {
    display: inline-flex;
    margin-bottom: 10px;
    color: var(--flori-wine);
    font-size: .74rem;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.checkout-modern-hero h1,
.checkout-thank-you-card h1 {
    margin: 0;
    color: var(--flori-ink);
    font-size: clamp(3.2rem, 5vw, 6.4rem);
    letter-spacing: -.055em;
}

.checkout-modern-hero p,
.checkout-thank-you-card p {
    max-width: 680px;
    margin: 14px auto 0;
    color: rgba(24, 23, 22, .62);
    font-weight: 700;
    line-height: 1.8;
}

.checkout-modern-grid {
    width: min(1180px, calc(100% - 36px));
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr);
    gap: clamp(20px, 2.4vw, 34px);
    align-items: start;
}

.checkout-form-panel,
.checkout-summary-panel,
.checkout-thank-you-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(24, 23, 22, .09);
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 24px 70px rgba(24, 23, 22, .075);
}

.checkout-form-panel::before,
.checkout-summary-panel::before,
.checkout-thank-you-card::before {
    content: "";
    position: absolute;
    inset-inline: 0;
    top: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--flori-wine), var(--flori-gold));
}

.checkout-form-panel,
.checkout-summary-panel {
    padding: clamp(26px, 3vw, 44px);
}

.checkout-panel-heading {
    margin-bottom: 20px;
}

.checkout-panel-heading h2 {
    margin: 0;
    color: var(--flori-ink);
    font-size: clamp(2.2rem, 3vw, 4rem);
    letter-spacing: -.045em;
}

.checkout-field {
    display: grid;
    gap: 8px;
    margin-bottom: 16px;
}

.checkout-field span,
.checkout-choice-group > label span small,
.checkout-terms {
    color: rgba(24, 23, 22, .58);
    font-size: .9rem;
    font-weight: 800;
}

.checkout-field input,
.checkout-field textarea {
    width: 100%;
    border: 1px solid rgba(24, 23, 22, .13);
    background: #ffffff;
    color: var(--flori-ink);
    min-height: 50px;
    padding: 12px 14px;
    font: inherit;
    font-weight: 800;
}

.checkout-field textarea {
    resize: vertical;
    min-height: 112px;
}

.checkout-field small,
.checkout-error,
.checkout-choice-group > small {
    color: #9b1c31;
    font-weight: 900;
}

.checkout-choice-group {
    display: grid;
    gap: 12px;
    margin: 20px 0;
}

.checkout-choice-group > label {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 16px;
    border: 1px solid rgba(177, 138, 86, .16);
    background: rgba(250, 247, 241, .56);
    cursor: pointer;
}

.checkout-choice-group input {
    margin-top: 5px;
    accent-color: var(--flori-wine);
}

.checkout-choice-group strong {
    display: block;
    color: var(--flori-ink);
    font-size: 1rem;
}

.checkout-choice-group small {
    display: block;
    margin-top: 4px;
    line-height: 1.6;
}

.checkout-terms {
    display: flex;
    gap: 10px;
    align-items: start;
    margin: 18px 0;
    line-height: 1.7;
}

.checkout-terms input {
    margin-top: 6px;
    accent-color: var(--flori-wine);
}

.checkout-terms a {
    color: var(--flori-wine);
    font-weight: 900;
}

.checkout-form-panel .button-primary,
.checkout-summary-panel .button-secondary,
.checkout-thank-you-actions .button {
    width: 100%;
    min-height: 54px;
}

.checkout-summary-items {
    display: grid;
    gap: 14px;
}

.checkout-summary-item {
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid rgba(24, 23, 22, .07);
}

.checkout-summary-item:last-child {
    border-bottom: 0;
}

.checkout-summary-media {
    width: 70px;
    height: 70px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(177, 138, 86, .14);
    background: #ffffff;
}

.checkout-summary-media img {
    max-width: 86%;
    max-height: 60px;
    object-fit: contain;
}

.checkout-summary-media span {
    color: var(--flori-wine);
    font-size: .72rem;
    font-weight: 900;
}

.checkout-summary-item strong {
    display: block;
    color: var(--flori-ink);
    font-size: 1rem;
    line-height: 1.35;
}

.checkout-summary-item span {
    display: block;
    margin-top: 4px;
    color: rgba(24, 23, 22, .54);
    font-size: .86rem;
    font-weight: 800;
}

.checkout-summary-item b {
    color: var(--flori-ink);
    font-size: 1rem;
    white-space: nowrap;
}

.checkout-total-card {
    display: grid;
    gap: 10px;
    margin: 22px 0;
    padding: 18px;
    border: 1px solid rgba(177, 138, 86, .18);
    background: linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(250, 247, 241, .72));
}

.checkout-total-card > div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    color: rgba(24, 23, 22, .62);
    font-weight: 800;
}

.checkout-total-card strong {
    color: var(--flori-ink);
}

.checkout-grand-total {
    padding-top: 12px;
    border-top: 1px solid rgba(24, 23, 22, .10);
}

.checkout-grand-total strong {
    color: var(--flori-wine);
    font-size: 1.4rem;
}

.checkout-summary-panel p {
    color: rgba(24, 23, 22, .58);
    font-weight: 800;
    line-height: 1.7;
}

.checkout-thank-you-section {
    display: grid;
    place-items: center;
}

.checkout-thank-you-card {
    width: min(820px, calc(100% - 32px));
    padding: clamp(30px, 4vw, 54px);
    text-align: center;
}

.checkout-order-number {
    display: inline-grid;
    gap: 6px;
    margin: 24px auto;
    padding: 14px 18px;
    border: 1px solid rgba(177, 138, 86, .22);
    background: rgba(250, 247, 241, .74);
}

.checkout-order-number span {
    color: rgba(24, 23, 22, .54);
    font-size: .82rem;
    font-weight: 900;
}

.checkout-order-number strong {
    color: var(--flori-wine);
    letter-spacing: .04em;
}

.checkout-thank-you-card .checkout-summary-item {
    grid-template-columns: minmax(0, 1fr) auto;
    text-align: right;
}

.checkout-thank-you-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 22px;
}

.cart-summary-panel .button-primary[href*="checkout"] {
    margin-bottom: 10px;
}

@media (max-width: 980px) {
    .checkout-modern-grid {
        grid-template-columns: 1fr;
        width: min(720px, calc(100% - 28px));
    }

    .checkout-summary-panel {
        order: -1;
    }
}

@media (max-width: 640px) {
    .checkout-modern-hero {
        text-align: right;
    }

    .checkout-summary-item {
        grid-template-columns: 58px minmax(0, 1fr);
    }

    .checkout-summary-item b {
        grid-column: 2;
    }

    .checkout-thank-you-actions {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   FLORI_VISUAL_POLISH_16B
   Purpose:
   Light luxury storefront polish using the existing FLORI
   white / champagne / gold / wine palette.
   This block is appended directly to source and built CSS
   because npm/build is intentionally avoided on the VPS.
   ============================================================ */

.storefront-page {
    background:
        radial-gradient(
            circle at 8% 0%,
            rgba(177, 138, 86, .10),
            transparent 30%
        ),
        linear-gradient(
            180deg,
            var(--flori-white) 0%,
            #fbf8f4 48%,
            var(--flori-white) 100%
        );
}

.storefront-page .site-header {
    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, .96),
            rgba(255, 255, 255, .88)
        );
    border-bottom: 1px solid rgba(222, 216, 209, .78);
    box-shadow: 0 14px 44px rgba(24, 23, 22, .055);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.storefront-page .site-header a {
    transition:
        color .2s ease,
        background-color .2s ease,
        border-color .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

.storefront-page .site-header a:hover {
    color: var(--flori-wine);
}

.storefront-page .hero-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 15% 12%,
            rgba(177, 138, 86, .18),
            transparent 34%
        ),
        radial-gradient(
            circle at 86% 18%,
            rgba(111, 39, 55, .12),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #ffffff 0%,
            #fbf8f4 47%,
            #f3eee8 100%
        );
    border-bottom: 1px solid rgba(222, 216, 209, .72);
}

.storefront-page .hero-section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        linear-gradient(
            90deg,
            rgba(255, 255, 255, .92),
            rgba(255, 255, 255, .60)
        );
}

.storefront-page .hero-grid {
    align-items: center;
    gap: clamp(36px, 6vw, 92px);
}

.storefront-page .hero-copy {
    max-width: 680px;
}

.storefront-page .hero-copy h1 {
    max-width: 720px;
    letter-spacing: -.045em;
    line-height: .98;
    text-wrap: balance;
}

.storefront-page .hero-description {
    max-width: 640px;
    color: rgba(24, 23, 22, .76);
    font-size: clamp(1.05rem, 1.18vw, 1.24rem);
    line-height: 1.9;
}

.storefront-page .hero-actions {
    gap: 14px;
}

.storefront-page .button {
    min-height: 48px;
    border-radius: 999px;
    transition:
        transform .22s ease,
        box-shadow .22s ease,
        background-color .22s ease,
        border-color .22s ease,
        color .22s ease;
}

.storefront-page .button:hover {
    transform: translateY(-2px);
}

.storefront-page .button-primary {
    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            var(--flori-wine-dark),
            var(--flori-wine) 52%,
            #8f3148
        );
    border-color: rgba(111, 39, 55, .92);
    box-shadow:
        0 18px 34px rgba(67, 23, 34, .22),
        inset 0 1px 0 rgba(255, 255, 255, .18);
}

.storefront-page .button-primary:hover {
    box-shadow:
        0 22px 44px rgba(67, 23, 34, .28),
        inset 0 1px 0 rgba(255, 255, 255, .20);
}

.storefront-page .button-secondary {
    color: var(--flori-wine-dark);
    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, .96),
            rgba(248, 246, 243, .90)
        );
    border-color: rgba(177, 138, 86, .48);
    box-shadow: 0 12px 28px rgba(24, 23, 22, .055);
}

.storefront-page .button-secondary:hover {
    border-color: rgba(111, 39, 55, .38);
    box-shadow: 0 16px 34px rgba(24, 23, 22, .08);
}

.storefront-page .section-heading {
    gap: clamp(18px, 3vw, 34px);
}

.storefront-page .section-heading h1,
.storefront-page .section-heading h2 {
    text-wrap: balance;
}

.storefront-page .section-heading .eyebrow,
.storefront-page .hero-copy .eyebrow,
.storefront-page .collection-card-content > span:first-child,
.storefront-page .professional-copy .eyebrow,
.storefront-page .closing-campaign .eyebrow {
    color: var(--flori-gold);
    letter-spacing: .15em;
}

.storefront-page .collection-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(222, 216, 209, .82);
    box-shadow:
        0 22px 60px rgba(24, 23, 22, .075),
        inset 0 1px 0 rgba(255, 255, 255, .72);
    transition:
        transform .24s ease,
        box-shadow .24s ease,
        border-color .24s ease;
}

.storefront-page .collection-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, .58),
            transparent 42%
        );
}

.storefront-page .collection-card:hover {
    transform: translateY(-4px);
    border-color: rgba(177, 138, 86, .52);
    box-shadow:
        0 28px 72px rgba(24, 23, 22, .105),
        inset 0 1px 0 rgba(255, 255, 255, .78);
}

.storefront-page .collection-card-content {
    position: relative;
    z-index: 1;
}

.storefront-page .collection-art,
.storefront-page .collection-art-real {
    overflow: hidden;
    border-radius: 24px;
    background:
        linear-gradient(
            135deg,
            var(--flori-off-white),
            var(--flori-soft)
        );
}

.storefront-page .collection-art img,
.storefront-page .collection-art-real img {
    transition:
        transform .55s ease,
        filter .55s ease;
}

.storefront-page .collection-card:hover .collection-art img,
.storefront-page .collection-card:hover .collection-art-real img {
    transform: scale(1.035);
    filter: saturate(1.04) contrast(1.02);
}

.storefront-page .catalog-product-grid .collection-card {
    border-radius: 30px;
}

.storefront-page .professional-section {
    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #fbf8f4 45%,
            #f3eee8 100%
        );
    border-block: 1px solid rgba(222, 216, 209, .70);
}

.storefront-page .professional-copy {
    border-radius: 32px;
    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, .92),
            rgba(248, 246, 243, .76)
        );
    border: 1px solid rgba(222, 216, 209, .78);
    box-shadow: 0 22px 58px rgba(24, 23, 22, .065);
}

.storefront-page .professional-points li {
    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, .94),
            rgba(248, 246, 243, .86)
        );
    border-color: rgba(222, 216, 209, .82);
    box-shadow: 0 10px 28px rgba(24, 23, 22, .045);
}

.storefront-page .closing-campaign {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 18% 18%,
            rgba(214, 193, 159, .24),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            var(--flori-wine-dark),
            var(--flori-wine) 54%,
            #8f3148
        );
    box-shadow:
        0 28px 78px rgba(67, 23, 34, .20),
        inset 0 1px 0 rgba(255, 255, 255, .16);
}

.storefront-page .closing-campaign::after {
    content: "";
    position: absolute;
    inset: auto -12% -40% -12%;
    height: 70%;
    pointer-events: none;
    background:
        radial-gradient(
            ellipse at center,
            rgba(255, 255, 255, .16),
            transparent 65%
        );
}

.storefront-page .closing-campaign > * {
    position: relative;
    z-index: 1;
}

.storefront-page .closing-campaign .button-primary {
    background:
        linear-gradient(
            135deg,
            #ffffff,
            #f8f6f3
        );
    color: var(--flori-wine-dark);
    border-color: rgba(255, 255, 255, .72);
    box-shadow: 0 18px 40px rgba(24, 23, 22, .16);
}

.storefront-page .closing-campaign .button-secondary {
    color: #ffffff;
    background: rgba(255, 255, 255, .08);
    border-color: rgba(255, 255, 255, .34);
    box-shadow: none;
}

@media (max-width: 900px) {
    .storefront-page .hero-section {
        background:
            linear-gradient(
                180deg,
                #ffffff 0%,
                #fbf8f4 100%
            );
    }

    .storefront-page .hero-grid {
        gap: 32px;
    }

    .storefront-page .hero-actions {
        align-items: stretch;
    }

    .storefront-page .hero-actions .button,
    .storefront-page .closing-campaign .button {
        width: 100%;
        justify-content: center;
    }

    .storefront-page .collection-card:hover {
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .storefront-page .button,
    .storefront-page .collection-card,
    .storefront-page .collection-art img,
    .storefront-page .collection-art-real img {
        transition: none;
    }

    .storefront-page .button:hover,
    .storefront-page .collection-card:hover {
        transform: none;
    }
}

/* ============================================================
   FLORI_VISUAL_CORRECTION_16B2
   Purpose:
   Corrects the first 16B visual pass:
   - soften top black strip
   - tighten vertical rhythm
   - reduce oversized closing image behavior
   - fix wine section readability
   - make product/category cards more commercial and less empty
   - keep checkout/cart logic untouched
   ============================================================ */

.storefront-page .announcement-bar {
    min-height: 24px !important;
    padding-block: 6px !important;
    background:
        linear-gradient(
            90deg,
            #151311,
            #1c1917 50%,
            #151311
        ) !important;
    color: rgba(255, 255, 255, .78) !important;
    box-shadow: none !important;
}

.storefront-page .announcement-inner {
    font-size: 10px !important;
    letter-spacing: .22em !important;
    opacity: .88 !important;
}

.storefront-page .announcement-separator {
    background: rgba(214, 193, 159, .62) !important;
}

.storefront-page .site-header {
    min-height: 76px !important;
    box-shadow: 0 10px 26px rgba(24, 23, 22, .045) !important;
}

.storefront-page .header-inner {
    min-height: 76px !important;
}

.storefront-page .brand-wordmark {
    transform: translateY(-1px);
}

.storefront-page .hero-section {
    padding-block: clamp(58px, 6vw, 86px) clamp(42px, 5vw, 70px) !important;
}

.storefront-page .hero-grid {
    min-height: auto !important;
    gap: clamp(34px, 5vw, 72px) !important;
}

.storefront-page .hero-visual-real {
    max-width: 620px !important;
    box-shadow: 0 24px 58px rgba(67, 23, 34, .10) !important;
}

.storefront-page .hero-copy h1 {
    margin-block: 16px 18px !important;
}

.storefront-page .hero-description {
    margin-block-end: 26px !important;
}

.storefront-page .button-primary {
    box-shadow:
        0 12px 26px rgba(67, 23, 34, .18),
        inset 0 1px 0 rgba(255, 255, 255, .18) !important;
}

.storefront-page .button-primary:hover {
    box-shadow:
        0 16px 34px rgba(67, 23, 34, .23),
        inset 0 1px 0 rgba(255, 255, 255, .20) !important;
}

.storefront-page .benefit-strip {
    background: rgba(255, 255, 255, .84) !important;
    border-block: 1px solid rgba(222, 216, 209, .72) !important;
}

.storefront-page .benefit-grid {
    min-height: 82px !important;
}

.storefront-page .benefit-item {
    padding-block: 20px !important;
}

.storefront-page .collections-section {
    padding-block: clamp(76px, 8vw, 118px) !important;
}

.storefront-page .collections-section .section-heading {
    margin-bottom: clamp(34px, 4vw, 54px) !important;
    align-items: end !important;
}

.storefront-page .collections-section .section-heading h1,
.storefront-page .collections-section .section-heading h2 {
    font-size: clamp(42px, 4.8vw, 72px) !important;
    line-height: 1.04 !important;
}

.storefront-page .collections-section .section-heading p:not(.eyebrow) {
    max-width: 420px !important;
    color: rgba(24, 23, 22, .62) !important;
}

.storefront-page .collections-section .collection-card {
    border-color: rgba(222, 216, 209, .72) !important;
    box-shadow:
        0 18px 42px rgba(24, 23, 22, .055),
        inset 0 1px 0 rgba(255, 255, 255, .78) !important;
}

.storefront-page .collections-section .collection-card:hover {
    transform: translateY(-3px) !important;
    box-shadow:
        0 24px 56px rgba(24, 23, 22, .085),
        inset 0 1px 0 rgba(255, 255, 255, .82) !important;
}

.storefront-page .collection-art,
.storefront-page .collection-art-real {
    border: 1px solid rgba(222, 216, 209, .60) !important;
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, .96),
            rgba(248, 246, 243, .88)
        ) !important;
}

.storefront-page .professional-section {
    padding-block: clamp(74px, 7vw, 116px) !important;
}

.storefront-page .professional-section .store-container {
    gap: clamp(34px, 5vw, 70px) !important;
    align-items: center !important;
}

.storefront-page .professional-copy {
    max-width: 590px !important;
    padding: clamp(34px, 4vw, 54px) !important;
}

.storefront-page .professional-copy h2 {
    font-size: clamp(44px, 4.8vw, 72px) !important;
    line-height: 1.04 !important;
}

.storefront-page .professional-copy p {
    color: rgba(24, 23, 22, .68) !important;
}

.storefront-page .professional-points {
    margin-top: 26px !important;
}

.storefront-page .professional-points > div,
.storefront-page .professional-points li {
    padding-block: 16px !important;
}

.storefront-page .closing-section-campaign {
    background: #f8f6f3 !important;
}

.storefront-page .closing-campaign {
    min-height: clamp(420px, 48vw, 560px) !important;
    background:
        radial-gradient(
            circle at 72% 18%,
            rgba(214, 193, 159, .18),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #431722 0%,
            #6f2737 54%,
            #8f3148 100%
        ) !important;
}

.storefront-page .closing-campaign-image {
    opacity: .16 !important;
    filter: saturate(.82) contrast(.94) blur(.2px) !important;
    object-position: center center !important;
    z-index: 0 !important;
}

.storefront-page .closing-campaign::after {
    z-index: 1 !important;
    background:
        linear-gradient(
            90deg,
            rgba(67, 23, 34, .94) 0%,
            rgba(111, 39, 55, .88) 42%,
            rgba(143, 49, 72, .76) 100%
        ) !important;
}

.storefront-page .closing-campaign-content {
    min-height: clamp(420px, 48vw, 560px) !important;
    padding-block: clamp(64px, 7vw, 96px) !important;
    align-items: center !important;
}

.storefront-page .closing-campaign-copy {
    width: min(620px, 52%) !important;
    padding-block: 0 !important;
}

.storefront-page .closing-campaign-copy .eyebrow {
    color: var(--flori-gold-soft) !important;
    opacity: .95 !important;
}

.storefront-page .closing-campaign-copy h2,
.storefront-page .closing-campaign-copy h2 span {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
    text-shadow: none !important;
    filter: none !important;
}

.storefront-page .closing-campaign-copy h2 {
    margin: 16px 0 22px !important;
    font-size: clamp(44px, 5vw, 72px) !important;
    line-height: 1.04 !important;
}

.storefront-page .closing-description {
    max-width: 520px !important;
    color: rgba(255, 255, 255, .82) !important;
    opacity: 1 !important;
    font-size: 17px !important;
    line-height: 1.85 !important;
}

.storefront-page .closing-campaign .button-primary {
    color: var(--flori-wine-dark) !important;
    background:
        linear-gradient(
            135deg,
            #ffffff,
            #f8f6f3
        ) !important;
    border-color: rgba(255, 255, 255, .74) !important;
    box-shadow: 0 14px 30px rgba(24, 23, 22, .18) !important;
}

.storefront-page .catalog-product-grid {
    gap: clamp(18px, 2vw, 28px) !important;
}

.storefront-page .catalog-product-grid .collection-card {
    min-height: 0 !important;
    padding: clamp(22px, 2.5vw, 32px) !important;
    border-radius: 28px !important;
    box-shadow:
        0 14px 38px rgba(24, 23, 22, .052),
        inset 0 1px 0 rgba(255, 255, 255, .78) !important;
}

.storefront-page .catalog-product-grid .collection-card:hover {
    box-shadow:
        0 20px 48px rgba(24, 23, 22, .078),
        inset 0 1px 0 rgba(255, 255, 255, .82) !important;
}

.storefront-page .catalog-product-grid .collection-art,
.storefront-page .catalog-product-grid .collection-art-real {
    height: clamp(190px, 20vw, 260px) !important;
    min-height: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 18px !important;
    border-radius: 22px !important;
}

.storefront-page .catalog-product-grid .collection-art img,
.storefront-page .catalog-product-grid .collection-art-real img {
    width: auto !important;
    max-width: 82% !important;
    height: auto !important;
    max-height: 88% !important;
    object-fit: contain !important;
    object-position: center center !important;
}

.storefront-page .catalog-product-grid .collection-content {
    gap: 10px !important;
    min-height: 0 !important;
}

.storefront-page .catalog-product-grid .collection-content h3 {
    margin-block: 8px 10px !important;
    font-size: clamp(21px, 1.7vw, 29px) !important;
    line-height: 1.22 !important;
}

.storefront-page .catalog-product-grid .collection-content .price,
.storefront-page .catalog-product-grid .collection-content [class*="price"],
.storefront-page .catalog-product-grid .collection-content span:has(+ a) {
    color: rgba(24, 23, 22, .72) !important;
}

.storefront-page .catalog-product-grid .button {
    margin-top: 14px !important;
    min-height: 44px !important;
}

@media (max-width: 1020px) {
    .storefront-page .professional-section .store-container {
        gap: 34px !important;
    }

    .storefront-page .closing-campaign-copy {
        width: min(620px, 58%) !important;
    }
}

@media (max-width: 820px) {
    .storefront-page .announcement-bar {
        display: none !important;
    }

    .storefront-page .site-header,
    .storefront-page .header-inner {
        min-height: 68px !important;
    }

    .storefront-page .hero-section {
        padding-block: 42px 48px !important;
    }

    .storefront-page .collections-section {
        padding-block: 58px !important;
    }

    .storefront-page .collections-section .section-heading {
        align-items: start !important;
        margin-bottom: 30px !important;
    }

    .storefront-page .professional-section {
        padding-block: 58px !important;
    }

    .storefront-page .professional-copy {
        padding: 30px 24px !important;
    }

    .storefront-page .closing-campaign {
        min-height: 0 !important;
    }

    .storefront-page .closing-campaign-image {
        display: none !important;
    }

    .storefront-page .closing-campaign::after {
        content: none !important;
        display: none !important;
    }

    .storefront-page .closing-campaign-content {
        min-height: 0 !important;
        padding-block: 58px !important;
        background:
            linear-gradient(
                135deg,
                #431722,
                #6f2737 58%,
                #8f3148
            ) !important;
    }

    .storefront-page .closing-campaign-copy {
        width: 100% !important;
        max-width: 620px !important;
    }

    .storefront-page .catalog-product-grid .collection-art,
    .storefront-page .catalog-product-grid .collection-art-real {
        height: 210px !important;
    }
}

@supports not selector(:has(*)) {
    .storefront-page .catalog-product-grid .collection-content span {
        color: rgba(24, 23, 22, .72);
    }
}

/* ============================================================
   FLORI_HOME_CLOSING_REPAIR_16B3
   Emergency targeted repair for broken homepage closing section.
   Scope is intentionally narrow:
   - only closing campaign / bottom CTA section
   - hides giant image overlay
   - restores readable compact premium CTA
   - does not touch header, product cards, shop, cart, checkout
   ============================================================ */

.storefront-page .closing-section-campaign {
    padding-block: clamp(56px, 6vw, 88px) !important;
    background:
        linear-gradient(
            180deg,
            #f8f6f3 0%,
            #ffffff 100%
        ) !important;
}

.storefront-page .closing-campaign {
    width: min(1180px, calc(100% - 48px)) !important;
    min-height: 0 !important;
    margin-inline: auto !important;
    overflow: hidden !important;
    border-radius: 34px !important;
    background:
        linear-gradient(
            135deg,
            #431722 0%,
            #6f2737 58%,
            #8f3148 100%
        ) !important;
    box-shadow:
        0 22px 54px rgba(67, 23, 34, .18),
        inset 0 1px 0 rgba(255, 255, 255, .12) !important;
}

.storefront-page .closing-campaign::before,
.storefront-page .closing-campaign::after {
    content: none !important;
    display: none !important;
}

.storefront-page .closing-campaign-image {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    pointer-events: none !important;
}

.storefront-page .closing-campaign-content {
    min-height: 0 !important;
    height: auto !important;
    padding: clamp(54px, 6vw, 78px) clamp(26px, 5vw, 72px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
}

.storefront-page .closing-campaign-copy {
    width: min(720px, 100%) !important;
    max-width: 720px !important;
    margin-inline: auto !important;
    padding: 0 !important;
    text-align: center !important;
    color: #ffffff !important;
}

.storefront-page .closing-campaign-copy .eyebrow {
    color: var(--flori-gold-soft) !important;
    opacity: 1 !important;
    margin: 0 0 14px !important;
}

.storefront-page .closing-campaign-copy h2,
.storefront-page .closing-campaign-copy h2 span {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
    filter: none !important;
    text-shadow: none !important;
    mix-blend-mode: normal !important;
}

.storefront-page .closing-campaign-copy h2 {
    margin: 0 0 18px !important;
    font-size: clamp(36px, 4vw, 58px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
}

.storefront-page .closing-description {
    width: min(560px, 100%) !important;
    max-width: 560px !important;
    margin: 0 auto 28px !important;
    color: rgba(255, 255, 255, .84) !important;
    opacity: 1 !important;
    font-size: clamp(15px, 1.2vw, 17px) !important;
    line-height: 1.8 !important;
}

.storefront-page .closing-campaign .button,
.storefront-page .closing-campaign .button-primary,
.storefront-page .closing-campaign .button-secondary {
    position: relative !important;
    z-index: 2 !important;
    min-height: 46px !important;
    padding-inline: 28px !important;
}

.storefront-page .closing-campaign .button-primary {
    color: var(--flori-wine-dark) !important;
    -webkit-text-fill-color: var(--flori-wine-dark) !important;
    background:
        linear-gradient(
            135deg,
            #ffffff,
            #f8f6f3
        ) !important;
    border: 1px solid rgba(255, 255, 255, .76) !important;
    box-shadow: 0 12px 26px rgba(24, 23, 22, .16) !important;
}

.storefront-page .closing-campaign .button-primary:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 16px 34px rgba(24, 23, 22, .20) !important;
}

@media (max-width: 820px) {
    .storefront-page .closing-section-campaign {
        padding-block: 42px !important;
    }

    .storefront-page .closing-campaign {
        width: calc(100% - 28px) !important;
        border-radius: 26px !important;
    }

    .storefront-page .closing-campaign-content {
        padding: 44px 22px !important;
    }

    .storefront-page .closing-campaign-copy h2 {
        font-size: clamp(32px, 9vw, 44px) !important;
    }
}

/* ============================================================
   FLORI_PROFESSIONAL_REPAIR_16B4
   Targeted repair for homepage professional section only.
   Scope:
   - professional-section
   - professional-grid
   - professional image/card balance
   - professional-copy text sizing
   - professional-points rhythm
   Does not touch hero, collections, closing, shop, cart or checkout.
   ============================================================ */

.storefront-page #professional.professional-section {
    padding-block: clamp(56px, 6vw, 88px) !important;
    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fbf8f4 100%
        ) !important;
    border-block: 1px solid rgba(222, 216, 209, .62) !important;
}

.storefront-page #professional .professional-grid {
    grid-template-columns:
        minmax(360px, .92fr)
        minmax(420px, 1fr) !important;
    gap: clamp(28px, 4vw, 58px) !important;
    align-items: center !important;
}

.storefront-page #professional .professional-visual,
.storefront-page #professional .professional-visual-real {
    width: min(100%, 560px) !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1 !important;
    margin-inline: auto !important;
    overflow: hidden !important;
    border-radius: 30px !important;
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, .92),
            rgba(248, 246, 243, .88)
        ) !important;
    border: 1px solid rgba(222, 216, 209, .72) !important;
    box-shadow:
        0 18px 46px rgba(24, 23, 22, .06),
        inset 0 1px 0 rgba(255, 255, 255, .78) !important;
}

.storefront-page #professional .professional-image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
    filter: saturate(1.02) contrast(1.01) !important;
}

.storefront-page #professional .professional-copy {
    width: min(100%, 560px) !important;
    max-width: 560px !important;
    margin-inline: auto !important;
    padding: clamp(30px, 3.6vw, 46px) !important;
    border-radius: 30px !important;
    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, .96),
            rgba(248, 246, 243, .82)
        ) !important;
    border: 1px solid rgba(222, 216, 209, .78) !important;
    box-shadow:
        0 18px 44px rgba(24, 23, 22, .055),
        inset 0 1px 0 rgba(255, 255, 255, .78) !important;
}

.storefront-page #professional .professional-copy .eyebrow {
    margin: 0 0 12px !important;
    color: var(--flori-gold) !important;
    letter-spacing: .16em !important;
}

.storefront-page #professional .professional-copy h2 {
    margin: 0 0 18px !important;
    font-size: clamp(38px, 4.1vw, 58px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.04em !important;
}

.storefront-page #professional .professional-copy h2 span {
    color: var(--flori-wine) !important;
    -webkit-text-fill-color: var(--flori-wine) !important;
    font-style: normal !important;
}

.storefront-page #professional .professional-copy > p:not(.eyebrow) {
    max-width: 500px !important;
    margin: 0 !important;
    color: rgba(24, 23, 22, .68) !important;
    font-size: 15.5px !important;
    line-height: 1.85 !important;
}

.storefront-page #professional .professional-points {
    margin-top: 24px !important;
    border-top: 1px solid rgba(222, 216, 209, .88) !important;
}

.storefront-page #professional .professional-points > div,
.storefront-page #professional .professional-points li {
    min-height: 0 !important;
    padding-block: 15px !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(222, 216, 209, .72) !important;
    box-shadow: none !important;
}

.storefront-page #professional .professional-points > div:last-child,
.storefront-page #professional .professional-points li:last-child {
    border-bottom: 0 !important;
}

.storefront-page #professional .professional-points span {
    color: var(--flori-gold) !important;
    font-size: 12px !important;
}

.storefront-page #professional .professional-points strong {
    font-size: 15px !important;
    color: var(--flori-ink) !important;
}

@media (max-width: 960px) {
    .storefront-page #professional .professional-grid {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }

    .storefront-page #professional .professional-copy {
        order: 1 !important;
    }

    .storefront-page #professional .professional-visual,
    .storefront-page #professional .professional-visual-real {
        order: 2 !important;
        width: min(100%, 520px) !important;
    }
}

@media (max-width: 640px) {
    .storefront-page #professional.professional-section {
        padding-block: 46px !important;
    }

    .storefront-page #professional .professional-copy {
        padding: 28px 22px !important;
        border-radius: 24px !important;
    }

    .storefront-page #professional .professional-copy h2 {
        font-size: clamp(32px, 9vw, 44px) !important;
    }

    .storefront-page #professional .professional-visual,
    .storefront-page #professional .professional-visual-real {
        border-radius: 24px !important;
    }
}

/* ============================================================
   FLORI_HEADER_LOGO_ALIGN_16B5
   Targeted header logo vertical alignment repair.
   Scope:
   - site-header
   - header-inner
   - brand-wordmark
   Fixes the center FLORI / COSMETICS logo sitting too low.
   ============================================================ */

.storefront-page .site-header {
    min-height: 86px !important;
    overflow: visible !important;
}

.storefront-page .header-inner {
    min-height: 86px !important;
    align-items: center !important;
    padding-block: 0 !important;
    overflow: visible !important;
}

.storefront-page .brand-wordmark {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    margin: 0 !important;
    padding: 0 0 3px !important;
    line-height: 1 !important;
    transform: translateY(0) !important;
    overflow: visible !important;
}

.storefront-page .brand-wordmark * {
    line-height: 1 !important;
}

@media (max-width: 820px) {
    .storefront-page .site-header,
    .storefront-page .header-inner {
        min-height: 74px !important;
    }

    .storefront-page .brand-wordmark {
        padding-bottom: 2px !important;
    }
}

/* ============================================================
   FLORI_HEADER_LOGO_NUDGE_16B6
   Exact targeted repair:
   Move only the center header FLORI logo block slightly up.
   Scope:
   - .storefront-page .site-header .brand-wordmark
   Does not affect footer logo, hero, cards, shop, cart or checkout.
   ============================================================ */

.storefront-page .site-header .brand-wordmark {
    top: calc(50% - 6px) !important;
    transform: translate(-50%, -50%) !important;
}

@media (max-width: 820px) {
    .storefront-page .site-header .brand-wordmark {
        top: calc(50% - 4px) !important;
        transform: translate(-50%, -50%) !important;
    }
}

/* ============================================================
   FLORI_HEADER_LOGO_BALANCE_16B7
   Exact targeted repair:
   Visually align the two-line FLORI header wordmark with
   the one-line menu/login/cart row.
   Scope:
   - .storefront-page .site-header .brand-wordmark
   - .storefront-page .site-header .brand-name
   - .storefront-page .site-header .brand-subtitle
   ============================================================ */

.storefront-page .site-header .brand-wordmark {
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    gap: 1px !important;
    padding: 0 !important;
    line-height: 1 !important;
}

.storefront-page .site-header .brand-name {
    display: block !important;
    line-height: .92 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.storefront-page .site-header .brand-subtitle {
    display: block !important;
    margin: 2px 0 0 !important;
    padding: 0 !important;
    font-size: 8px !important;
    line-height: 1 !important;
    letter-spacing: .34em !important;
    opacity: .68 !important;
}

@media (max-width: 820px) {
    .storefront-page .site-header .brand-wordmark {
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        gap: 1px !important;
    }

    .storefront-page .site-header .brand-subtitle {
        font-size: 7px !important;
        margin-top: 1px !important;
    }
}

/* ============================================================
   FLORI_CATEGORY_PRODUCT_CARDS_REPAIR_17B3
   Targeted category-page product card repair only.
   Scope:
   - .product-discovery-actions
   - immediately following .collection-grid.catalog-product-grid
   Purpose:
   - soften top action buttons
   - reduce product card empty vertical space
   - make product image area part of normal card flow
   - move product CTA closer to name/price
   Does not touch homepage collections, hero, header, cart,
   checkout, product pages, DB, routes, Blade or build pipeline.
   ============================================================ */

.storefront-page .collections-section .product-discovery-actions {
    width: min(100%, 1120px) !important;
    margin: 10px auto 30px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

.storefront-page .collections-section .product-discovery-actions .button {
    min-height: 42px !important;
    padding: 0 22px !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    line-height: 1 !important;
    box-shadow: none !important;
}

.storefront-page .collections-section .product-discovery-actions .product-discovery-shop-cta {
    background: var(--flori-wine) !important;
    color: var(--flori-white) !important;
    border-color: var(--flori-wine) !important;
}

.storefront-page .collections-section .product-discovery-actions .product-discovery-filter-cta {
    background: rgba(255, 255, 255, .76) !important;
    border-color: rgba(177, 138, 86, .42) !important;
    color: var(--flori-ink) !important;
}

.storefront-page .collections-section .product-discovery-actions + .collection-grid.catalog-product-grid {
    width: min(100%, 1120px) !important;
    max-width: 1120px !important;
    margin-inline: auto !important;
    gap: 22px !important;
    align-items: stretch !important;
    grid-template-columns: repeat(3, minmax(250px, 1fr)) !important;
}

.storefront-page .collections-section .product-discovery-actions + .collection-grid.catalog-product-grid > .collection-card,
.storefront-page .collections-section .product-discovery-actions + .collection-grid.catalog-product-grid > .collection-card:nth-child(n),
.storefront-page .collections-section .product-discovery-actions + .collection-grid.catalog-product-grid > .collection-card:last-child {
    grid-column: auto !important;
    grid-row: auto !important;
    min-height: 430px !important;
    height: auto !important;
    padding: 22px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    overflow: hidden !important;
    border-radius: 28px !important;
    border: 1px solid rgba(222, 216, 209, .72) !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 12px 34px rgba(24, 23, 22, .045) !important;
}

.storefront-page .collections-section .product-discovery-actions + .collection-grid.catalog-product-grid .collection-art,
.storefront-page .collections-section .product-discovery-actions + .collection-grid.catalog-product-grid .collection-art-real {
    position: relative !important;
    inset: auto !important;
    z-index: 1 !important;
    width: 100% !important;
    min-height: 0 !important;
    height: 235px !important;
    margin: 8px 0 18px !important;
    padding: 10px !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
    border-radius: 22px !important;
    background: rgba(248, 246, 243, .62) !important;
}

.storefront-page .collections-section .product-discovery-actions + .collection-grid.catalog-product-grid .collection-real-image {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 92% !important;
    max-height: 220px !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: auto !important;
    position: static !important;
    inset: auto !important;
    transform: none !important;
}

.storefront-page .collections-section .product-discovery-actions + .collection-grid.catalog-product-grid .collection-content,
.storefront-page .collections-section .product-discovery-actions + .collection-grid.catalog-product-grid .collection-info {
    position: relative !important;
    z-index: 2 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    min-height: 0 !important;
    text-align: right !important;
    background: transparent !important;
}

.storefront-page .collections-section .product-discovery-actions + .collection-grid.catalog-product-grid .collection-content h3,
.storefront-page .collections-section .product-discovery-actions + .collection-grid.catalog-product-grid .collection-info h3 {
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    color: var(--flori-ink) !important;
    font-size: clamp(22px, 1.65vw, 27px) !important;
    line-height: 1.18 !important;
    letter-spacing: -.025em !important;
    font-weight: 500 !important;
    text-align: right !important;
}

.storefront-page .collections-section .product-discovery-actions + .collection-grid.catalog-product-grid .collection-content h3 + span,
.storefront-page .collections-section .product-discovery-actions + .collection-grid.catalog-product-grid .collection-info h3 + span {
    display: block !important;
    margin: 0 !important;
    color: var(--flori-muted) !important;
    font-size: 13px !important;
    text-align: right !important;
}

.storefront-page .collections-section .product-discovery-actions + .collection-grid.catalog-product-grid .collection-content .button,
.storefront-page .collections-section .product-discovery-actions + .collection-grid.catalog-product-grid .collection-info a {
    align-self: flex-start !important;
    min-height: 42px !important;
    margin-top: 8px !important;
    padding: 0 22px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-color: rgba(177, 138, 86, .46) !important;
    background: rgba(255, 255, 255, .78) !important;
    color: var(--flori-wine-dark) !important;
    font-size: 13px !important;
    box-shadow: none !important;
    position: static !important;
    transform: none !important;
}

@media (max-width: 980px) {
    .storefront-page .collections-section .product-discovery-actions + .collection-grid.catalog-product-grid {
        grid-template-columns: repeat(2, minmax(250px, 1fr)) !important;
    }
}

@media (max-width: 640px) {
    .storefront-page .collections-section .product-discovery-actions + .collection-grid.catalog-product-grid {
        grid-template-columns: 1fr !important;
    }

    .storefront-page .collections-section .product-discovery-actions + .collection-grid.catalog-product-grid > .collection-card {
        min-height: 0 !important;
    }

    .storefront-page .collections-section .product-discovery-actions + .collection-grid.catalog-product-grid .collection-art,
    .storefront-page .collections-section .product-discovery-actions + .collection-grid.catalog-product-grid .collection-art-real {
        height: 210px !important;
    }
}

/* ============================================================
   FLORI_CATEGORY_IMAGE_BACKGROUND_BLEND_17B4
   Targeted correction after 17B3.
   Product photos already have white backgrounds, so the inner
   image panel should visually blend into the white product card.
   CSS-only. Category product cards only.
   ============================================================ */

.storefront-page .collections-section .product-discovery-actions + .collection-grid.catalog-product-grid .collection-art,
.storefront-page .collections-section .product-discovery-actions + .collection-grid.catalog-product-grid .collection-art-real {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.storefront-page .collections-section .product-discovery-actions + .collection-grid.catalog-product-grid .collection-real-image {
    mix-blend-mode: normal !important;
}

/* ============================================================
   FLORI_PRODUCT_MODERN_IMAGE_BLEND_18B
   Targeted product-page image repair.
   Scope:
   - .product-modern-section
   - .product-modern-shell
   - .product-modern-media-panel
   - .product-modern-media-frame
   - .product-modern-image
   Purpose:
   - remove pasted-looking inner image box
   - make product image larger
   - blend white product photos into a white panel
   - reduce useless visual emptiness
   CSS-only. No Blade, DB, routes, cart or checkout changes.
   ============================================================ */

.storefront-page .product-modern-section {
    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fbf8f4 42%,
            #ffffff 100%
        ) !important;
}

.storefront-page .product-modern-shell {
    width: min(100%, 1120px) !important;
    max-width: 1120px !important;
    margin-inline: auto !important;
    background: #ffffff !important;
    border: 1px solid rgba(222, 216, 209, .74) !important;
    box-shadow: 0 24px 74px rgba(24, 23, 22, .07) !important;
    overflow: hidden !important;
}

.storefront-page .product-modern-media-panel {
    background: #ffffff !important;
    border-inline-start: 1px solid rgba(222, 216, 209, .62) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
    padding: clamp(28px, 3.6vw, 48px) !important;
    min-height: clamp(460px, 42vw, 590px) !important;
    position: relative !important;
}

.storefront-page .product-modern-media-panel::before,
.storefront-page .product-modern-media-panel::after {
    content: none !important;
    display: none !important;
}

.storefront-page .product-modern-media-frame {
    width: 100% !important;
    min-height: clamp(360px, 32vw, 470px) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    background: #ffffff !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.storefront-page .product-modern-image {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: min(96%, 500px) !important;
    max-height: clamp(360px, 32vw, 500px) !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: auto !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
    mix-blend-mode: multiply !important;
}

.storefront-page .product-modern-media-caption {
    margin-top: clamp(18px, 2vw, 26px) !important;
    color: rgba(24, 23, 22, .56) !important;
}

.storefront-page .product-modern-index {
    color: rgba(24, 23, 22, .38) !important;
}

@media (max-width: 980px) {
    .storefront-page .product-modern-shell {
        grid-template-columns: 1fr !important;
    }

    .storefront-page .product-modern-media-panel {
        border-inline-start: 0 !important;
        border-top: 1px solid rgba(222, 216, 209, .62) !important;
        min-height: 420px !important;
    }

    .storefront-page .product-modern-media-frame {
        min-height: 330px !important;
    }

    .storefront-page .product-modern-image {
        max-height: 360px !important;
    }
}

@media (max-width: 640px) {
    .storefront-page .product-modern-media-panel {
        min-height: 360px !important;
        padding: 26px !important;
    }

    .storefront-page .product-modern-media-frame {
        min-height: 280px !important;
    }

    .storefront-page .product-modern-image {
        max-width: 94% !important;
        max-height: 300px !important;
    }
}

/* ============================================================
   FLORI_PRODUCT_MODERN_HERO_COMPACT_18C
   Targeted correction after 18B.
   Keeps product image blending, but reduces the oversized
   product-page hero height and useless vertical air.
   CSS-only. Product modern page only.
   ============================================================ */

.storefront-page .product-modern-section {
    padding-block: clamp(34px, 4vw, 58px) clamp(52px, 5vw, 78px) !important;
}

.storefront-page .product-modern-container {
    max-width: 1180px !important;
}

.storefront-page .product-modern-breadcrumb {
    margin-bottom: clamp(18px, 2vw, 28px) !important;
}

.storefront-page .product-modern-shell {
    width: min(100%, 1040px) !important;
    max-width: 1040px !important;
    grid-template-columns: minmax(430px, 1.03fr) minmax(330px, .86fr) !important;
    min-height: 0 !important;
    box-shadow: 0 20px 58px rgba(24, 23, 22, .06) !important;
}

.storefront-page .product-modern-info-panel {
    min-height: 0 !important;
    padding: clamp(28px, 3vw, 42px) clamp(32px, 3.4vw, 52px) !important;
}

.storefront-page .product-modern-info-panel h1 {
    max-width: 620px !important;
    margin: 0 !important;
    font-size: clamp(48px, 4.7vw, 78px) !important;
    line-height: .98 !important;
    letter-spacing: -.052em !important;
}

.storefront-page .product-modern-lead {
    max-width: 560px !important;
    margin-top: clamp(10px, 1.2vw, 16px) !important;
    font-size: clamp(14px, 1vw, 16px) !important;
    line-height: 1.8 !important;
}

.storefront-page .product-modern-status-card {
    margin-top: clamp(22px, 2.6vw, 34px) !important;
    padding: clamp(22px, 2.6vw, 34px) !important;
    max-width: 470px !important;
}

.storefront-page .product-modern-status-card h2 {
    font-size: clamp(24px, 2.1vw, 34px) !important;
    line-height: 1.14 !important;
}

.storefront-page .product-modern-price {
    font-size: clamp(36px, 3vw, 50px) !important;
    line-height: 1 !important;
}

.storefront-page .product-modern-media-panel {
    min-height: clamp(380px, 34vw, 480px) !important;
    padding: clamp(24px, 2.8vw, 38px) !important;
}

.storefront-page .product-modern-media-frame {
    min-height: clamp(285px, 27vw, 365px) !important;
}

.storefront-page .product-modern-image {
    max-width: min(92%, 390px) !important;
    max-height: clamp(285px, 27vw, 385px) !important;
}

.storefront-page .product-modern-media-caption {
    margin-top: clamp(12px, 1.4vw, 18px) !important;
    padding-top: clamp(12px, 1.4vw, 18px) !important;
}

@media (max-width: 980px) {
    .storefront-page .product-modern-shell {
        width: min(100%, 680px) !important;
        grid-template-columns: 1fr !important;
    }

    .storefront-page .product-modern-info-panel h1 {
        font-size: clamp(42px, 8vw, 64px) !important;
    }

    .storefront-page .product-modern-media-panel {
        min-height: 350px !important;
    }

    .storefront-page .product-modern-media-frame {
        min-height: 270px !important;
    }

    .storefront-page .product-modern-image {
        max-height: 310px !important;
    }
}

@media (max-width: 640px) {
    .storefront-page .product-modern-section {
        padding-block: 28px 48px !important;
    }

    .storefront-page .product-modern-info-panel {
        padding: 26px !important;
    }

    .storefront-page .product-modern-info-panel h1 {
        font-size: clamp(36px, 11vw, 52px) !important;
        line-height: 1.02 !important;
    }

    .storefront-page .product-modern-status-card {
        padding: 22px !important;
    }

    .storefront-page .product-modern-media-panel {
        min-height: 315px !important;
        padding: 22px !important;
    }

    .storefront-page .product-modern-media-frame {
        min-height: 235px !important;
    }

    .storefront-page .product-modern-image {
        max-height: 255px !important;
    }
}

/* ============================================================
   FLORI_PRODUCT_MODERN_ECOMMERCE_COMPACT_18D
   Strong correction after 18B/18C.
   Converts product-modern hero away from poster behavior and
   into a compact ecommerce product view.
   Scope: product-modern product page only.
   CSS-only. No Blade, DB, routes, cart or checkout changes.
   ============================================================ */

.storefront-page .product-modern-section {
    padding-block: 28px 46px !important;
    background: #ffffff !important;
}

.storefront-page .product-modern-container {
    max-width: 1120px !important;
    padding-inline: 24px !important;
}

.storefront-page .product-modern-breadcrumb {
    margin: 0 0 18px !important;
    font-size: 12px !important;
}

.storefront-page .product-modern-shell {
    width: min(100%, 980px) !important;
    max-width: 980px !important;
    min-height: 0 !important;
    margin-inline: auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 390px) !important;
    align-items: stretch !important;
    background: #ffffff !important;
    border: 1px solid rgba(222, 216, 209, .72) !important;
    box-shadow: 0 16px 42px rgba(24, 23, 22, .045) !important;
    overflow: hidden !important;
}

.storefront-page .product-modern-info-panel {
    min-height: 0 !important;
    padding: 30px 42px 34px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    gap: 14px !important;
}

.storefront-page .product-modern-kicker {
    margin: 0 0 6px !important;
    font-size: 11px !important;
    letter-spacing: .18em !important;
}

.storefront-page .product-modern-info-panel h1 {
    width: 100% !important;
    max-width: 500px !important;
    margin: 0 !important;
    font-size: clamp(38px, 3.05vw, 54px) !important;
    line-height: 1.03 !important;
    letter-spacing: -.04em !important;
    font-weight: 500 !important;
    text-align: right !important;
    text-wrap: balance !important;
}

.storefront-page .product-modern-lead {
    max-width: 500px !important;
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
    color: rgba(24, 23, 22, .66) !important;
}

.storefront-page .product-modern-status-card {
    width: 100% !important;
    max-width: 390px !important;
    margin-top: 12px !important;
    padding: 22px 24px !important;
    border: 1px solid rgba(222, 216, 209, .76) !important;
    box-shadow: 0 10px 28px rgba(24, 23, 22, .04) !important;
    background: rgba(255, 255, 255, .96) !important;
}

.storefront-page .product-modern-status-card h2 {
    margin: 0 0 8px !important;
    font-size: clamp(22px, 1.65vw, 28px) !important;
    line-height: 1.14 !important;
    font-weight: 500 !important;
}

.storefront-page .product-modern-status-card p {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
}

.storefront-page .product-modern-price-row {
    margin-top: 14px !important;
    padding-top: 14px !important;
}

.storefront-page .product-modern-price {
    font-size: clamp(34px, 2.35vw, 42px) !important;
    line-height: 1 !important;
    letter-spacing: -.035em !important;
}

.storefront-page .product-modern-form {
    margin-top: 14px !important;
    gap: 10px !important;
}

.storefront-page .product-modern-form label,
.storefront-page .product-modern-form .product-modern-quantity-label {
    font-size: 11px !important;
}

.storefront-page .product-modern-form input[type="number"],
.storefront-page .product-modern-form input[name="quantity"] {
    height: 48px !important;
    min-height: 48px !important;
}

.storefront-page .product-modern-form .button,
.storefront-page .product-modern-form button {
    min-height: 48px !important;
    height: 48px !important;
    padding-inline: 22px !important;
    font-size: 13px !important;
}

.storefront-page .product-modern-actions {
    gap: 10px !important;
    margin-top: 10px !important;
}

.storefront-page .product-modern-actions .button,
.storefront-page .product-modern-actions a {
    min-height: 42px !important;
    height: 42px !important;
    padding-inline: 18px !important;
    font-size: 12px !important;
}

.storefront-page .product-modern-media-panel {
    min-height: 0 !important;
    padding: 26px 30px !important;
    background: #ffffff !important;
    border-inline-start: 1px solid rgba(222, 216, 209, .58) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: stretch !important;
}

.storefront-page .product-modern-media-frame {
    width: 100% !important;
    min-height: 270px !important;
    height: 300px !important;
    max-height: 320px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    background: #ffffff !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.storefront-page .product-modern-image {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 86% !important;
    max-height: 292px !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: auto !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
    mix-blend-mode: multiply !important;
}

.storefront-page .product-modern-index {
    top: 28px !important;
    inset-inline-end: 30px !important;
    color: rgba(24, 23, 22, .34) !important;
    font-size: 11px !important;
}

.storefront-page .product-modern-media-caption {
    margin-top: 16px !important;
    padding-top: 14px !important;
    font-size: 11px !important;
}

@media (max-width: 980px) {
    .storefront-page .product-modern-container {
        max-width: 740px !important;
    }

    .storefront-page .product-modern-shell {
        width: min(100%, 680px) !important;
        grid-template-columns: 1fr !important;
    }

    .storefront-page .product-modern-info-panel {
        padding: 28px !important;
    }

    .storefront-page .product-modern-info-panel h1 {
        max-width: 100% !important;
        font-size: clamp(34px, 7vw, 48px) !important;
    }

    .storefront-page .product-modern-status-card {
        max-width: 100% !important;
    }

    .storefront-page .product-modern-media-panel {
        border-inline-start: 0 !important;
        border-top: 1px solid rgba(222, 216, 209, .58) !important;
        padding: 24px !important;
    }

    .storefront-page .product-modern-media-frame {
        height: 260px !important;
        min-height: 240px !important;
    }

    .storefront-page .product-modern-image {
        max-height: 248px !important;
    }
}

@media (max-width: 640px) {
    .storefront-page .product-modern-section {
        padding-block: 22px 38px !important;
    }

    .storefront-page .product-modern-container {
        padding-inline: 16px !important;
    }

    .storefront-page .product-modern-info-panel {
        padding: 22px !important;
        gap: 12px !important;
    }

    .storefront-page .product-modern-info-panel h1 {
        font-size: clamp(30px, 9.2vw, 42px) !important;
        line-height: 1.04 !important;
    }

    .storefront-page .product-modern-status-card {
        padding: 20px !important;
    }

    .storefront-page .product-modern-price {
        font-size: 34px !important;
    }

    .storefront-page .product-modern-media-frame {
        height: 230px !important;
        min-height: 220px !important;
    }

    .storefront-page .product-modern-image {
        max-height: 218px !important;
    }
}

/* ============================================================
   FLORI_PRODUCT_MODERN_PREMIUM_ECOMMERCE_18E
   Strong product page redesign after 18D.
   Goal:
   - stop poster-style product hero behavior
   - create an organized premium ecommerce buying section
   - keep product image blended on white
   - keep title, price and add-to-cart visible quickly
   Scope: product-modern product pages only.
   CSS-only. No Blade, DB, routes, cart or checkout changes.
   ============================================================ */

.storefront-page .product-modern-section {
    padding-block: 26px 42px !important;
    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fbfaf8 100%
        ) !important;
}

.storefront-page .product-modern-container {
    width: min(100%, 1120px) !important;
    max-width: 1120px !important;
    padding-inline: 24px !important;
    margin-inline: auto !important;
}

.storefront-page .product-modern-breadcrumb {
    max-width: 1040px !important;
    margin: 0 auto 16px !important;
    padding: 0 !important;
    color: rgba(24, 23, 22, .58) !important;
    font-size: 12px !important;
}

.storefront-page .product-modern-shell {
    width: min(100%, 1040px) !important;
    max-width: 1040px !important;
    min-height: 0 !important;
    margin-inline: auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 46%) minmax(0, 54%) !important;
    align-items: stretch !important;
    direction: ltr !important;
    background:
        linear-gradient(
            90deg,
            #ffffff 0%,
            #ffffff 50%,
            #fffdfb 100%
        ) !important;
    border: 1px solid rgba(222, 216, 209, .74) !important;
    border-radius: 0 !important;
    box-shadow: 0 18px 52px rgba(24, 23, 22, .055) !important;
    overflow: hidden !important;
}

.storefront-page .product-modern-media-panel {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-height: 0 !important;
    padding: 34px 34px 30px !important;
    background:
        radial-gradient(
            circle at 50% 42%,
            rgba(248, 246, 243, .56),
            #ffffff 58%
        ) !important;
    border-inline-start: 0 !important;
    border-inline-end: 1px solid rgba(222, 216, 209, .58) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
    direction: rtl !important;
}

.storefront-page .product-modern-info-panel {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-height: 0 !important;
    padding: 34px 42px 34px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 12px !important;
    direction: rtl !important;
    text-align: right !important;
    background: #ffffff !important;
}

.storefront-page .product-modern-kicker {
    margin: 0 !important;
    color: var(--flori-wine) !important;
    font-size: 11px !important;
    line-height: 1 !important;
    letter-spacing: .18em !important;
    text-align: right !important;
}

.storefront-page .product-modern-info-panel h1 {
    width: 100% !important;
    max-width: 520px !important;
    margin: 0 !important;
    color: var(--flori-ink) !important;
    font-size: clamp(34px, 2.65vw, 46px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
    font-weight: 500 !important;
    text-align: right !important;
    text-wrap: balance !important;
}

.storefront-page .product-modern-lead {
    width: 100% !important;
    max-width: 520px !important;
    margin: 2px 0 0 !important;
    color: rgba(24, 23, 22, .66) !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
    text-align: right !important;
}

.storefront-page .product-modern-status-card {
    width: 100% !important;
    max-width: 460px !important;
    margin-top: 14px !important;
    padding: 22px 24px !important;
    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, .98),
            rgba(250, 248, 245, .9)
        ) !important;
    border: 1px solid rgba(222, 216, 209, .78) !important;
    box-shadow: 0 12px 34px rgba(24, 23, 22, .045) !important;
}

.storefront-page .product-modern-status-card .product-modern-payment-label,
.storefront-page .product-modern-status-card > span:first-child {
    display: block !important;
    margin: 0 0 8px !important;
    color: rgba(111, 39, 55, .78) !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    letter-spacing: .14em !important;
    text-align: right !important;
}

.storefront-page .product-modern-status-card h2 {
    margin: 0 0 8px !important;
    color: var(--flori-ink) !important;
    font-size: clamp(22px, 1.55vw, 28px) !important;
    line-height: 1.16 !important;
    font-weight: 500 !important;
    text-align: right !important;
}

.storefront-page .product-modern-status-card p {
    margin: 0 !important;
    color: rgba(24, 23, 22, .62) !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
    text-align: right !important;
}

.storefront-page .product-modern-price-row {
    margin-top: 14px !important;
    padding-top: 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    border-top: 1px solid rgba(222, 216, 209, .72) !important;
}

.storefront-page .product-modern-price {
    color: var(--flori-ink) !important;
    font-size: clamp(34px, 2.25vw, 42px) !important;
    line-height: 1 !important;
    letter-spacing: -.035em !important;
    font-weight: 600 !important;
}

.storefront-page .product-modern-stock,
.storefront-page .product-modern-stock-badge {
    white-space: nowrap !important;
    font-size: 11px !important;
}

.storefront-page .product-modern-form {
    margin-top: 14px !important;
    display: grid !important;
    grid-template-columns: 104px 1fr !important;
    gap: 10px !important;
    align-items: end !important;
}

.storefront-page .product-modern-form label,
.storefront-page .product-modern-form .product-modern-quantity-label {
    margin: 0 0 5px !important;
    color: rgba(24, 23, 22, .56) !important;
    font-size: 11px !important;
    line-height: 1.1 !important;
    text-align: center !important;
}

.storefront-page .product-modern-form input[type="number"],
.storefront-page .product-modern-form input[name="quantity"] {
    width: 100% !important;
    height: 48px !important;
    min-height: 48px !important;
    border: 1px solid rgba(222, 216, 209, .84) !important;
    background: #ffffff !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    text-align: center !important;
}

.storefront-page .product-modern-form .button,
.storefront-page .product-modern-form button {
    width: 100% !important;
    min-height: 48px !important;
    height: 48px !important;
    padding: 0 22px !important;
    border-radius: 999px !important;
    background: var(--flori-wine) !important;
    border-color: var(--flori-wine) !important;
    color: var(--flori-white) !important;
    font-size: 13px !important;
    line-height: 1.05 !important;
    box-shadow: 0 12px 26px rgba(111, 39, 55, .18) !important;
}

.storefront-page .product-modern-form [data-cart-page-status],
.storefront-page .product-modern-form .cart-inline-status,
.storefront-page .product-modern-form .product-modern-cart-status {
    grid-column: 1 / -1 !important;
    margin-top: 0 !important;
}

.storefront-page .product-modern-actions {
    margin-top: 10px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.storefront-page .product-modern-actions .button,
.storefront-page .product-modern-actions a {
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 16px !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    border: 1px solid rgba(222, 216, 209, .78) !important;
    color: var(--flori-ink) !important;
    font-size: 12px !important;
    box-shadow: none !important;
}

.storefront-page .product-modern-media-frame {
    width: 100% !important;
    min-height: 310px !important;
    height: 330px !important;
    max-height: 350px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.storefront-page .product-modern-image {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 92% !important;
    max-height: 322px !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: auto !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    filter: drop-shadow(0 16px 20px rgba(24, 23, 22, .10)) !important;
    transform: none !important;
    mix-blend-mode: multiply !important;
}

.storefront-page .product-modern-index {
    top: 28px !important;
    inset-inline-end: 30px !important;
    color: rgba(24, 23, 22, .34) !important;
    font-size: 11px !important;
}

.storefront-page .product-modern-media-caption {
    margin-top: 16px !important;
    padding-top: 14px !important;
    display: flex !important;
    justify-content: space-between !important;
    gap: 18px !important;
    color: rgba(24, 23, 22, .74) !important;
    font-size: 11px !important;
    line-height: 1.1 !important;
    border-top: 1px solid rgba(222, 216, 209, .74) !important;
}

@media (max-width: 980px) {
    .storefront-page .product-modern-container {
        max-width: 740px !important;
    }

    .storefront-page .product-modern-shell {
        width: min(100%, 680px) !important;
        grid-template-columns: 1fr !important;
    }

    .storefront-page .product-modern-info-panel {
        grid-column: 1 !important;
        grid-row: 1 !important;
        padding: 28px !important;
    }

    .storefront-page .product-modern-media-panel {
        grid-column: 1 !important;
        grid-row: 2 !important;
        border-inline-end: 0 !important;
        border-top: 1px solid rgba(222, 216, 209, .58) !important;
        padding: 26px !important;
    }

    .storefront-page .product-modern-info-panel h1 {
        max-width: 100% !important;
        font-size: clamp(32px, 6.2vw, 44px) !important;
    }

    .storefront-page .product-modern-status-card {
        max-width: 100% !important;
    }

    .storefront-page .product-modern-media-frame {
        height: 280px !important;
        min-height: 260px !important;
    }

    .storefront-page .product-modern-image {
        max-height: 270px !important;
    }
}

@media (max-width: 640px) {
    .storefront-page .product-modern-section {
        padding-block: 20px 34px !important;
    }

    .storefront-page .product-modern-container {
        padding-inline: 16px !important;
    }

    .storefront-page .product-modern-info-panel {
        padding: 22px !important;
        gap: 11px !important;
    }

    .storefront-page .product-modern-info-panel h1 {
        font-size: clamp(28px, 8.8vw, 38px) !important;
        line-height: 1.07 !important;
    }

    .storefront-page .product-modern-status-card {
        padding: 20px !important;
    }

    .storefront-page .product-modern-price-row {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    .storefront-page .product-modern-price {
        font-size: 34px !important;
    }

    .storefront-page .product-modern-form {
        grid-template-columns: 96px 1fr !important;
    }

    .storefront-page .product-modern-media-frame {
        height: 235px !important;
        min-height: 220px !important;
    }

    .storefront-page .product-modern-image {
        max-height: 228px !important;
    }
}

/* ============================================================
   FLORI_PRODUCT_DETAILS_TRUST_POLISH_18F3
   Product page lower-section polish after 18E.
   Scope:
   - .product-modern-description-card
   - .product-modern-trust-grid
   Goal:
   - make product details less oversized
   - improve RTL reading alignment
   - make trust cards compact and premium
   CSS-only. No Blade, DB, routes, cart or checkout changes.
   ============================================================ */

.storefront-page .product-modern-description-card {
    width: min(100%, 1040px) !important;
    max-width: 1040px !important;
    margin: 28px auto 0 !important;
    padding: 34px 42px !important;
    display: grid !important;
    grid-template-columns: minmax(260px, .38fr) minmax(0, .62fr) !important;
    align-items: center !important;
    gap: 34px !important;
    direction: rtl !important;
    text-align: right !important;
    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, .98),
            rgba(250, 248, 245, .92)
        ) !important;
    border: 1px solid rgba(222, 216, 209, .74) !important;
    box-shadow: 0 14px 38px rgba(24, 23, 22, .045) !important;
}

.storefront-page .product-modern-description-card .product-modern-index {
    top: 28px !important;
    inset-inline-end: 28px !important;
    color: rgba(24, 23, 22, .34) !important;
    font-size: 11px !important;
}

.storefront-page .product-modern-description-card > div {
    display: contents !important;
}

.storefront-page .product-modern-description-card .product-modern-kicker {
    grid-column: 1 !important;
    margin: 0 0 8px !important;
    color: var(--flori-wine) !important;
    font-size: 11px !important;
    line-height: 1 !important;
    letter-spacing: .16em !important;
    text-align: right !important;
}

.storefront-page .product-modern-description-card h2 {
    grid-column: 1 !important;
    margin: 18px 0 0 !important;
    color: var(--flori-ink) !important;
    font-size: clamp(34px, 3vw, 48px) !important;
    line-height: 1.05 !important;
    letter-spacing: -.04em !important;
    font-weight: 500 !important;
    text-align: right !important;
}

.storefront-page .product-modern-description-card p:not(.product-modern-kicker) {
    grid-column: 2 !important;
    margin: 0 !important;
    max-width: 620px !important;
    color: rgba(24, 23, 22, .68) !important;
    font-size: 15px !important;
    line-height: 1.9 !important;
    text-align: right !important;
}

.storefront-page .product-modern-trust-grid {
    width: min(100%, 1040px) !important;
    max-width: 1040px !important;
    margin: 28px auto 0 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

.storefront-page .product-modern-trust-grid article {
    min-height: 0 !important;
    padding: 26px 26px 24px !important;
    background: rgba(255, 255, 255, .96) !important;
    border: 1px solid rgba(222, 216, 209, .74) !important;
    box-shadow: 0 10px 28px rgba(24, 23, 22, .035) !important;
    text-align: right !important;
}

.storefront-page .product-modern-trust-grid article span {
    display: block !important;
    margin: 0 0 20px !important;
    color: rgba(177, 138, 86, .82) !important;
    font-size: 12px !important;
    line-height: 1 !important;
    letter-spacing: .08em !important;
}

.storefront-page .product-modern-trust-grid article h3 {
    margin: 0 0 10px !important;
    color: var(--flori-ink) !important;
    font-size: clamp(20px, 1.45vw, 24px) !important;
    line-height: 1.18 !important;
    font-weight: 500 !important;
    letter-spacing: -.02em !important;
}

.storefront-page .product-modern-trust-grid article p {
    margin: 0 !important;
    color: rgba(24, 23, 22, .62) !important;
    font-size: 13px !important;
    line-height: 1.65 !important;
}

@media (max-width: 980px) {
    .storefront-page .product-modern-description-card {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        padding: 30px !important;
    }

    .storefront-page .product-modern-description-card .product-modern-kicker,
    .storefront-page .product-modern-description-card h2,
    .storefront-page .product-modern-description-card p:not(.product-modern-kicker) {
        grid-column: 1 !important;
    }

    .storefront-page .product-modern-trust-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }
}

@media (max-width: 640px) {
    .storefront-page .product-modern-description-card {
        margin-top: 22px !important;
        padding: 24px !important;
    }

    .storefront-page .product-modern-description-card h2 {
        font-size: clamp(30px, 8vw, 38px) !important;
    }

    .storefront-page .product-modern-description-card p:not(.product-modern-kicker) {
        font-size: 14px !important;
        line-height: 1.8 !important;
    }

    .storefront-page .product-modern-trust-grid {
        margin-top: 18px !important;
    }

    .storefront-page .product-modern-trust-grid article {
        padding: 22px !important;
    }
}

/* ============================================================
   FLORI_LEGAL_POLICY_LAYOUT_REPAIR_19B3
   Legal/policy page layout repair after 18F3.
   Scope:
   - direct legal policy sections: main > .collections-section.legal-page-section
   - direct business details block: main > .legal-card[aria-labelledby="business-details-title"]
   Goal:
   - remove huge disconnected empty space
   - center business details in a real card/container
   - preserve shop, product, cart, checkout and accessibility page layouts
   CSS-only. No Blade, DB, routes, cart or checkout changes.
   ============================================================ */

.storefront-page main > .collections-section.legal-page-section {
    padding-block: clamp(44px, 5vw, 72px) 34px !important;
    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fbfaf8 100%
        ) !important;
}

.storefront-page main > .collections-section.legal-page-section .store-container {
    width: min(100% - 40px, 1080px) !important;
    max-width: 1080px !important;
    margin-inline: auto !important;
}

.storefront-page main > .collections-section.legal-page-section .section-heading {
    max-width: 900px !important;
    margin: 0 auto clamp(24px, 3vw, 34px) !important;
    text-align: center !important;
    justify-items: center !important;
    gap: 12px !important;
}

.storefront-page main > .collections-section.legal-page-section .section-heading h1,
.storefront-page main > .collections-section.legal-page-section .section-heading h2 {
    margin: 8px 0 0 !important;
    color: var(--flori-ink) !important;
    font-size: clamp(42px, 4.7vw, 68px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.045em !important;
    font-weight: 500 !important;
}

.storefront-page main > .collections-section.legal-page-section .section-heading > p {
    max-width: 640px !important;
    margin: 0 !important;
    color: rgba(24, 23, 22, .62) !important;
    font-size: 15px !important;
    line-height: 1.8 !important;
}

.storefront-page main > .collections-section.legal-page-section .legal-card-grid {
    width: 100% !important;
    max-width: 1040px !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

.storefront-page main > .collections-section.legal-page-section .legal-card-grid > .legal-card {
    min-height: 190px !important;
    padding: 28px 28px 26px !important;
    justify-content: flex-end !important;
    border: 1px solid rgba(222, 216, 209, .72) !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 12px 34px rgba(24, 23, 22, .035) !important;
}

.storefront-page main > .collections-section.legal-page-section .legal-card .collection-content {
    margin-top: 38px !important;
    gap: 8px !important;
}

.storefront-page main > .collections-section.legal-page-section .legal-card .collection-content h3 {
    font-size: clamp(20px, 1.45vw, 24px) !important;
    line-height: 1.2 !important;
}

.storefront-page main > .collections-section.legal-page-section .legal-card .collection-content p {
    font-size: 13px !important;
    line-height: 1.7 !important;
}

.storefront-page main > .legal-card[aria-labelledby="business-details-title"] {
    width: min(100% - 40px, 1040px) !important;
    max-width: 1040px !important;
    min-height: 0 !important;
    margin: 0 auto clamp(44px, 5vw, 72px) !important;
    padding: 28px 34px !important;
    display: grid !important;
    grid-template-columns: minmax(180px, .32fr) minmax(0, .68fr) !important;
    align-items: start !important;
    gap: 24px !important;
    direction: rtl !important;
    text-align: right !important;
    border: 1px solid rgba(222, 216, 209, .78) !important;
    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, .98),
            rgba(250, 248, 245, .94)
        ) !important;
    box-shadow: 0 14px 38px rgba(24, 23, 22, .04) !important;
}

.storefront-page main > .legal-card[aria-labelledby="business-details-title"]:hover {
    transform: none !important;
    border-color: rgba(222, 216, 209, .78) !important;
    box-shadow: 0 14px 38px rgba(24, 23, 22, .04) !important;
}

.storefront-page main > .legal-card[aria-labelledby="business-details-title"] h2 {
    margin: 0 !important;
    color: var(--flori-ink) !important;
    font-size: clamp(24px, 2vw, 34px) !important;
    line-height: 1.12 !important;
    font-weight: 500 !important;
    letter-spacing: -.025em !important;
}

.storefront-page main > .legal-card[aria-labelledby="business-details-title"] ul {
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px 24px !important;
    list-style: none !important;
}

.storefront-page main > .legal-card[aria-labelledby="business-details-title"] li {
    margin: 0 !important;
    color: rgba(24, 23, 22, .68) !important;
    font-size: 13px !important;
    line-height: 1.75 !important;
}

.storefront-page main > .legal-card[aria-labelledby="business-details-title"] strong {
    color: var(--flori-ink) !important;
    font-weight: 700 !important;
}

.storefront-page main > .legal-card[aria-labelledby="business-details-title"] a {
    color: var(--flori-wine) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

@media (max-width: 900px) {
    .storefront-page main > .collections-section.legal-page-section .legal-card-grid {
        grid-template-columns: 1fr !important;
        max-width: 560px !important;
    }

    .storefront-page main > .legal-card[aria-labelledby="business-details-title"] {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    .storefront-page main > .legal-card[aria-labelledby="business-details-title"] ul {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 640px) {
    .storefront-page main > .collections-section.legal-page-section {
        padding-block: 36px 24px !important;
    }

    .storefront-page main > .collections-section.legal-page-section .store-container,
    .storefront-page main > .legal-card[aria-labelledby="business-details-title"] {
        width: min(100% - 28px, 430px) !important;
    }

    .storefront-page main > .collections-section.legal-page-section .section-heading h1,
    .storefront-page main > .collections-section.legal-page-section .section-heading h2 {
        font-size: clamp(34px, 11vw, 48px) !important;
    }

    .storefront-page main > .collections-section.legal-page-section .legal-card-grid > .legal-card,
    .storefront-page main > .legal-card[aria-labelledby="business-details-title"] {
        padding: 24px !important;
    }
}

/* ============================================================
   FLORI_CHECKOUT_COMPACT_VISUAL_POLISH_20B
   Checkout visual compact polish after 19B3.
   Scope:
   - .checkout-modern-section
   - .checkout-modern-hero
   - .checkout-modern-grid
   - .checkout-form-panel
   - .checkout-summary-panel
   - .checkout-choice-section
   - .checkout-choice-group
   - .checkout-field
   - .checkout-terms
   Goal:
   - reduce oversized checkout page height
   - make the two-column layout use the screen better
   - make steps, inputs and summary tighter
   - preserve all checkout/payment/cart logic
   CSS-only. No Blade, JS, routes, DB, order submit or payment changes.
   ============================================================ */

.storefront-page .checkout-modern-section {
    width: 100% !important;
    min-height: auto !important;
    padding: clamp(42px, 5vw, 72px) 0 clamp(52px, 6vw, 82px) !important;
    background:
        radial-gradient(circle at 12% 18%, rgba(111, 39, 55, .055), transparent 30%),
        radial-gradient(circle at 88% 10%, rgba(177, 138, 86, .07), transparent 28%),
        linear-gradient(180deg, #ffffff 0%, #fbfaf8 100%) !important;
}

.storefront-page .checkout-modern-hero {
    width: min(100% - 40px, 980px) !important;
    max-width: 980px !important;
    margin: 0 auto clamp(28px, 4vw, 44px) !important;
    padding: 0 !important;
    text-align: center !important;
}

.storefront-page .checkout-modern-hero span {
    margin-bottom: 14px !important;
    color: var(--flori-wine) !important;
    font-size: 12px !important;
    line-height: 1 !important;
    letter-spacing: .18em !important;
}

.storefront-page .checkout-modern-hero h1 {
    margin: 0 !important;
    font-size: clamp(48px, 6vw, 82px) !important;
    line-height: .98 !important;
    letter-spacing: -.055em !important;
    font-weight: 500 !important;
}

.storefront-page .checkout-modern-hero p {
    max-width: 720px !important;
    margin: 18px auto 0 !important;
    color: rgba(24, 23, 22, .66) !important;
    font-size: 15px !important;
    line-height: 1.8 !important;
}

.storefront-page .checkout-modern-grid {
    width: min(100% - 48px, 1120px) !important;
    max-width: 1120px !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: minmax(500px, 1.12fr) minmax(330px, .88fr) !important;
    gap: 24px !important;
    align-items: start !important;
    direction: rtl !important;
}

.storefront-page .checkout-form-panel,
.storefront-page .checkout-summary-panel {
    min-height: 0 !important;
    border: 1px solid rgba(222, 216, 209, .82) !important;
    background: rgba(255, 255, 255, .97) !important;
    box-shadow: 0 18px 55px rgba(24, 23, 22, .055) !important;
}

.storefront-page .checkout-form-panel {
    padding: 34px 38px !important;
}

.storefront-page .checkout-summary-panel {
    padding: 30px 34px !important;
    position: sticky !important;
    top: 112px !important;
}

.storefront-page .checkout-panel-heading {
    margin: 0 0 24px !important;
    padding-bottom: 18px !important;
    border-bottom: 1px solid rgba(222, 216, 209, .74) !important;
}

.storefront-page .checkout-panel-heading span {
    margin: 0 0 10px !important;
    color: var(--flori-wine) !important;
    font-size: 11px !important;
    line-height: 1 !important;
    letter-spacing: .16em !important;
}

.storefront-page .checkout-panel-heading h2 {
    margin: 0 !important;
    color: var(--flori-ink) !important;
    font-size: clamp(34px, 3.8vw, 54px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.045em !important;
    font-weight: 500 !important;
}

.storefront-page .checkout-field {
    gap: 7px !important;
    margin: 0 0 16px !important;
}

.storefront-page .checkout-field span,
.storefront-page .checkout-field label,
.storefront-page .checkout-choice-heading strong,
.storefront-page .checkout-terms span {
    text-align: right !important;
}

.storefront-page .checkout-field > span {
    color: rgba(24, 23, 22, .7) !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
}

.storefront-page .checkout-field input,
.storefront-page .checkout-field textarea,
.storefront-page .checkout-field select {
    min-height: 44px !important;
    padding: 10px 13px !important;
    border: 1px solid rgba(222, 216, 209, .92) !important;
    background: rgba(255, 255, 255, .98) !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

.storefront-page .checkout-field textarea {
    min-height: 92px !important;
    resize: vertical !important;
}

.storefront-page .checkout-choice-section {
    margin: 18px 0 !important;
    padding: 18px 18px 16px !important;
    border: 1px solid rgba(127, 43, 70, .15) !important;
    background: rgba(251, 247, 242, .66) !important;
}

.storefront-page .checkout-choice-heading {
    margin-bottom: 13px !important;
    padding-bottom: 11px !important;
    border-bottom: 1px solid rgba(127, 43, 70, .12) !important;
}

.storefront-page .checkout-choice-heading span {
    margin-bottom: 5px !important;
    color: var(--flori-wine) !important;
    font-size: 11px !important;
    line-height: 1 !important;
    letter-spacing: .08em !important;
}

.storefront-page .checkout-choice-heading strong {
    color: var(--flori-ink) !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
}

.storefront-page .checkout-choice-heading small {
    margin-top: 5px !important;
    color: rgba(24, 23, 22, .58) !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
}

.storefront-page .checkout-choice-group {
    display: grid !important;
    gap: 10px !important;
    margin: 0 !important;
}

.storefront-page .checkout-choice-group label {
    min-height: 0 !important;
    padding: 13px 14px !important;
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    gap: 10px !important;
    align-items: start !important;
    border: 1px solid rgba(222, 216, 209, .76) !important;
    background: rgba(255, 255, 255, .72) !important;
}

.storefront-page .checkout-choice-group input {
    margin-top: 4px !important;
}

.storefront-page .checkout-choice-group strong {
    color: var(--flori-ink) !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
}

.storefront-page .checkout-choice-group small {
    margin-top: 4px !important;
    color: rgba(24, 23, 22, .58) !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
}

.storefront-page .checkout-summary-items {
    display: grid !important;
    gap: 14px !important;
    margin: 0 0 18px !important;
}

.storefront-page .checkout-summary-item {
    display: grid !important;
    grid-template-columns: 68px minmax(0, 1fr) auto !important;
    gap: 14px !important;
    align-items: center !important;
    padding: 0 0 16px !important;
    border-bottom: 1px solid rgba(222, 216, 209, .68) !important;
}

.storefront-page .checkout-summary-media {
    width: 68px !important;
    height: 68px !important;
    border: 1px solid rgba(222, 216, 209, .72) !important;
    background: rgba(255, 255, 255, .88) !important;
}

.storefront-page .checkout-summary-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    padding: 8px !important;
}

.storefront-page .checkout-summary-item strong {
    font-size: 13px !important;
    line-height: 1.35 !important;
}

.storefront-page .checkout-summary-item span,
.storefront-page .checkout-summary-item b {
    font-size: 12px !important;
    line-height: 1.35 !important;
}

.storefront-page .checkout-total-card {
    margin: 0 0 18px !important;
    padding: 18px !important;
    display: grid !important;
    gap: 10px !important;
    background: rgba(251, 247, 242, .7) !important;
    border: 1px solid rgba(222, 216, 209, .74) !important;
}

.storefront-page .checkout-total-card > div {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    padding: 0 !important;
}

.storefront-page .checkout-grand-total {
    padding-top: 12px !important;
    border-top: 1px solid rgba(222, 216, 209, .76) !important;
}

.storefront-page .checkout-grand-total strong {
    color: var(--flori-wine) !important;
    font-size: 22px !important;
}

.storefront-page .checkout-summary-panel > p {
    margin: 0 0 18px !important;
    color: rgba(24, 23, 22, .62) !important;
    font-size: 13px !important;
    line-height: 1.7 !important;
}

.storefront-page .checkout-terms {
    margin: 18px 0 16px !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    color: rgba(24, 23, 22, .68) !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
}

.storefront-page .checkout-form-panel > .button.button-primary,
.storefront-page .checkout-form-panel button[type="submit"] {
    width: 100% !important;
    min-height: 50px !important;
    margin-top: 8px !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    box-shadow: 0 16px 34px rgba(111, 39, 55, .18) !important;
}

@media (max-width: 1080px) {
    .storefront-page .checkout-modern-grid {
        width: min(100% - 36px, 760px) !important;
        grid-template-columns: 1fr !important;
    }

    .storefront-page .checkout-summary-panel {
        position: static !important;
        order: 2 !important;
    }

    .storefront-page .checkout-form-panel {
        order: 1 !important;
    }
}

@media (max-width: 640px) {
    .storefront-page .checkout-modern-section {
        padding: 34px 0 54px !important;
    }

    .storefront-page .checkout-modern-hero,
    .storefront-page .checkout-modern-grid {
        width: min(100% - 28px, 430px) !important;
    }

    .storefront-page .checkout-modern-hero h1 {
        font-size: clamp(40px, 13vw, 58px) !important;
    }

    .storefront-page .checkout-form-panel,
    .storefront-page .checkout-summary-panel {
        padding: 24px !important;
    }

    .storefront-page .checkout-panel-heading h2 {
        font-size: clamp(30px, 10vw, 42px) !important;
    }

    .storefront-page .checkout-summary-item {
        grid-template-columns: 58px minmax(0, 1fr) !important;
    }

    .storefront-page .checkout-summary-item b {
        grid-column: 2 !important;
    }

    .storefront-page .checkout-summary-media {
        width: 58px !important;
        height: 58px !important;
    }
}


/* ================================================================================================
   FLORI_RETAIL_V2_FOUNDATION_HOME_R2
   Candidate only.

   Cascade policy:
   - Every visual override is scoped beneath .flori-retail-v2-home.
   - !important is used only where needed to supersede existing historical Home repair blocks.
   - No Shop, Product Detail, Cart, Checkout, Professional storefront, Header, Footer, or global
     typography selector is changed.
   - The existing burgundy closing campaign structure is intentionally preserved.
   ================================================================================================ */

.storefront-page .flori-retail-v2-home {
    --flori-v2-surface: #fffefc;
    --flori-v2-surface-warm: #fbf8f4;
    --flori-v2-charcoal: #1b1917;
    --flori-v2-charcoal-soft: #24211f;
    --flori-v2-wine-deep: #4b1925;
    --flori-v2-success: #2f7d5f;
    --flori-v2-radius-control: 14px;
    --flori-v2-radius-card: 22px;
    --flori-v2-radius-panel: 28px;
    --flori-v2-shadow-soft: 0 24px 60px rgba(24, 23, 22, .08);
    --flori-v2-shadow-card: 0 14px 38px rgba(24, 23, 22, .065);
    --flori-v2-ease: cubic-bezier(.2, .75, .25, 1);
    overflow: clip;
    background: var(--flori-off-white);
    color: var(--flori-ink);
}

/* HOME BUTTON RHYTHM -------------------------------------------------------------------------- */

.storefront-page .flori-retail-v2-home .button {
    min-height: 48px !important;
    padding: 0 22px !important;
    border-radius: var(--flori-v2-radius-control) !important;
    transition:
        transform 180ms var(--flori-v2-ease),
        background-color 180ms var(--flori-v2-ease),
        border-color 180ms var(--flori-v2-ease),
        color 180ms var(--flori-v2-ease),
        box-shadow 180ms var(--flori-v2-ease) !important;
}

/* HERO ----------------------------------------------------------------------------------------- */

.storefront-page .flori-retail-v2-home .hero-section {
    position: relative !important;
    padding-block: clamp(58px, 7vw, 96px) !important;
    overflow: hidden !important;
    background:
        radial-gradient(
            circle at 14% 12%,
            rgba(214, 193, 159, .24),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            #fbf8f4 0%,
            #f8f6f3 56%,
            #eee9e3 100%
        ) !important;
    border-bottom: 1px solid rgba(177, 138, 86, .18) !important;
}

.storefront-page .flori-retail-v2-home .hero-grid {
    grid-template-columns: minmax(0, .90fr) minmax(0, 1.10fr) !important;
    gap: clamp(42px, 6vw, 86px) !important;
    align-items: center !important;
}

.storefront-page .flori-retail-v2-home .hero-copy {
    max-width: 650px !important;
}

.storefront-page .flori-retail-v2-home .hero-copy .eyebrow {
    margin-bottom: 14px !important;
    color: var(--flori-gold) !important;
}

.storefront-page .flori-retail-v2-home .hero-copy h1 {
    max-width: 12ch !important;
    margin: 0 0 22px !important;
    color: var(--flori-ink) !important;
    font-size: clamp(46px, 5.3vw, 78px) !important;
    font-weight: 500 !important;
    letter-spacing: -.045em !important;
    line-height: 1.01 !important;
    text-wrap: balance !important;
}

html[lang="ar"] .storefront-page .flori-retail-v2-home .hero-copy h1,
html[lang="he"] .storefront-page .flori-retail-v2-home .hero-copy h1 {
    letter-spacing: -.025em !important;
    line-height: 1.10 !important;
}

.storefront-page .flori-retail-v2-home .hero-description {
    max-width: 58ch !important;
    margin-bottom: 28px !important;
    color: var(--flori-muted) !important;
    font-size: clamp(16px, 1.3vw, 18px) !important;
    line-height: 1.82 !important;
}

.storefront-page .flori-retail-v2-home .hero-actions {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

/* Shop becomes the single dominant action. */
.storefront-page .flori-retail-v2-home .hero-actions .product-discovery-shop-cta {
    background: var(--flori-wine) !important;
    border-color: var(--flori-wine) !important;
    color: var(--flori-white) !important;
    box-shadow: 0 12px 28px rgba(111, 39, 55, .18) !important;
}

/* Discover remains available but visually secondary. */
.storefront-page .flori-retail-v2-home .hero-actions > .button-primary:not(.product-discovery-shop-cta) {
    background: transparent !important;
    border: 1px solid rgba(24, 23, 22, .24) !important;
    color: var(--flori-ink) !important;
    box-shadow: none !important;
}

/* About becomes a tertiary text action. */
.storefront-page .flori-retail-v2-home .hero-actions > .button-secondary {
    min-height: 44px !important;
    padding-inline: 8px !important;
    background: transparent !important;
    border-color: transparent !important;
    color: var(--flori-muted) !important;
    box-shadow: none !important;
}

.storefront-page .flori-retail-v2-home .hero-actions .product-discovery-shop-cta:hover,
.storefront-page .flori-retail-v2-home .hero-actions .product-discovery-shop-cta:focus-visible {
    background: var(--flori-v2-wine-deep) !important;
    border-color: var(--flori-v2-wine-deep) !important;
    transform: translateY(-1px) !important;
}

.storefront-page .flori-retail-v2-home .hero-actions > .button-primary:not(.product-discovery-shop-cta):hover,
.storefront-page .flori-retail-v2-home .hero-actions > .button-primary:not(.product-discovery-shop-cta):focus-visible {
    border-color: var(--flori-wine) !important;
    color: var(--flori-wine) !important;
    transform: translateY(-1px) !important;
}

.storefront-page .flori-retail-v2-home .hero-actions > .button-secondary:hover,
.storefront-page .flori-retail-v2-home .hero-actions > .button-secondary:focus-visible {
    color: var(--flori-wine) !important;
}

.storefront-page .flori-retail-v2-home .hero-visual,
.storefront-page .flori-retail-v2-home .hero-visual-real {
    overflow: hidden !important;
    min-height: 0 !important;
    border: 1px solid rgba(177, 138, 86, .20) !important;
    border-radius: var(--flori-v2-radius-panel) !important;
    background: var(--flori-v2-surface) !important;
    box-shadow: var(--flori-v2-shadow-soft) !important;
}

.storefront-page .flori-retail-v2-home .hero-campaign-image {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 500px !important;
    max-height: 660px !important;
    object-fit: cover !important;
    object-position: center !important;
    transform: none !important;
    filter: none !important;
}

/* BENEFIT / CREDIBILITY STRIP ----------------------------------------------------------------- */

.storefront-page .flori-retail-v2-home .benefit-strip {
    padding-block: 0 !important;
    background: var(--flori-v2-surface) !important;
    border-block: 1px solid rgba(222, 216, 209, .78) !important;
}

.storefront-page .flori-retail-v2-home .benefit-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0 !important;
}

.storefront-page .flori-retail-v2-home .benefit-item {
    min-height: 132px !important;
    padding: 28px clamp(22px, 3vw, 38px) !important;
    gap: 18px !important;
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    border-inline-end: 1px solid rgba(222, 216, 209, .78) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.storefront-page .flori-retail-v2-home .benefit-item:last-child {
    border-inline-end: 0 !important;
}

.storefront-page .flori-retail-v2-home .benefit-number {
    color: var(--flori-gold) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
}

.storefront-page .flori-retail-v2-home .benefit-item strong {
    color: var(--flori-ink) !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
}

.storefront-page .flori-retail-v2-home .benefit-item span:not(.benefit-number) {
    color: var(--flori-muted) !important;
    font-size: 13.5px !important;
    line-height: 1.65 !important;
}

/* COLLECTION DISCOVERY ------------------------------------------------------------------------ */

.storefront-page .flori-retail-v2-home .collections-section {
    padding-block: clamp(72px, 8vw, 112px) !important;
    background: var(--flori-off-white) !important;
}

.storefront-page .flori-retail-v2-home .section-heading {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(280px, .55fr) !important;
    gap: 34px !important;
    align-items: end !important;
    margin-bottom: clamp(34px, 4vw, 52px) !important;
}

.storefront-page .flori-retail-v2-home .section-heading h2 {
    margin: 8px 0 0 !important;
    color: var(--flori-ink) !important;
    font-size: clamp(34px, 4vw, 56px) !important;
    font-weight: 500 !important;
    letter-spacing: -.035em !important;
    line-height: 1.06 !important;
    text-wrap: balance !important;
}

html[lang="ar"] .storefront-page .flori-retail-v2-home .section-heading h2,
html[lang="he"] .storefront-page .flori-retail-v2-home .section-heading h2 {
    letter-spacing: -.02em !important;
    line-height: 1.14 !important;
}

.storefront-page .flori-retail-v2-home .section-heading > p {
    max-width: 44ch !important;
    margin: 0 !important;
    color: var(--flori-muted) !important;
    line-height: 1.78 !important;
}

.storefront-page .flori-retail-v2-home .collection-grid {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 24px !important;
    align-items: stretch !important;
}

.storefront-page .flori-retail-v2-home .collection-card,
.storefront-page .flori-retail-v2-home .collection-card:nth-child(n) {
    position: relative !important;
    grid-row: auto !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: stretch !important;
    overflow: hidden !important;
    border: 1px solid rgba(222, 216, 209, .78) !important;
    border-radius: var(--flori-v2-radius-card) !important;
    background: var(--flori-v2-surface) !important;
    box-shadow: var(--flori-v2-shadow-card) !important;
    transform: none !important;
    transition:
        transform 200ms var(--flori-v2-ease),
        box-shadow 200ms var(--flori-v2-ease),
        border-color 200ms var(--flori-v2-ease) !important;
}

.storefront-page .flori-retail-v2-home .collection-card:nth-child(1) {
    grid-column: span 7 !important;
}

.storefront-page .flori-retail-v2-home .collection-card:nth-child(2) {
    grid-column: span 5 !important;
}

.storefront-page .flori-retail-v2-home .collection-card:nth-child(3) {
    grid-column: span 5 !important;
}

.storefront-page .flori-retail-v2-home .collection-card:nth-child(4) {
    grid-column: span 7 !important;
}

.storefront-page .flori-retail-v2-home .collection-card:nth-child(5) {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr) !important;
    align-items: stretch !important;
}

.storefront-page .flori-retail-v2-home .collection-card::before,
.storefront-page .flori-retail-v2-home .collection-card::after {
    content: none !important;
    display: none !important;
}

.storefront-page .flori-retail-v2-home .collection-card:hover {
    transform: translateY(-3px) !important;
    border-color: rgba(177, 138, 86, .46) !important;
    box-shadow: 0 22px 52px rgba(24, 23, 22, .10) !important;
}

.storefront-page .flori-retail-v2-home .collection-index {
    position: absolute !important;
    top: 18px !important;
    inset-inline-start: 18px !important;
    z-index: 4 !important;
    min-width: 42px !important;
    padding: 7px 10px !important;
    border: 1px solid rgba(177, 138, 86, .34) !important;
    border-radius: 999px !important;
    background: rgba(255, 254, 252, .90) !important;
    color: var(--flori-gold) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .10em !important;
    text-align: center !important;
    backdrop-filter: blur(8px) !important;
}

.storefront-page .flori-retail-v2-home .collection-art,
.storefront-page .flori-retail-v2-home .collection-art-real,
.storefront-page .flori-retail-v2-home .collection-dark .collection-art-real,
.storefront-page .flori-retail-v2-home .collection-star .collection-art-real,
.storefront-page .flori-retail-v2-home .collection-rose .collection-art-real {
    position: relative !important;
    inset: auto !important;
    z-index: 1 !important;
    width: 100% !important;
    height: 310px !important;
    min-height: 310px !important;
    margin: 0 !important;
    padding: 22px !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, .98),
            rgba(238, 233, 227, .64)
        ) !important;
}

.storefront-page .flori-retail-v2-home .collection-card:nth-child(5) .collection-art,
.storefront-page .flori-retail-v2-home .collection-card:nth-child(5) .collection-art-real {
    height: 100% !important;
    min-height: 430px !important;
}

.storefront-page .flori-retail-v2-home .collection-real-image,
.storefront-page .flori-retail-v2-home .collection-real-image-brightening,
.storefront-page .flori-retail-v2-home .collection-real-image-renewal,
.storefront-page .flori-retail-v2-home .collection-real-image-skin-repair,
.storefront-page .flori-retail-v2-home .collection-real-image-oily,
.storefront-page .flori-retail-v2-home .collection-real-image-five-star {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 94% !important;
    max-height: 272px !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
    transform-origin: center !important;
    filter: drop-shadow(0 18px 22px rgba(24, 23, 22, .12)) !important;
    transition: transform 220ms var(--flori-v2-ease) !important;
}

.storefront-page .flori-retail-v2-home .collection-card:nth-child(5) .collection-real-image {
    max-width: 90% !important;
    max-height: 370px !important;
}

.storefront-page .flori-retail-v2-home .collection-card:hover .collection-real-image {
    transform: scale(1.018) !important;
}

.storefront-page .flori-retail-v2-home .collection-content {
    position: relative !important;
    inset: auto !important;
    z-index: 2 !important;
    min-height: 205px !important;
    padding: 26px 28px 28px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    color: var(--flori-ink) !important;
    background: var(--flori-v2-surface) !important;
}

.storefront-page .flori-retail-v2-home .collection-card:nth-child(5) .collection-content {
    min-height: 430px !important;
    justify-content: center !important;
    padding: clamp(34px, 5vw, 64px) !important;
}

.storefront-page .flori-retail-v2-home .collection-content > span {
    margin-bottom: 10px !important;
    color: var(--flori-gold) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
}

.storefront-page .flori-retail-v2-home .collection-content h3 {
    margin: 0 0 22px !important;
    color: var(--flori-ink) !important;
    font-size: clamp(24px, 2.4vw, 34px) !important;
    font-weight: 500 !important;
    letter-spacing: -.025em !important;
    line-height: 1.10 !important;
}

html[lang="ar"] .storefront-page .flori-retail-v2-home .collection-content h3,
html[lang="he"] .storefront-page .flori-retail-v2-home .collection-content h3 {
    letter-spacing: -.012em !important;
    line-height: 1.20 !important;
}

.storefront-page .flori-retail-v2-home .collection-content .button-secondary {
    margin-top: auto !important;
    min-height: 42px !important;
    padding-inline: 0 !important;
    background: transparent !important;
    border-color: transparent !important;
    color: var(--flori-wine) !important;
    box-shadow: none !important;
}

/* PROFESSIONAL / SCIENTIFIC LUXURY ------------------------------------------------------------- */

.storefront-page .flori-retail-v2-home #professional.professional-section {
    padding-block: clamp(72px, 8vw, 112px) !important;
    background:
        radial-gradient(
            circle at 18% 10%,
            rgba(177, 138, 86, .12),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            #181716 0%,
            #211f1d 58%,
            #2a2724 100%
        ) !important;
    border-block: 0 !important;
    color: #ffffff !important;
}

.storefront-page .flori-retail-v2-home #professional .professional-grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr) !important;
    gap: clamp(42px, 6vw, 86px) !important;
    align-items: center !important;
}

.storefront-page .flori-retail-v2-home #professional .professional-visual,
.storefront-page .flori-retail-v2-home #professional .professional-visual-real {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
    border: 1px solid rgba(214, 193, 159, .24) !important;
    border-radius: var(--flori-v2-radius-panel) !important;
    background: var(--flori-v2-charcoal-soft) !important;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .22) !important;
}

.storefront-page .flori-retail-v2-home #professional .professional-image {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center !important;
    transform: none !important;
    filter: none !important;
}

.storefront-page .flori-retail-v2-home #professional .professional-copy {
    max-width: 620px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #ffffff !important;
}

.storefront-page .flori-retail-v2-home #professional .professional-copy .eyebrow {
    margin-bottom: 14px !important;
    color: var(--flori-gold-soft) !important;
}

.storefront-page .flori-retail-v2-home #professional .professional-copy h2 {
    margin: 0 0 22px !important;
    color: #ffffff !important;
    font-size: clamp(38px, 4.6vw, 64px) !important;
    font-weight: 500 !important;
    letter-spacing: -.04em !important;
    line-height: 1.04 !important;
    text-wrap: balance !important;
}

html[lang="ar"] .storefront-page .flori-retail-v2-home #professional .professional-copy h2,
html[lang="he"] .storefront-page .flori-retail-v2-home #professional .professional-copy h2 {
    letter-spacing: -.02em !important;
    line-height: 1.14 !important;
}

.storefront-page .flori-retail-v2-home #professional .professional-copy > p:not(.eyebrow) {
    max-width: 54ch !important;
    margin: 0 !important;
    color: rgba(255, 255, 255, .72) !important;
    font-size: 16px !important;
    line-height: 1.86 !important;
}

.storefront-page .flori-retail-v2-home #professional .professional-points {
    margin-top: 30px !important;
    border-top: 1px solid rgba(214, 193, 159, .22) !important;
}

.storefront-page .flori-retail-v2-home #professional .professional-points > div,
.storefront-page .flori-retail-v2-home #professional .professional-points li {
    min-height: 0 !important;
    padding-block: 16px !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(214, 193, 159, .16) !important;
    box-shadow: none !important;
}

.storefront-page .flori-retail-v2-home #professional .professional-points > div:last-child,
.storefront-page .flori-retail-v2-home #professional .professional-points li:last-child {
    border-bottom: 0 !important;
}

.storefront-page .flori-retail-v2-home #professional .professional-points span {
    color: var(--flori-gold-soft) !important;
    font-size: 11px !important;
    letter-spacing: .12em !important;
}

.storefront-page .flori-retail-v2-home #professional .professional-points strong {
    color: #ffffff !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
}

/* CLOSING CAMPAIGN ----------------------------------------------------------------------------
   Deliberately preserve the existing burgundy campaign layout and image-visibility decisions.
   V2 changes only small typography/button polish inside its existing structure.
   --------------------------------------------------------------------------------------------- */

.storefront-page .flori-retail-v2-home .closing-campaign-copy .eyebrow {
    color: var(--flori-gold-soft) !important;
}

.storefront-page .flori-retail-v2-home .closing-campaign-copy .button-primary {
    min-height: 48px !important;
    background: #ffffff !important;
    border-color: #ffffff !important;
    color: var(--flori-wine) !important;
    box-shadow: none !important;
}

.storefront-page .flori-retail-v2-home .closing-campaign-copy .button-primary:hover,
.storefront-page .flori-retail-v2-home .closing-campaign-copy .button-primary:focus-visible {
    background: #f8f6f3 !important;
    border-color: #f8f6f3 !important;
    color: var(--flori-v2-wine-deep) !important;
    transform: translateY(-1px) !important;
}

/* TABLET --------------------------------------------------------------------------------------- */

@media (max-width: 980px) {
    .storefront-page .flori-retail-v2-home .hero-grid {
        grid-template-columns: 1fr !important;
        gap: 34px !important;
    }

    .storefront-page .flori-retail-v2-home .hero-copy {
        max-width: 760px !important;
    }

    .storefront-page .flori-retail-v2-home .hero-copy h1 {
        max-width: 14ch !important;
    }

    .storefront-page .flori-retail-v2-home .hero-campaign-image {
        min-height: 0 !important;
        max-height: none !important;
    }

    .storefront-page .flori-retail-v2-home .section-heading {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .storefront-page .flori-retail-v2-home .collection-card:nth-child(n) {
        grid-column: span 6 !important;
        display: flex !important;
    }

    .storefront-page .flori-retail-v2-home .collection-card:nth-child(5) {
        grid-column: 1 / -1 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr) !important;
    }

    .storefront-page .flori-retail-v2-home #professional .professional-grid {
        grid-template-columns: 1fr !important;
        gap: 34px !important;
    }

    .storefront-page .flori-retail-v2-home #professional .professional-copy {
        order: 1 !important;
        max-width: 720px !important;
    }

    .storefront-page .flori-retail-v2-home #professional .professional-visual,
    .storefront-page .flori-retail-v2-home #professional .professional-visual-real {
        order: 2 !important;
        width: min(100%, 620px) !important;
    }
}

/* MOBILE --------------------------------------------------------------------------------------- */

@media (max-width: 680px) {
    .storefront-page .flori-retail-v2-home .hero-section {
        padding-block: 44px 56px !important;
    }

    .storefront-page .flori-retail-v2-home .hero-copy h1 {
        font-size: clamp(38px, 11vw, 56px) !important;
    }

    .storefront-page .flori-retail-v2-home .hero-actions {
        align-items: stretch !important;
    }

    .storefront-page .flori-retail-v2-home .hero-actions .product-discovery-shop-cta,
    .storefront-page .flori-retail-v2-home .hero-actions > .button-primary:not(.product-discovery-shop-cta) {
        flex: 1 1 calc(50% - 6px) !important;
        justify-content: center !important;
    }

    .storefront-page .flori-retail-v2-home .hero-actions > .button-secondary {
        flex: 1 1 100% !important;
        justify-content: flex-start !important;
    }

    .storefront-page .flori-retail-v2-home .benefit-grid {
        grid-template-columns: 1fr !important;
    }

    .storefront-page .flori-retail-v2-home .benefit-item {
        min-height: 0 !important;
        padding: 22px 0 !important;
        border-inline-end: 0 !important;
        border-bottom: 1px solid rgba(222, 216, 209, .78) !important;
    }

    .storefront-page .flori-retail-v2-home .benefit-item:last-child {
        border-bottom: 0 !important;
    }

    .storefront-page .flori-retail-v2-home .collections-section,
    .storefront-page .flori-retail-v2-home #professional.professional-section {
        padding-block: 58px !important;
    }

    .storefront-page .flori-retail-v2-home .collection-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .storefront-page .flori-retail-v2-home .collection-card:nth-child(n),
    .storefront-page .flori-retail-v2-home .collection-card:nth-child(5) {
        grid-column: 1 !important;
        display: flex !important;
        grid-template-columns: none !important;
    }

    .storefront-page .flori-retail-v2-home .collection-art,
    .storefront-page .flori-retail-v2-home .collection-art-real,
    .storefront-page .flori-retail-v2-home .collection-card:nth-child(5) .collection-art,
    .storefront-page .flori-retail-v2-home .collection-card:nth-child(5) .collection-art-real {
        height: 270px !important;
        min-height: 270px !important;
        padding: 18px !important;
    }

    .storefront-page .flori-retail-v2-home .collection-real-image,
    .storefront-page .flori-retail-v2-home .collection-card:nth-child(5) .collection-real-image {
        max-width: 92% !important;
        max-height: 236px !important;
    }

    .storefront-page .flori-retail-v2-home .collection-content,
    .storefront-page .flori-retail-v2-home .collection-card:nth-child(5) .collection-content {
        min-height: 0 !important;
        padding: 22px 22px 24px !important;
        justify-content: flex-start !important;
    }

    .storefront-page .flori-retail-v2-home #professional .professional-copy h2 {
        font-size: clamp(34px, 9vw, 48px) !important;
    }

    .storefront-page .flori-retail-v2-home #professional .professional-visual,
    .storefront-page .flori-retail-v2-home #professional .professional-visual-real {
        width: 100% !important;
        border-radius: 22px !important;
    }
}

/* ACCESSIBILITY -------------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
    .storefront-page .flori-retail-v2-home *,
    .storefront-page .flori-retail-v2-home *::before,
    .storefront-page .flori-retail-v2-home *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* END FLORI_RETAIL_V2_FOUNDATION_HOME_R2 */

/* ================================================================================================
   FLORI_RETAIL_V2_FOUNDATION_HOME_R2F2
   Candidate-only refinement over validated R2F1.

   Scope:
   - CTA order is handled in Home markup.
   - Mobile Shop CTA gets its own full first row.
   - Discover stays secondary.
   - About stays tertiary.
   - Mobile credibility-strip secondary text is slightly larger with more breathing room.
   - No other V2 component is changed.
   ================================================================================================ */

@media (max-width: 680px) {
    .storefront-page .flori-retail-v2-home .hero-actions .product-discovery-shop-cta {
        flex: 1 1 100% !important;
        width: 100% !important;
        justify-content: center !important;
    }

    .storefront-page .flori-retail-v2-home .hero-actions > .button-primary:not(.product-discovery-shop-cta) {
        flex: 0 1 auto !important;
        width: auto !important;
        justify-content: center !important;
    }

    .storefront-page .flori-retail-v2-home .hero-actions > .button-secondary {
        flex: 0 1 auto !important;
        width: auto !important;
        justify-content: flex-start !important;
    }

    .storefront-page .flori-retail-v2-home .benefit-item {
        padding-block: 24px !important;
    }

    .storefront-page .flori-retail-v2-home .benefit-item span:not(.benefit-number) {
        font-size: 14.5px !important;
        line-height: 1.68 !important;
    }
}

/* END FLORI_RETAIL_V2_FOUNDATION_HOME_R2F2 */
/* ================================================================================================
   FLORI_RETAIL_SHOP_V2_S2A
   Candidate only.

   Foundation:
   - Frozen Home V2 R2F2 visual language.
   - Existing Retail Shop behavior, routes, translations, search/filter inputs and product data
     remain authoritative.

   Cascade policy:
   - Every visual override is scoped beneath .flori-retail-v2-shop.
   - No Product Detail, Cart, Checkout, Professional storefront, Header, Footer, SEO, route,
     controller or database behavior is changed.
   - !important is used selectively to supersede historical Shop repair blocks.
   ================================================================================================ */

.storefront-page .flori-retail-v2-shop {
    --flori-shop-v2-surface: #fffefc;
    --flori-shop-v2-surface-warm: #fbf8f4;
    --flori-shop-v2-charcoal: #1b1917;
    --flori-shop-v2-wine-deep: #4b1925;
    --flori-shop-v2-radius-control: 14px;
    --flori-shop-v2-radius-card: 20px;
    --flori-shop-v2-radius-panel: 26px;
    --flori-shop-v2-shadow-soft: 0 24px 60px rgba(24, 23, 22, .075);
    --flori-shop-v2-shadow-card: 0 12px 32px rgba(24, 23, 22, .055);
    --flori-shop-v2-ease: cubic-bezier(.2, .75, .25, 1);
    background: var(--flori-off-white);
    color: var(--flori-ink);
}

/* SHOP HERO ------------------------------------------------------------------------------------ */

.storefront-page .flori-retail-v2-shop .shop-v2-hero {
    min-height: 0 !important;
    padding: clamp(54px, 6vw, 82px) 0 clamp(62px, 7vw, 96px) !important;
    border-bottom: 1px solid rgba(177, 138, 86, .16) !important;
    background:
        radial-gradient(circle at 14% 12%, rgba(214, 193, 159, .24), transparent 34%),
        radial-gradient(circle at 86% 18%, rgba(111, 39, 55, .075), transparent 30%),
        linear-gradient(135deg, #fbf8f4 0%, #f8f6f3 58%, #eee9e3 100%) !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-hero-inner {
    width: min(calc(100% - 64px), 980px) !important;
    max-width: 980px !important;
    text-align: center !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-hero-kicker {
    min-height: 30px !important;
    padding: 0 13px !important;
    border: 1px solid rgba(177, 138, 86, .28) !important;
    border-radius: 999px !important;
    background: rgba(255, 254, 252, .76) !important;
    color: var(--flori-gold) !important;
    box-shadow: none !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .13em !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-hero-inner h1 {
    max-width: 13ch !important;
    margin: 18px auto 0 !important;
    color: var(--flori-ink) !important;
    font-size: clamp(44px, 5.2vw, 72px) !important;
    font-weight: 500 !important;
    letter-spacing: -.04em !important;
    line-height: 1.02 !important;
    text-wrap: balance !important;
}

html[lang="ar"] .storefront-page .flori-retail-v2-shop .shop-v2-hero-inner h1,
html[lang="he"] .storefront-page .flori-retail-v2-shop .shop-v2-hero-inner h1 {
    letter-spacing: -.02em !important;
    line-height: 1.10 !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-hero-copy {
    max-width: 62ch !important;
    margin: 18px auto 0 !important;
    color: var(--flori-muted) !important;
    font-size: clamp(15px, 1.25vw, 18px) !important;
    line-height: 1.82 !important;
}

/* MAIN SHOP CANVAS ------------------------------------------------------------------------------ */

.storefront-page .flori-retail-v2-shop .shop-v2-page-section {
    padding: 0 0 clamp(70px, 8vw, 112px) !important;
    background: var(--flori-off-white) !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-page-section > .store-container {
    width: min(calc(100% - 64px), var(--flori-container)) !important;
}

/* DISCOVERY / FILTER COMMAND BAR --------------------------------------------------------------- */

.storefront-page .flori-retail-v2-shop .shop-v2-filter-panel {
    position: relative !important;
    z-index: 4 !important;
    overflow: visible !important;
    margin: -34px 0 54px !important;
    padding: clamp(24px, 2.5vw, 34px) !important;
    border: 1px solid rgba(24, 23, 22, .10) !important;
    border-radius: var(--flori-shop-v2-radius-panel) !important;
    background: rgba(255, 254, 252, .96) !important;
    box-shadow: var(--flori-shop-v2-shadow-soft) !important;
    backdrop-filter: blur(12px);
}

.storefront-page .flori-retail-v2-shop .shop-v2-filter-panel::before {
    content: none !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-filter-panel > * {
    position: relative !important;
    z-index: 1 !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-filter-eyebrow {
    display: block !important;
    margin: 0 0 7px !important;
    color: var(--flori-gold) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .14em !important;
    line-height: 1.3 !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-filter-heading {
    max-width: 18ch !important;
    margin: 0 !important;
    color: var(--flori-ink) !important;
    font-size: clamp(25px, 2.2vw, 34px) !important;
    font-weight: 600 !important;
    letter-spacing: -.025em !important;
    line-height: 1.12 !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-filter-grid {
    display: grid !important;
    grid-template-columns:
        minmax(280px, 1.75fr)
        minmax(190px, 1fr)
        minmax(150px, .82fr)
        minmax(125px, .62fr)
        minmax(125px, .62fr) !important;
    gap: 14px !important;
    align-items: end !important;
    margin-top: 24px !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-filter-field {
    display: grid !important;
    min-width: 0 !important;
    gap: 8px !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-filter-field > span {
    color: var(--flori-muted) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    line-height: 1.35 !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-filter-field input,
.storefront-page .flori-retail-v2-shop .shop-v2-filter-field select {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 0 14px !important;
    border: 1px solid rgba(24, 23, 22, .13) !important;
    border-radius: var(--flori-shop-v2-radius-control) !important;
    background: #fff !important;
    color: var(--flori-ink) !important;
    box-shadow: none !important;
    font-size: 14px !important;
    transition:
        border-color 180ms var(--flori-shop-v2-ease),
        box-shadow 180ms var(--flori-shop-v2-ease),
        background-color 180ms var(--flori-shop-v2-ease) !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-filter-field input::placeholder {
    color: rgba(113, 108, 103, .72) !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-filter-field input:focus,
.storefront-page .flori-retail-v2-shop .shop-v2-filter-field select:focus {
    border-color: rgba(111, 39, 55, .50) !important;
    background: var(--flori-shop-v2-surface) !important;
    box-shadow: 0 0 0 3px rgba(111, 39, 55, .09) !important;
    outline: none !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-filter-actions {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 22px !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-filter-actions .button {
    min-height: 46px !important;
    padding: 0 20px !important;
    border-radius: var(--flori-shop-v2-radius-control) !important;
    font-size: 13px !important;
    transition:
        transform 180ms var(--flori-shop-v2-ease),
        background-color 180ms var(--flori-shop-v2-ease),
        border-color 180ms var(--flori-shop-v2-ease),
        color 180ms var(--flori-shop-v2-ease) !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-filter-actions .button-primary {
    background: var(--flori-wine) !important;
    border-color: var(--flori-wine) !important;
    color: var(--flori-white) !important;
    box-shadow: 0 10px 24px rgba(111, 39, 55, .16) !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-filter-actions .button-primary:hover,
.storefront-page .flori-retail-v2-shop .shop-v2-filter-actions .button-primary:focus-visible {
    background: var(--flori-shop-v2-wine-deep) !important;
    border-color: var(--flori-shop-v2-wine-deep) !important;
    transform: translateY(-1px) !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-filter-actions .button-secondary {
    background: transparent !important;
    border-color: transparent !important;
    color: var(--flori-muted) !important;
    box-shadow: none !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-filter-actions .button-secondary:hover,
.storefront-page .flori-retail-v2-shop .shop-v2-filter-actions .button-secondary:focus-visible {
    color: var(--flori-wine) !important;
    transform: none !important;
}

/* ACTIVE FILTERS -------------------------------------------------------------------------------- */

.storefront-page .flori-retail-v2-shop .shop-v2-active-filters {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-top: 20px !important;
    padding-top: 18px !important;
    border-top: 1px solid rgba(24, 23, 22, .08) !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-active-filters span,
.storefront-page .flori-retail-v2-shop .shop-v2-active-filters a {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 34px !important;
    width: auto !important;
    padding: 0 12px !important;
    border: 1px solid rgba(24, 23, 22, .10) !important;
    border-radius: 999px !important;
    background: var(--flori-shop-v2-surface-warm) !important;
    color: var(--flori-muted) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-active-filters a {
    border-color: rgba(111, 39, 55, .20) !important;
    background: rgba(111, 39, 55, .045) !important;
    color: var(--flori-wine) !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-active-filters a:hover,
.storefront-page .flori-retail-v2-shop .shop-v2-active-filters a:focus-visible {
    background: var(--flori-wine) !important;
    color: var(--flori-white) !important;
}

/* RESULTS HEADER -------------------------------------------------------------------------------- */

.storefront-page .flori-retail-v2-shop .shop-v2-results-heading {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
        "eyebrow count"
        "title count" !important;
    align-items: end !important;
    gap: 6px 24px !important;
    margin: 0 0 24px !important;
    padding: 0 0 20px !important;
    border-bottom: 1px solid rgba(24, 23, 22, .10) !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-results-eyebrow {
    grid-area: eyebrow !important;
    margin: 0 !important;
    color: var(--flori-gold) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .13em !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-results-heading h2 {
    grid-area: title !important;
    max-width: 26ch !important;
    margin: 0 !important;
    color: var(--flori-ink) !important;
    font-size: clamp(30px, 3vw, 44px) !important;
    font-weight: 500 !important;
    letter-spacing: -.03em !important;
    line-height: 1.08 !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-result-count {
    grid-area: count !important;
    align-self: center !important;
    margin: 0 !important;
    padding: 9px 13px !important;
    border: 1px solid rgba(177, 138, 86, .24) !important;
    border-radius: 999px !important;
    background: var(--flori-shop-v2-surface) !important;
    color: var(--flori-muted) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

/* PRODUCT GRID ---------------------------------------------------------------------------------- */

.storefront-page .flori-retail-v2-shop .shop-v2-product-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 22px !important;
    align-items: stretch !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-product-card {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    min-height: 100% !important;
    overflow: hidden !important;
    border: 1px solid rgba(24, 23, 22, .095) !important;
    border-radius: var(--flori-shop-v2-radius-card) !important;
    background: var(--flori-shop-v2-surface) !important;
    box-shadow: var(--flori-shop-v2-shadow-card) !important;
    transform: translateY(0) !important;
    transition:
        transform 190ms var(--flori-shop-v2-ease),
        box-shadow 190ms var(--flori-shop-v2-ease),
        border-color 190ms var(--flori-shop-v2-ease) !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-product-card::before {
    content: none !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-product-card:hover {
    border-color: rgba(177, 138, 86, .28) !important;
    box-shadow: 0 18px 42px rgba(24, 23, 22, .085) !important;
    transform: translateY(-2px) !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-product-media {
    position: relative !important;
    display: grid !important;
    place-items: center !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1.08 !important;
    overflow: hidden !important;
    padding: 16px !important;
    border-bottom: 1px solid rgba(24, 23, 22, .07) !important;
    background:
        radial-gradient(circle at 50% 20%, rgba(214, 193, 159, .15), transparent 42%),
        #fff !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-product-image {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    border-radius: 0 !important;
    transform: scale(1) !important;
    transition: transform 220ms var(--flori-shop-v2-ease) !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-product-card:hover .shop-v2-product-image {
    transform: scale(1.018) !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-product-content {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    padding: 19px 18px 18px !important;
    text-align: start !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-product-category {
    min-height: 0 !important;
    margin: 0 0 8px !important;
    color: var(--flori-gold) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    line-height: 1.35 !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-product-name {
    display: -webkit-box !important;
    min-height: 2.45em !important;
    margin: 0 !important;
    overflow: hidden !important;
    color: var(--flori-ink) !important;
    font-size: clamp(17px, 1.45vw, 20px) !important;
    font-weight: 600 !important;
    letter-spacing: -.02em !important;
    line-height: 1.23 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}

html[lang="ar"] .storefront-page .flori-retail-v2-shop .shop-v2-product-name,
html[lang="he"] .storefront-page .flori-retail-v2-shop .shop-v2-product-name {
    line-height: 1.34 !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-product-description {
    display: -webkit-box !important;
    min-height: 3.2em !important;
    margin: 10px 0 0 !important;
    overflow: hidden !important;
    color: var(--flori-muted) !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-product-price {
    display: block !important;
    min-height: 0 !important;
    margin: auto 0 0 !important;
    padding-top: 16px !important;
    color: var(--flori-wine) !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    letter-spacing: -.015em !important;
    line-height: 1.2 !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-product-cta {
    width: 100% !important;
    min-height: 44px !important;
    margin-top: 15px !important;
    padding: 0 15px !important;
    border: 1px solid rgba(111, 39, 55, .24) !important;
    border-radius: var(--flori-shop-v2-radius-control) !important;
    background: transparent !important;
    color: var(--flori-wine) !important;
    box-shadow: none !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    transition:
        background-color 180ms var(--flori-shop-v2-ease),
        border-color 180ms var(--flori-shop-v2-ease),
        color 180ms var(--flori-shop-v2-ease),
        transform 180ms var(--flori-shop-v2-ease) !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-product-cta:hover,
.storefront-page .flori-retail-v2-shop .shop-v2-product-cta:focus-visible {
    border-color: var(--flori-wine) !important;
    background: var(--flori-wine) !important;
    color: var(--flori-white) !important;
    transform: translateY(-1px) !important;
}

/* EMPTY STATE ----------------------------------------------------------------------------------- */

.storefront-page .flori-retail-v2-shop .shop-v2-empty-grid {
    display: block !important;
    max-width: 760px !important;
    margin-inline: auto !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-empty-card {
    overflow: hidden !important;
    padding: 0 !important;
    text-align: center !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-empty-card::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none !important;
    background:
        radial-gradient(circle at 50% 0%, rgba(214, 193, 159, .22), transparent 44%),
        linear-gradient(180deg, rgba(255, 254, 252, .70), rgba(251, 248, 244, .94)) !important;
    opacity: 1 !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-empty-content {
    position: relative !important;
    z-index: 1 !important;
    align-items: center !important;
    padding: clamp(30px, 5vw, 56px) !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-empty-content > span {
    color: var(--flori-gold) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-empty-content h3 {
    max-width: 16ch !important;
    margin: 10px auto 0 !important;
    color: var(--flori-ink) !important;
    font-size: clamp(28px, 4vw, 42px) !important;
    font-weight: 500 !important;
    line-height: 1.12 !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-empty-content p {
    max-width: 58ch !important;
    margin: 14px auto 0 !important;
    color: var(--flori-muted) !important;
    line-height: 1.75 !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-empty-actions {
    justify-content: center !important;
    margin-top: 22px !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-empty-actions .button {
    min-height: 46px !important;
    border-radius: var(--flori-shop-v2-radius-control) !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-empty-actions .button-primary {
    background: var(--flori-wine) !important;
    border-color: var(--flori-wine) !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-empty-suggestions {
    margin-top: 18px !important;
}

.storefront-page .flori-retail-v2-shop .shop-v2-empty-suggestions a {
    min-height: 36px !important;
    padding: 0 12px !important;
    border: 1px solid rgba(24, 23, 22, .10) !important;
    border-radius: 999px !important;
    background: var(--flori-shop-v2-surface) !important;
    color: var(--flori-muted) !important;
    box-shadow: none !important;
    font-size: 11px !important;
}

/* TABLET ---------------------------------------------------------------------------------------- */

@media (max-width: 1180px) {
    .storefront-page .flori-retail-v2-shop .shop-v2-filter-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-filter-search {
        grid-column: span 2 !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-filter-category {
        grid-column: span 2 !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 820px) {
    .storefront-page .flori-retail-v2-shop .shop-v2-hero-inner,
    .storefront-page .flori-retail-v2-shop .shop-v2-page-section > .store-container {
        width: min(calc(100% - 40px), var(--flori-container)) !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-filter-search,
    .storefront-page .flori-retail-v2-shop .shop-v2-filter-category,
    .storefront-page .flori-retail-v2-shop .shop-v2-filter-sort {
        grid-column: auto !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-filter-search {
        grid-column: 1 / -1 !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }
}

/* MOBILE ---------------------------------------------------------------------------------------- */

@media (max-width: 560px) {
    .storefront-page .flori-retail-v2-shop .shop-v2-hero {
        padding: 42px 0 64px !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-hero-inner,
    .storefront-page .flori-retail-v2-shop .shop-v2-page-section > .store-container {
        width: min(calc(100% - 28px), 430px) !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-hero-inner {
        text-align: start !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-hero-kicker {
        min-height: 28px !important;
        padding: 0 11px !important;
        font-size: 10px !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-hero-inner h1 {
        max-width: 14ch !important;
        margin-inline: 0 !important;
        font-size: clamp(38px, 12vw, 54px) !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-hero-copy {
        margin-inline: 0 !important;
        font-size: 15px !important;
        line-height: 1.72 !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-filter-panel {
        margin: -30px 0 38px !important;
        padding: 20px 16px !important;
        border-radius: 20px !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-filter-heading {
        font-size: 26px !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
        margin-top: 18px !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-filter-search {
        grid-column: 1 / -1 !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-filter-field input,
    .storefront-page .flori-retail-v2-shop .shop-v2-filter-field select {
        min-height: 46px !important;
        padding: 0 11px !important;
        border-radius: 12px !important;
        font-size: 16px !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-filter-field > span {
        font-size: 10px !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-filter-actions {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 8px !important;
        margin-top: 16px !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-filter-actions .button {
        min-height: 44px !important;
        padding-inline: 14px !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-active-filters {
        gap: 6px !important;
        margin-top: 16px !important;
        padding-top: 14px !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-active-filters span,
    .storefront-page .flori-retail-v2-shop .shop-v2-active-filters a {
        min-height: 32px !important;
        width: auto !important;
        padding-inline: 10px !important;
        font-size: 10px !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-results-heading {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-areas:
            "eyebrow"
            "title"
            "count" !important;
        gap: 5px !important;
        margin-bottom: 18px !important;
        padding-bottom: 15px !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-results-heading h2 {
        font-size: 30px !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-result-count {
        justify-self: start !important;
        margin-top: 5px !important;
        padding: 7px 10px !important;
        font-size: 10px !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-product-grid {
        gap: 12px !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-product-card {
        border-radius: 16px !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-product-media {
        aspect-ratio: 1 / 1.02 !important;
        padding: 10px !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-product-content {
        padding: 13px 11px 12px !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-product-category {
        margin-bottom: 6px !important;
        font-size: 9px !important;
        letter-spacing: .04em !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-product-name {
        min-height: 2.55em !important;
        font-size: 15px !important;
        line-height: 1.28 !important;
    }

    html[lang="ar"] .storefront-page .flori-retail-v2-shop .shop-v2-product-name,
    html[lang="he"] .storefront-page .flori-retail-v2-shop .shop-v2-product-name {
        line-height: 1.38 !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-product-description {
        min-height: 0 !important;
        margin-top: 7px !important;
        font-size: 11px !important;
        line-height: 1.45 !important;
        -webkit-line-clamp: 2 !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-product-price {
        padding-top: 12px !important;
        font-size: 16px !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-product-cta {
        min-height: 40px !important;
        margin-top: 11px !important;
        padding-inline: 9px !important;
        border-radius: 11px !important;
        font-size: 11px !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-empty-content {
        padding: 28px 18px !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-empty-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
    }

    .storefront-page .flori-retail-v2-shop .shop-v2-empty-actions .button {
        width: 100% !important;
    }
}

@media (max-width: 359px) {
    .storefront-page .flori-retail-v2-shop .shop-v2-product-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ================================================================================================
   FLORI_RETAIL_SHOP_V2_S2A_R1F1_MOBILE_GRID_AUTHORITY
   Cascade repair only.

   Historical Shop CSS contains an !important <=640px grid rule with :is(...:has(...)) specificity
   high enough to override the original S2A two-column mobile declaration. This selector raises the
   scoped S2A authority without changing markup, data, behavior or any non-Shop surface.
   ================================================================================================ */

@media (max-width: 640px) {
    .storefront-page .flori-retail-v2-shop .collection-grid.catalog-product-grid.shop-product-grid.shop-v2-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 359px) {
    .storefront-page .flori-retail-v2-shop .collection-grid.catalog-product-grid.shop-product-grid.shop-v2-product-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ================================================================================================
   FLORI_RETAIL_SHOP_V2_TABLET_GRID_PATCH_T1
   Candidate only.

   Live Work regression finding:
   - 1440px: 4 columns PASS
   - ~820px: 2 columns observed, expected 3
   - 390px: 2 columns PASS
   - 359px: 1 column PASS

   Exact responsive authority:
   - >1180px: 4 columns
   - 641px..1180px: 3 columns
   - 360px..640px: 2 columns
   - <=359px: 1 column

   This patch changes only the Shop V2 product-grid column count for the tablet range.
   ================================================================================================ */

@media (min-width: 641px) and (max-width: 1180px) {
    .storefront-page .flori-retail-v2-shop .collection-grid.catalog-product-grid.shop-product-grid.shop-v2-product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

/* ================================================================================================
   FLORI RETAIL PRODUCT DETAIL V2 — P2A
   Scientific-luxury ecommerce product-detail candidate.
   Scope: .flori-retail-v2-product only.
   Preserves SEO, JSON-LD, media authority, HE/AR content, price, stock and cart behavior.
   ================================================================================================ */

.storefront-page .flori-retail-v2-product.product-modern-section {
    padding-block: clamp(34px, 4.2vw, 62px) clamp(64px, 6vw, 94px) !important;
    background:
        radial-gradient(circle at 12% 4%, rgba(177, 138, 86, .08), transparent 28%),
        linear-gradient(180deg, var(--flori-v2-surface) 0%, var(--flori-v2-surface-warm) 48%, #ffffff 100%) !important;
}

.storefront-page .flori-retail-v2-product .product-modern-container {
    width: min(100%, var(--flori-container)) !important;
    max-width: var(--flori-container) !important;
    margin-inline: auto !important;
    padding-inline: clamp(18px, 3vw, 32px) !important;
}

.storefront-page .flori-retail-v2-product .product-modern-breadcrumb {
    width: min(100%, 1180px) !important;
    max-width: 1180px !important;
    margin: 0 auto clamp(16px, 2vw, 24px) !important;
    padding: 0 4px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    color: rgba(24, 23, 22, .52) !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
}

.storefront-page .flori-retail-v2-product .product-modern-breadcrumb a {
    color: rgba(24, 23, 22, .72) !important;
    text-decoration: none !important;
    transition: color .18s ease !important;
}

.storefront-page .flori-retail-v2-product .product-modern-breadcrumb a:hover,
.storefront-page .flori-retail-v2-product .product-modern-breadcrumb a:focus-visible {
    color: var(--flori-wine) !important;
}

.storefront-page .flori-retail-v2-product .product-modern-shell {
    width: min(100%, 1180px) !important;
    max-width: 1180px !important;
    min-height: 590px !important;
    margin-inline: auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr) !important;
    align-items: stretch !important;
    direction: ltr !important;
    background: #ffffff !important;
    border: 1px solid rgba(222, 216, 209, .88) !important;
    border-radius: var(--flori-v2-radius-panel) !important;
    box-shadow: var(--flori-v2-shadow-soft) !important;
    overflow: hidden !important;
    isolation: isolate !important;
}

.storefront-page .flori-retail-v2-product .product-modern-media-panel {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    min-height: 590px !important;
    padding: clamp(36px, 4vw, 58px) clamp(34px, 4.2vw, 64px) clamp(28px, 3.2vw, 44px) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
    direction: rtl !important;
    position: relative !important;
    background:
        radial-gradient(circle at 50% 42%, rgba(248, 246, 243, .92), rgba(255, 255, 255, .98) 58%),
        #ffffff !important;
    border: 0 !important;
    border-inline-end: 1px solid rgba(222, 216, 209, .66) !important;
}

.storefront-page .flori-retail-v2-product .product-modern-media-panel::before,
.storefront-page .flori-retail-v2-product .product-modern-media-panel::after {
    content: none !important;
    display: none !important;
}

.storefront-page .flori-retail-v2-product .product-modern-media-frame {
    width: 100% !important;
    height: clamp(390px, 36vw, 475px) !important;
    min-height: 390px !important;
    max-height: 475px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.storefront-page .flori-retail-v2-product .product-modern-image {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: min(94%, 500px) !important;
    max-height: min(445px, 34vw) !important;
    margin: auto !important;
    object-fit: contain !important;
    object-position: center !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    filter: drop-shadow(0 22px 30px rgba(24, 23, 22, .10)) !important;
    transform: none !important;
    mix-blend-mode: multiply !important;
}

.storefront-page .flori-retail-v2-product .product-modern-placeholder {
    min-height: 360px !important;
    display: grid !important;
    place-content: center !important;
    gap: 8px !important;
    text-align: center !important;
    color: var(--flori-muted) !important;
}

.storefront-page .flori-retail-v2-product .product-modern-index {
    top: 28px !important;
    inset-inline-end: 30px !important;
    color: rgba(24, 23, 22, .34) !important;
    font-size: 10px !important;
    letter-spacing: .16em !important;
}

.storefront-page .flori-retail-v2-product .product-modern-media-caption {
    margin-top: clamp(20px, 2vw, 28px) !important;
    padding-top: 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    color: rgba(24, 23, 22, .56) !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    letter-spacing: .08em !important;
    border-top: 1px solid rgba(222, 216, 209, .72) !important;
}

.storefront-page .flori-retail-v2-product .product-modern-media-caption strong {
    color: rgba(24, 23, 22, .76) !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}

.storefront-page .flori-retail-v2-product .product-modern-info-panel {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    min-height: 590px !important;
    padding: clamp(42px, 4vw, 62px) clamp(38px, 4.4vw, 66px) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 0 !important;
    direction: rtl !important;
    text-align: right !important;
    background: #ffffff !important;
}

.storefront-page .flori-retail-v2-product .product-modern-info-panel > .product-modern-kicker {
    margin: 0 0 14px !important;
    color: var(--flori-wine) !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    letter-spacing: .18em !important;
    font-weight: 800 !important;
    text-align: right !important;
}

.storefront-page .flori-retail-v2-product .product-modern-info-panel h1 {
    width: 100% !important;
    max-width: 540px !important;
    margin: 0 !important;
    color: var(--flori-v2-charcoal) !important;
    font-size: clamp(38px, 3.1vw, 56px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.04em !important;
    font-weight: 500 !important;
    text-align: right !important;
    text-wrap: balance !important;
    overflow-wrap: anywhere !important;
}

.storefront-page .flori-retail-v2-product .product-modern-lead {
    width: 100% !important;
    max-width: 540px !important;
    margin: 18px 0 0 !important;
    color: var(--flori-muted) !important;
    font-size: clamp(14px, 1vw, 16px) !important;
    line-height: 1.78 !important;
    text-align: right !important;
}

.storefront-page .flori-retail-v2-product .product-modern-status-card.product-cart-card,
.storefront-page .flori-retail-v2-product .product-modern-status-card {
    width: 100% !important;
    max-width: 540px !important;
    margin-top: clamp(26px, 3vw, 36px) !important;
    padding: clamp(24px, 2.3vw, 30px) !important;
    position: relative !important;
    overflow: hidden !important;
    background:
        linear-gradient(145deg, rgba(255, 254, 252, .99), rgba(251, 248, 244, .94)) !important;
    border: 1px solid rgba(222, 216, 209, .9) !important;
    border-radius: var(--flori-v2-radius-card) !important;
    box-shadow: 0 16px 38px rgba(24, 23, 22, .055) !important;
}

.storefront-page .flori-retail-v2-product .product-modern-status-card.product-cart-card::before,
.storefront-page .flori-retail-v2-product .product-modern-status-card::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: 0 0 auto !important;
    height: 3px !important;
    background: linear-gradient(90deg, var(--flori-wine), var(--flori-gold-soft)) !important;
    pointer-events: none !important;
}

.storefront-page .flori-retail-v2-product .product-modern-status-card > span:first-child {
    display: block !important;
    margin: 0 0 8px !important;
    color: rgba(111, 39, 55, .76) !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    letter-spacing: .14em !important;
    font-weight: 800 !important;
    text-align: right !important;
}

.storefront-page .flori-retail-v2-product .product-modern-status-card h2 {
    margin: 0 !important;
    color: var(--flori-v2-charcoal) !important;
    font-size: clamp(23px, 1.8vw, 30px) !important;
    line-height: 1.16 !important;
    font-weight: 600 !important;
    text-align: right !important;
}

.storefront-page .flori-retail-v2-product .product-modern-status-card > p {
    margin: 8px 0 0 !important;
    color: rgba(24, 23, 22, .62) !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
    text-align: right !important;
}

.storefront-page .flori-retail-v2-product .product-cart-price-row {
    margin-top: 18px !important;
    padding-top: 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    border-top: 1px solid rgba(222, 216, 209, .82) !important;
}

.storefront-page .flori-retail-v2-product .product-cart-price-row strong {
    color: var(--flori-v2-charcoal) !important;
    font-size: clamp(32px, 2.35vw, 42px) !important;
    line-height: 1 !important;
    letter-spacing: -.035em !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

.storefront-page .flori-retail-v2-product .product-cart-price-row span {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 30px !important;
    padding: 6px 10px !important;
    color: var(--flori-v2-success) !important;
    font-size: 11px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
    background: rgba(47, 125, 95, .08) !important;
    border: 1px solid rgba(47, 125, 95, .18) !important;
    border-radius: 999px !important;
}

.storefront-page .flori-retail-v2-product .product-cart-form {
    margin-top: 18px !important;
    display: grid !important;
    grid-template-columns: 112px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: end !important;
}

.storefront-page .flori-retail-v2-product .product-cart-form label {
    min-width: 0 !important;
    display: grid !important;
    gap: 7px !important;
    margin: 0 !important;
}

.storefront-page .flori-retail-v2-product .product-cart-form label span {
    color: rgba(24, 23, 22, .58) !important;
    font-size: 11px !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    text-align: center !important;
}

.storefront-page .flori-retail-v2-product .product-cart-form input[type="number"] {
    width: 100% !important;
    min-width: 0 !important;
    height: 52px !important;
    min-height: 52px !important;
    padding-inline: 10px !important;
    color: var(--flori-v2-charcoal) !important;
    background: #ffffff !important;
    border: 1px solid rgba(222, 216, 209, .95) !important;
    border-radius: var(--flori-v2-radius-control) !important;
    font-size: 17px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    text-align: center !important;
    outline: none !important;
}

.storefront-page .flori-retail-v2-product .product-cart-form input[type="number"]:focus {
    border-color: rgba(111, 39, 55, .48) !important;
    box-shadow: 0 0 0 4px rgba(111, 39, 55, .08) !important;
}

.storefront-page .flori-retail-v2-product .product-cart-form .button-primary {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 52px !important;
    height: 52px !important;
    padding-inline: 22px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    background: var(--flori-wine) !important;
    border: 1px solid var(--flori-wine) !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    box-shadow: 0 14px 30px rgba(111, 39, 55, .18) !important;
    transition:
        transform .18s var(--flori-v2-ease),
        background .18s ease,
        box-shadow .18s ease !important;
}

.storefront-page .flori-retail-v2-product .product-cart-form .button-primary:hover,
.storefront-page .flori-retail-v2-product .product-cart-form .button-primary:focus-visible {
    background: var(--flori-v2-wine-deep) !important;
    border-color: var(--flori-v2-wine-deep) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 17px 36px rgba(111, 39, 55, .24) !important;
}

.storefront-page .flori-retail-v2-product .product-cart-ajax-status {
    margin-top: 10px !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
}

.storefront-page .flori-retail-v2-product .product-cart-alert {
    margin-bottom: 14px !important;
    padding: 11px 13px !important;
    border-radius: 12px !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
}

.storefront-page .flori-retail-v2-product .product-cart-secondary-actions,
.storefront-page .flori-retail-v2-product .product-modern-actions {
    margin-top: 12px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.storefront-page .flori-retail-v2-product .product-cart-secondary-actions .button-secondary,
.storefront-page .flori-retail-v2-product .product-modern-actions .button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    height: auto !important;
    padding: 10px 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--flori-v2-charcoal) !important;
    background: #ffffff !important;
    border: 1px solid rgba(222, 216, 209, .92) !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}

.storefront-page .flori-retail-v2-product .product-cart-secondary-actions .button-secondary:hover,
.storefront-page .flori-retail-v2-product .product-modern-actions .button:hover,
.storefront-page .flori-retail-v2-product .product-cart-secondary-actions .button-secondary:focus-visible,
.storefront-page .flori-retail-v2-product .product-modern-actions .button:focus-visible {
    color: var(--flori-wine) !important;
    border-color: rgba(111, 39, 55, .34) !important;
    background: rgba(111, 39, 55, .035) !important;
}

.storefront-page .flori-retail-v2-product .product-modern-description-card {
    width: min(100%, 1180px) !important;
    max-width: 1180px !important;
    margin: clamp(28px, 3.4vw, 44px) auto 0 !important;
    padding: clamp(34px, 3.7vw, 52px) clamp(34px, 4.3vw, 60px) !important;
    position: relative !important;
    display: block !important;
    direction: rtl !important;
    text-align: right !important;
    background: #ffffff !important;
    border: 1px solid rgba(222, 216, 209, .82) !important;
    border-radius: var(--flori-v2-radius-panel) !important;
    box-shadow: var(--flori-v2-shadow-card) !important;
}

.storefront-page .flori-retail-v2-product .product-modern-description-card > div {
    display: grid !important;
    grid-template-columns: minmax(210px, .34fr) minmax(0, .66fr) !important;
    grid-template-rows: auto 1fr !important;
    column-gap: clamp(34px, 5vw, 72px) !important;
    row-gap: 10px !important;
    align-items: start !important;
}

.storefront-page .flori-retail-v2-product .product-modern-description-card .product-modern-kicker {
    grid-column: 1 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    color: var(--flori-wine) !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    letter-spacing: .16em !important;
    font-weight: 800 !important;
    text-align: right !important;
}

.storefront-page .flori-retail-v2-product .product-modern-description-card h2 {
    grid-column: 1 !important;
    grid-row: 2 !important;
    margin: 0 !important;
    color: var(--flori-v2-charcoal) !important;
    font-size: clamp(30px, 2.8vw, 44px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
    font-weight: 500 !important;
    text-align: right !important;
}

.storefront-page .flori-retail-v2-product .product-modern-description-card p:not(.product-modern-kicker) {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    margin: 0 !important;
    color: rgba(24, 23, 22, .68) !important;
    font-size: 15px !important;
    line-height: 1.9 !important;
    text-align: right !important;
    overflow-wrap: anywhere !important;
}

.storefront-page .flori-retail-v2-product .product-modern-gallery {
    width: min(100%, 1180px) !important;
    max-width: 1180px !important;
    margin: clamp(34px, 4vw, 54px) auto 0 !important;
    padding: 0 !important;
}

.storefront-page .flori-retail-v2-product .product-modern-gallery-heading {
    margin-bottom: 20px !important;
    display: flex !important;
    align-items: end !important;
    justify-content: space-between !important;
    gap: 24px !important;
    direction: rtl !important;
    text-align: right !important;
}

.storefront-page .flori-retail-v2-product .product-modern-gallery-heading .product-modern-kicker {
    margin: 0 0 7px !important;
}

.storefront-page .flori-retail-v2-product .product-modern-gallery-heading h2 {
    margin: 0 !important;
    color: var(--flori-v2-charcoal) !important;
    font-size: clamp(28px, 2.4vw, 38px) !important;
    line-height: 1.1 !important;
    font-weight: 500 !important;
}

.storefront-page .flori-retail-v2-product .product-modern-gallery-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
}

.storefront-page .flori-retail-v2-product .product-modern-gallery-card {
    min-width: 0 !important;
    min-height: 300px !important;
    display: grid !important;
    place-items: center !important;
    padding: 24px !important;
    background:
        linear-gradient(145deg, #ffffff, var(--flori-v2-surface-warm)) !important;
    border: 1px solid rgba(222, 216, 209, .8) !important;
    border-radius: var(--flori-v2-radius-card) !important;
    overflow: hidden !important;
}

.storefront-page .flori-retail-v2-product .product-modern-gallery-card img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 94% !important;
    max-height: 340px !important;
    object-fit: contain !important;
    mix-blend-mode: multiply !important;
}

.storefront-page .flori-retail-v2-product .product-modern-trust-grid {
    width: min(100%, 1180px) !important;
    max-width: 1180px !important;
    margin: clamp(34px, 4vw, 54px) auto 0 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

.storefront-page .flori-retail-v2-product .product-modern-trust-grid article {
    min-width: 0 !important;
    padding: 24px 24px 22px !important;
    position: relative !important;
    background: rgba(255, 255, 255, .82) !important;
    border: 1px solid rgba(222, 216, 209, .78) !important;
    border-radius: var(--flori-v2-radius-card) !important;
    box-shadow: none !important;
}

.storefront-page .flori-retail-v2-product .product-modern-trust-grid article > span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    margin-bottom: 16px !important;
    color: var(--flori-gold) !important;
    background: rgba(177, 138, 86, .08) !important;
    border: 1px solid rgba(177, 138, 86, .22) !important;
    border-radius: 999px !important;
    font-size: 9px !important;
    font-weight: 800 !important;
}

.storefront-page .flori-retail-v2-product .product-modern-trust-grid article h3 {
    margin: 0 !important;
    color: var(--flori-v2-charcoal) !important;
    font-size: 17px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}

.storefront-page .flori-retail-v2-product .product-modern-trust-grid article p {
    margin: 8px 0 0 !important;
    color: var(--flori-muted) !important;
    font-size: 13px !important;
    line-height: 1.65 !important;
}

@media (max-width: 1100px) {
    .storefront-page .flori-retail-v2-product .product-modern-shell {
        grid-template-columns: minmax(0, 1fr) minmax(360px, .92fr) !important;
        min-height: 550px !important;
    }

    .storefront-page .flori-retail-v2-product .product-modern-media-panel,
    .storefront-page .flori-retail-v2-product .product-modern-info-panel {
        min-height: 550px !important;
    }

    .storefront-page .flori-retail-v2-product .product-modern-media-frame {
        height: 390px !important;
        min-height: 350px !important;
    }

    .storefront-page .flori-retail-v2-product .product-modern-image {
        max-height: 365px !important;
    }
}

@media (max-width: 900px) {
    .storefront-page .flori-retail-v2-product .product-modern-container {
        max-width: 760px !important;
    }

    .storefront-page .flori-retail-v2-product .product-modern-shell {
        width: min(100%, 720px) !important;
        grid-template-columns: 1fr !important;
        min-height: 0 !important;
    }

    .storefront-page .flori-retail-v2-product .product-modern-media-panel {
        grid-column: 1 !important;
        grid-row: 1 !important;
        min-height: 430px !important;
        padding: 34px 38px 28px !important;
        border-inline-end: 0 !important;
        border-bottom: 1px solid rgba(222, 216, 209, .66) !important;
    }

    .storefront-page .flori-retail-v2-product .product-modern-info-panel {
        grid-column: 1 !important;
        grid-row: 2 !important;
        min-height: 0 !important;
        padding: 38px 42px 42px !important;
    }

    .storefront-page .flori-retail-v2-product .product-modern-media-frame {
        height: 335px !important;
        min-height: 315px !important;
    }

    .storefront-page .flori-retail-v2-product .product-modern-image {
        max-width: min(90%, 430px) !important;
        max-height: 320px !important;
    }

    .storefront-page .flori-retail-v2-product .product-modern-info-panel h1,
    .storefront-page .flori-retail-v2-product .product-modern-lead,
    .storefront-page .flori-retail-v2-product .product-modern-status-card {
        max-width: 100% !important;
    }

    .storefront-page .flori-retail-v2-product .product-modern-gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .storefront-page .flori-retail-v2-product .product-modern-trust-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 640px) {
    .storefront-page .flori-retail-v2-product.product-modern-section {
        padding-block: 22px 54px !important;
    }

    .storefront-page .flori-retail-v2-product .product-modern-container {
        padding-inline: 14px !important;
    }

    .storefront-page .flori-retail-v2-product .product-modern-breadcrumb {
        margin-bottom: 14px !important;
        padding-inline: 2px !important;
        gap: 8px !important;
        font-size: 11px !important;
    }

    .storefront-page .flori-retail-v2-product .product-modern-shell {
        border-radius: 22px !important;
    }

    .storefront-page .flori-retail-v2-product .product-modern-media-panel {
        min-height: 350px !important;
        padding: 28px 22px 22px !important;
    }

    .storefront-page .flori-retail-v2-product .product-modern-media-frame {
        height: 275px !important;
        min-height: 260px !important;
    }

    .storefront-page .flori-retail-v2-product .product-modern-image {
        max-width: 92% !important;
        max-height: 265px !important;
    }

    .storefront-page .flori-retail-v2-product .product-modern-media-caption {
        margin-top: 16px !important;
        padding-top: 13px !important;
        gap: 12px !important;
        font-size: 9px !important;
    }

    .storefront-page .flori-retail-v2-product .product-modern-info-panel {
        padding: 30px 24px 28px !important;
    }

    .storefront-page .flori-retail-v2-product .product-modern-info-panel > .product-modern-kicker {
        margin-bottom: 10px !important;
    }

    .storefront-page .flori-retail-v2-product .product-modern-info-panel h1 {
        font-size: clamp(30px, 9.3vw, 42px) !important;
        line-height: 1.06 !important;
    }

    .storefront-page .flori-retail-v2-product .product-modern-lead {
        margin-top: 14px !important;
        font-size: 14px !important;
        line-height: 1.68 !important;
    }

    .storefront-page .flori-retail-v2-product .product-modern-status-card.product-cart-card,
    .storefront-page .flori-retail-v2-product .product-modern-status-card {
        margin-top: 22px !important;
        padding: 22px 18px !important;
        border-radius: 18px !important;
    }

    .storefront-page .flori-retail-v2-product .product-cart-price-row {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 10px !important;
    }

    .storefront-page .flori-retail-v2-product .product-cart-price-row strong {
        font-size: 34px !important;
    }

    .storefront-page .flori-retail-v2-product .product-cart-form {
        grid-template-columns: 96px minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    .storefront-page .flori-retail-v2-product .product-cart-form input[type="number"],
    .storefront-page .flori-retail-v2-product .product-cart-form .button-primary {
        min-height: 50px !important;
        height: 50px !important;
    }

    .storefront-page .flori-retail-v2-product .product-modern-description-card {
        margin-top: 24px !important;
        padding: 28px 22px !important;
        border-radius: 22px !important;
    }

    .storefront-page .flori-retail-v2-product .product-modern-description-card > div {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto !important;
        gap: 9px !important;
    }

    .storefront-page .flori-retail-v2-product .product-modern-description-card .product-modern-kicker,
    .storefront-page .flori-retail-v2-product .product-modern-description-card h2,
    .storefront-page .flori-retail-v2-product .product-modern-description-card p:not(.product-modern-kicker) {
        grid-column: 1 !important;
        grid-row: auto !important;
    }

    .storefront-page .flori-retail-v2-product .product-modern-description-card h2 {
        margin-top: 0 !important;
        font-size: 32px !important;
    }

    .storefront-page .flori-retail-v2-product .product-modern-description-card p:not(.product-modern-kicker) {
        margin-top: 10px !important;
        font-size: 14px !important;
        line-height: 1.82 !important;
    }

    .storefront-page .flori-retail-v2-product .product-modern-gallery {
        margin-top: 30px !important;
    }

    .storefront-page .flori-retail-v2-product .product-modern-gallery-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .storefront-page .flori-retail-v2-product .product-modern-gallery-card {
        min-height: 260px !important;
        border-radius: 18px !important;
    }

    .storefront-page .flori-retail-v2-product .product-modern-trust-grid {
        margin-top: 30px !important;
        gap: 10px !important;
    }

    .storefront-page .flori-retail-v2-product .product-modern-trust-grid article {
        padding: 20px !important;
        border-radius: 18px !important;
    }
}

@media (max-width: 359px) {
    .storefront-page .flori-retail-v2-product .product-modern-info-panel {
        padding-inline: 18px !important;
    }

    .storefront-page .flori-retail-v2-product .product-modern-info-panel h1 {
        font-size: 29px !important;
    }

    .storefront-page .flori-retail-v2-product .product-cart-form,
    .storefront-page .flori-retail-v2-product .product-cart-secondary-actions,
    .storefront-page .flori-retail-v2-product .product-modern-actions {
        grid-template-columns: 1fr !important;
    }

    .storefront-page .flori-retail-v2-product .product-cart-form label span {
        text-align: right !important;
    }
}

/* ================================================================================================
   FLORI RETAIL CART V2 — C2A
   Scientific-luxury ecommerce cart candidate.
   Scope: .flori-retail-v2-cart only.
   Preserves CartController behavior, PATCH/DELETE forms, prices, stock caps, checkout flow,
   HE/AR content, Product Detail V2, Shop V2 and Home V2.
   ================================================================================================ */

.storefront-page .flori-retail-v2-cart.cart-modern-section {
    --flori-cart-v2-surface: #fffefc;
    --flori-cart-v2-surface-warm: #fbf8f4;
    --flori-cart-v2-ink: #181716;
    --flori-cart-v2-muted: #716c67;
    --flori-cart-v2-wine: #6f2737;
    --flori-cart-v2-wine-deep: #4b1925;
    --flori-cart-v2-gold: #b18a56;
    --flori-cart-v2-gold-soft: #d6c19f;
    --flori-cart-v2-border: #ded8d1;
    --flori-cart-v2-success: #2f7d5f;
    --flori-cart-v2-radius-control: 14px;
    --flori-cart-v2-radius-card: 22px;
    --flori-cart-v2-radius-panel: 28px;
    --flori-cart-v2-shadow-soft: 0 24px 60px rgba(24, 23, 22, .075);
    --flori-cart-v2-shadow-card: 0 14px 38px rgba(24, 23, 22, .06);
    --flori-cart-v2-ease: cubic-bezier(.2, .75, .25, 1);

    padding: clamp(36px, 4.2vw, 60px) 0 clamp(70px, 7vw, 108px) !important;
    overflow: clip !important;
    background:
        radial-gradient(circle at 12% 2%, rgba(177, 138, 86, .075), transparent 28%),
        linear-gradient(180deg, #fffefc 0%, #fbf8f4 52%, #ffffff 100%) !important;
    color: var(--flori-cart-v2-ink) !important;
}

.storefront-page .flori-retail-v2-cart .cart-modern-container {
    width: min(100%, 1240px) !important;
    max-width: 1240px !important;
    margin-inline: auto !important;
    padding-inline: clamp(18px, 3vw, 32px) !important;
}

.storefront-page .flori-retail-v2-cart .cart-modern-hero {
    width: min(100%, 900px) !important;
    max-width: 900px !important;
    margin: 0 0 clamp(24px, 3vw, 34px) !important;
    padding: 0 0 clamp(22px, 2.6vw, 30px) !important;
    position: relative !important;
    border-bottom: 1px solid rgba(222, 216, 209, .84) !important;
}

.storefront-page .flori-retail-v2-cart .cart-modern-kicker,
.storefront-page .flori-retail-v2-cart .cart-panel-heading > span,
.storefront-page .flori-retail-v2-cart .cart-summary-panel > span,
.storefront-page .flori-retail-v2-cart .cart-empty-card > span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    direction: ltr !important;
    color: var(--flori-cart-v2-wine) !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    letter-spacing: .16em !important;
}

.storefront-page .flori-retail-v2-cart .cart-modern-kicker::before,
.storefront-page .flori-retail-v2-cart .cart-panel-heading > span::before,
.storefront-page .flori-retail-v2-cart .cart-summary-panel > span::before,
.storefront-page .flori-retail-v2-cart .cart-empty-card > span::before {
    content: "" !important;
    width: 18px !important;
    height: 1px !important;
    background: var(--flori-cart-v2-gold) !important;
    opacity: .78 !important;
}

.storefront-page .flori-retail-v2-cart .cart-modern-hero h1 {
    max-width: 780px !important;
    margin: 11px 0 0 !important;
    color: var(--flori-cart-v2-ink) !important;
    font-size: clamp(38px, 4.8vw, 68px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.045em !important;
    font-weight: 500 !important;
    text-wrap: balance !important;
}

.storefront-page .flori-retail-v2-cart .cart-modern-hero > p {
    max-width: 700px !important;
    margin: 15px 0 0 !important;
    color: var(--flori-cart-v2-muted) !important;
    font-size: clamp(14px, 1.15vw, 16px) !important;
    line-height: 1.75 !important;
}

.storefront-page .flori-retail-v2-cart .cart-modern-alert {
    width: min(100%, 900px) !important;
    margin: 0 0 18px !important;
    padding: 13px 16px !important;
    border-radius: var(--flori-cart-v2-radius-control) !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
    box-shadow: none !important;
}

.storefront-page .flori-retail-v2-cart .cart-modern-alert-success {
    color: #245f49 !important;
    background: rgba(47, 125, 95, .075) !important;
    border: 1px solid rgba(47, 125, 95, .18) !important;
}

.storefront-page .flori-retail-v2-cart .cart-modern-alert-error {
    color: var(--flori-cart-v2-wine-deep) !important;
    background: rgba(111, 39, 55, .055) !important;
    border: 1px solid rgba(111, 39, 55, .18) !important;
}

.storefront-page .flori-retail-v2-cart .cart-page-ajax-status[hidden],
.storefront-page .flori-retail-v2-cart .cart-item-inline-status[hidden] {
    display: none !important;
}

/* EMPTY CART ---------------------------------------------------------------------------------- */

.storefront-page .flori-retail-v2-cart .cart-empty-card {
    width: min(100%, 900px) !important;
    min-height: 330px !important;
    padding: clamp(34px, 5vw, 62px) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    position: relative !important;
    overflow: hidden !important;
    background:
        radial-gradient(circle at 12% 22%, rgba(177, 138, 86, .09), transparent 34%),
        #ffffff !important;
    border: 1px solid rgba(222, 216, 209, .88) !important;
    border-radius: var(--flori-cart-v2-radius-panel) !important;
    box-shadow: var(--flori-cart-v2-shadow-soft) !important;
}

.storefront-page .flori-retail-v2-cart .cart-empty-card::after {
    content: "FLORI" !important;
    position: absolute !important;
    inset-inline-end: clamp(26px, 5vw, 54px) !important;
    bottom: clamp(16px, 3vw, 28px) !important;
    direction: ltr !important;
    color: rgba(111, 39, 55, .035) !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(64px, 10vw, 130px) !important;
    line-height: .8 !important;
    font-weight: 700 !important;
    letter-spacing: -.06em !important;
    pointer-events: none !important;
}

.storefront-page .flori-retail-v2-cart .cart-empty-card h2 {
    max-width: 620px !important;
    margin: 12px 0 0 !important;
    color: var(--flori-cart-v2-ink) !important;
    font-size: clamp(30px, 3.5vw, 48px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
    font-weight: 500 !important;
    position: relative !important;
    z-index: 1 !important;
}

.storefront-page .flori-retail-v2-cart .cart-empty-card p {
    max-width: 560px !important;
    margin: 16px 0 24px !important;
    color: var(--flori-cart-v2-muted) !important;
    font-size: 14px !important;
    line-height: 1.8 !important;
    position: relative !important;
    z-index: 1 !important;
}

.storefront-page .flori-retail-v2-cart .cart-empty-card .button-primary {
    min-height: 48px !important;
    padding: 0 24px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    z-index: 1 !important;
    color: #ffffff !important;
    background: var(--flori-cart-v2-wine) !important;
    border: 1px solid var(--flori-cart-v2-wine) !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    box-shadow: 0 14px 30px rgba(111, 39, 55, .17) !important;
    transition:
        transform .18s var(--flori-cart-v2-ease),
        background .18s ease,
        box-shadow .18s ease !important;
}

.storefront-page .flori-retail-v2-cart .cart-empty-card .button-primary:hover,
.storefront-page .flori-retail-v2-cart .cart-empty-card .button-primary:focus-visible {
    background: var(--flori-cart-v2-wine-deep) !important;
    border-color: var(--flori-cart-v2-wine-deep) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 18px 36px rgba(111, 39, 55, .23) !important;
}

/* POPULATED CART ------------------------------------------------------------------------------ */

.storefront-page .flori-retail-v2-cart .cart-modern-grid {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(300px, 360px) minmax(0, 1fr) !important;
    align-items: start !important;
    gap: clamp(20px, 2.6vw, 32px) !important;
    direction: ltr !important;
}

.storefront-page .flori-retail-v2-cart .cart-items-panel,
.storefront-page .flori-retail-v2-cart .cart-summary-panel {
    min-width: 0 !important;
    background: #ffffff !important;
    border: 1px solid rgba(222, 216, 209, .88) !important;
    border-radius: var(--flori-cart-v2-radius-panel) !important;
    box-shadow: var(--flori-cart-v2-shadow-card) !important;
}

.storefront-page .flori-retail-v2-cart .cart-items-panel {
    grid-column: 2 !important;
    grid-row: 1 !important;
    direction: rtl !important;
    padding: clamp(22px, 2.6vw, 32px) !important;
}

.storefront-page .flori-retail-v2-cart .cart-summary-panel {
    grid-column: 1 !important;
    grid-row: 1 !important;
    direction: rtl !important;
}

.storefront-page .flori-retail-v2-cart .cart-panel-heading {
    margin: 0 0 18px !important;
    padding: 0 2px 18px !important;
    border-bottom: 1px solid rgba(222, 216, 209, .74) !important;
}

.storefront-page .flori-retail-v2-cart .cart-panel-heading h2 {
    margin: 9px 0 0 !important;
    color: var(--flori-cart-v2-ink) !important;
    font-size: clamp(25px, 2.2vw, 34px) !important;
    line-height: 1.1 !important;
    letter-spacing: -.035em !important;
    font-weight: 500 !important;
}

.storefront-page .flori-retail-v2-cart .cart-item-card {
    margin-top: 14px !important;
    padding: 20px !important;
    display: grid !important;
    grid-template-columns: 126px minmax(0, 1fr) 176px !important;
    gap: clamp(16px, 2vw, 24px) !important;
    align-items: center !important;
    background:
        linear-gradient(145deg, #ffffff 0%, rgba(251, 248, 244, .72) 100%) !important;
    border: 1px solid rgba(222, 216, 209, .74) !important;
    border-radius: var(--flori-cart-v2-radius-card) !important;
    box-shadow: none !important;
}

.storefront-page .flori-retail-v2-cart .cart-item-card:first-of-type {
    margin-top: 0 !important;
}

.storefront-page .flori-retail-v2-cart .cart-item-media {
    width: 126px !important;
    min-width: 0 !important;
    min-height: 126px !important;
    height: 126px !important;
    padding: 12px !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
    background:
        radial-gradient(circle at 50% 42%, rgba(255, 255, 255, .98), rgba(248, 246, 243, .90)) !important;
    border: 1px solid rgba(222, 216, 209, .72) !important;
    border-radius: 18px !important;
}

.storefront-page .flori-retail-v2-cart .cart-item-media img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 106px !important;
    object-fit: contain !important;
    background: transparent !important;
    mix-blend-mode: multiply !important;
    filter: drop-shadow(0 12px 18px rgba(24, 23, 22, .10)) !important;
}

.storefront-page .flori-retail-v2-cart .cart-item-media span {
    direction: ltr !important;
    color: rgba(24, 23, 22, .24) !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
}

.storefront-page .flori-retail-v2-cart .cart-item-main {
    min-width: 0 !important;
}

.storefront-page .flori-retail-v2-cart .cart-item-main h3 {
    margin: 0 !important;
    color: var(--flori-cart-v2-ink) !important;
    font-size: clamp(18px, 1.55vw, 24px) !important;
    line-height: 1.22 !important;
    letter-spacing: -.025em !important;
    font-weight: 600 !important;
    overflow-wrap: anywhere !important;
}

.storefront-page .flori-retail-v2-cart .cart-item-main h3 a {
    color: inherit !important;
    text-decoration: none !important;
    transition: color .18s ease !important;
}

.storefront-page .flori-retail-v2-cart .cart-item-main h3 a:hover,
.storefront-page .flori-retail-v2-cart .cart-item-main h3 a:focus-visible {
    color: var(--flori-cart-v2-wine) !important;
}

.storefront-page .flori-retail-v2-cart .cart-item-main > p {
    margin: 7px 0 0 !important;
    color: var(--flori-cart-v2-muted) !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
}

.storefront-page .flori-retail-v2-cart .cart-item-meta {
    margin-top: 13px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    color: var(--flori-cart-v2-muted) !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
}

.storefront-page .flori-retail-v2-cart .cart-item-meta > span {
    min-height: 28px !important;
    padding: 6px 9px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    background: rgba(248, 246, 243, .9) !important;
    border: 1px solid rgba(222, 216, 209, .72) !important;
    border-radius: 999px !important;
}

.storefront-page .flori-retail-v2-cart .cart-item-meta strong {
    color: var(--flori-cart-v2-ink) !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

.storefront-page .flori-retail-v2-cart .cart-item-actions {
    min-width: 0 !important;
    display: grid !important;
    gap: 8px !important;
}

.storefront-page .flori-retail-v2-cart .cart-quantity-form {
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: 66px minmax(0, 1fr) !important;
    gap: 8px !important;
    align-items: end !important;
}

.storefront-page .flori-retail-v2-cart .cart-quantity-form label {
    grid-column: 1 / -1 !important;
    margin: 0 !important;
    color: var(--flori-cart-v2-muted) !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
}

.storefront-page .flori-retail-v2-cart .cart-quantity-form input[type="number"] {
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    min-height: 44px !important;
    padding-inline: 8px !important;
    color: var(--flori-cart-v2-ink) !important;
    background: #ffffff !important;
    border: 1px solid rgba(222, 216, 209, .95) !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    text-align: center !important;
    outline: none !important;
    box-shadow: none !important;
}

.storefront-page .flori-retail-v2-cart .cart-quantity-form input[type="number"]:focus {
    border-color: rgba(111, 39, 55, .42) !important;
    box-shadow: 0 0 0 4px rgba(111, 39, 55, .075) !important;
}

.storefront-page .flori-retail-v2-cart .cart-update-button.button-secondary {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    height: 44px !important;
    padding: 0 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--flori-cart-v2-wine) !important;
    background: rgba(111, 39, 55, .035) !important;
    border: 1px solid rgba(111, 39, 55, .22) !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    box-shadow: none !important;
    transition:
        background .18s ease,
        border-color .18s ease !important;
}

.storefront-page .flori-retail-v2-cart .cart-update-button.button-secondary:hover,
.storefront-page .flori-retail-v2-cart .cart-update-button.button-secondary:focus-visible {
    color: #ffffff !important;
    background: var(--flori-cart-v2-wine) !important;
    border-color: var(--flori-cart-v2-wine) !important;
}

.storefront-page .flori-retail-v2-cart .cart-remove-button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 38px !important;
    padding: 0 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: rgba(111, 39, 55, .82) !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    border-radius: 999px !important;
    font: inherit !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    box-shadow: none !important;
    transition:
        color .18s ease,
        background .18s ease,
        border-color .18s ease !important;
}

.storefront-page .flori-retail-v2-cart .cart-remove-button:hover,
.storefront-page .flori-retail-v2-cart .cart-remove-button:focus-visible {
    color: var(--flori-cart-v2-wine-deep) !important;
    background: rgba(111, 39, 55, .05) !important;
    border-color: rgba(111, 39, 55, .16) !important;
}

.storefront-page .flori-retail-v2-cart .cart-item-inline-status {
    grid-column: 1 / -1 !important;
    margin-top: 1px !important;
    color: var(--flori-cart-v2-muted) !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
}

/* SUMMARY ------------------------------------------------------------------------------------- */

.storefront-page .flori-retail-v2-cart .cart-summary-panel {
    position: sticky !important;
    top: 104px !important;
    padding: clamp(26px, 2.6vw, 34px) !important;
    overflow: hidden !important;
    background:
        linear-gradient(145deg, #ffffff 0%, rgba(251, 248, 244, .86) 100%) !important;
}

.storefront-page .flori-retail-v2-cart .cart-summary-panel::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 0 auto !important;
    height: 3px !important;
    background: linear-gradient(90deg, var(--flori-cart-v2-wine), var(--flori-cart-v2-gold-soft)) !important;
    pointer-events: none !important;
}

.storefront-page .flori-retail-v2-cart .cart-summary-panel h2 {
    margin: 10px 0 0 !important;
    color: var(--flori-cart-v2-ink) !important;
    font-size: clamp(28px, 2.3vw, 36px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
    font-weight: 500 !important;
}

.storefront-page .flori-retail-v2-cart .cart-summary-row {
    margin: 22px 0 16px !important;
    padding: 18px 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    border-top: 1px solid rgba(222, 216, 209, .84) !important;
    border-bottom: 1px solid rgba(222, 216, 209, .84) !important;
}

.storefront-page .flori-retail-v2-cart .cart-summary-row > span {
    color: var(--flori-cart-v2-muted) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

.storefront-page .flori-retail-v2-cart .cart-summary-row > strong {
    color: var(--flori-cart-v2-ink) !important;
    font-size: clamp(29px, 2.4vw, 38px) !important;
    line-height: 1 !important;
    letter-spacing: -.035em !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

.storefront-page .flori-retail-v2-cart .cart-summary-panel > p {
    margin: 0 0 20px !important;
    color: var(--flori-cart-v2-muted) !important;
    font-size: 12px !important;
    line-height: 1.7 !important;
}

.storefront-page .flori-retail-v2-cart .cart-summary-panel > .button {
    width: 100% !important;
    min-height: 48px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 11px 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-align: center !important;
    box-shadow: none !important;
}

.storefront-page .flori-retail-v2-cart .cart-summary-panel > .button + .button {
    margin-top: 10px !important;
}

.storefront-page .flori-retail-v2-cart .cart-summary-panel > .button-primary {
    color: #ffffff !important;
    background: var(--flori-cart-v2-wine) !important;
    border: 1px solid var(--flori-cart-v2-wine) !important;
    box-shadow: 0 14px 30px rgba(111, 39, 55, .18) !important;
    transition:
        transform .18s var(--flori-cart-v2-ease),
        background .18s ease,
        box-shadow .18s ease !important;
}

.storefront-page .flori-retail-v2-cart .cart-summary-panel > .button-primary:hover,
.storefront-page .flori-retail-v2-cart .cart-summary-panel > .button-primary:focus-visible {
    background: var(--flori-cart-v2-wine-deep) !important;
    border-color: var(--flori-cart-v2-wine-deep) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 18px 36px rgba(111, 39, 55, .24) !important;
}

.storefront-page .flori-retail-v2-cart .cart-summary-panel > .button-secondary {
    color: var(--flori-cart-v2-ink) !important;
    background: #ffffff !important;
    border: 1px solid rgba(222, 216, 209, .92) !important;
}

.storefront-page .flori-retail-v2-cart .cart-summary-panel > .button-secondary:hover,
.storefront-page .flori-retail-v2-cart .cart-summary-panel > .button-secondary:focus-visible {
    color: var(--flori-cart-v2-wine) !important;
    background: rgba(111, 39, 55, .025) !important;
    border-color: rgba(111, 39, 55, .30) !important;
}

/* TABLET -------------------------------------------------------------------------------------- */

@media (max-width: 1040px) {
    .storefront-page .flori-retail-v2-cart .cart-modern-grid {
        grid-template-columns: minmax(270px, 320px) minmax(0, 1fr) !important;
        gap: 18px !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-item-card {
        grid-template-columns: 110px minmax(0, 1fr) !important;
        gap: 16px !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-item-media {
        width: 110px !important;
        height: 110px !important;
        min-height: 110px !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-item-media img {
        max-height: 92px !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-item-actions {
        grid-column: 1 / -1 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 112px !important;
        gap: 10px !important;
        align-items: end !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-item-actions > form:last-child {
        align-self: end !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-remove-button {
        min-height: 44px !important;
        border-color: rgba(111, 39, 55, .14) !important;
    }
}

@media (max-width: 980px) {
    .storefront-page .flori-retail-v2-cart .cart-modern-container {
        max-width: 760px !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-modern-grid {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-items-panel {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-summary-panel {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-summary-panel {
        position: static !important;
        top: auto !important;
    }
}

/* MOBILE -------------------------------------------------------------------------------------- */

@media (max-width: 640px) {
    .storefront-page .flori-retail-v2-cart.cart-modern-section {
        padding: 26px 0 58px !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-modern-container {
        padding-inline: 14px !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-modern-hero {
        margin-bottom: 18px !important;
        padding-bottom: 18px !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-modern-hero h1 {
        margin-top: 9px !important;
        font-size: clamp(31px, 9vw, 42px) !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-modern-hero > p {
        margin-top: 11px !important;
        font-size: 13px !important;
        line-height: 1.65 !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-empty-card {
        min-height: 300px !important;
        padding: 28px 22px !important;
        border-radius: 22px !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-empty-card h2 {
        font-size: 31px !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-items-panel,
    .storefront-page .flori-retail-v2-cart .cart-summary-panel {
        border-radius: 22px !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-items-panel {
        padding: 16px !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-panel-heading {
        padding-inline: 2px !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-item-card {
        padding: 15px !important;
        grid-template-columns: 92px minmax(0, 1fr) !important;
        gap: 13px !important;
        border-radius: 18px !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-item-media {
        width: 92px !important;
        height: 92px !important;
        min-height: 92px !important;
        padding: 9px !important;
        border-radius: 15px !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-item-media img {
        max-height: 76px !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-item-main h3 {
        font-size: 17px !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-item-main > p {
        font-size: 11px !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-item-meta {
        grid-column: 1 / -1 !important;
        gap: 6px !important;
        font-size: 10px !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-item-meta > span {
        min-height: 26px !important;
        padding: 5px 8px !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-item-actions {
        grid-column: 1 / -1 !important;
        grid-template-columns: 1fr !important;
        gap: 7px !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-quantity-form {
        grid-template-columns: 78px minmax(0, 1fr) !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-remove-button {
        width: auto !important;
        justify-self: start !important;
        min-height: 34px !important;
        padding-inline: 8px !important;
        border-color: transparent !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-summary-panel {
        padding: 24px 20px !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-summary-panel h2 {
        font-size: 30px !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-summary-row > strong {
        font-size: 31px !important;
    }
}

@media (max-width: 420px) {
    .storefront-page .flori-retail-v2-cart .cart-item-card {
        grid-template-columns: 78px minmax(0, 1fr) !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-item-media {
        width: 78px !important;
        height: 78px !important;
        min-height: 78px !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-item-media img {
        max-height: 64px !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-item-main h3 {
        font-size: 16px !important;
    }
}

@media (max-width: 359px) {
    .storefront-page .flori-retail-v2-cart .cart-item-card {
        grid-template-columns: 1fr !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-item-media {
        width: 100% !important;
        height: 150px !important;
        min-height: 150px !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-item-media img {
        max-height: 130px !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-quantity-form {
        grid-template-columns: 1fr !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-quantity-form label {
        grid-column: 1 !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-remove-button {
        width: 100% !important;
        justify-self: stretch !important;
    }

    .storefront-page .flori-retail-v2-cart .cart-summary-row {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 8px !important;
    }
}

/* ================================================================================================
   FLORI_RETAIL_CHECKOUT_V2_C2A_R1
   Candidate-only scoped delta.
   Scientific-luxury Checkout + Thank-you continuity.
   No external assets. No imports. No JS dependency.
   ================================================================================================ */

.storefront-page .flori-retail-v2-checkout {
    --flori-checkout-canvas: #f8f6f3;
    --flori-checkout-surface: #fffefc;
    --flori-checkout-warm: #fbf8f4;
    --flori-checkout-soft: #eee9e3;
    --flori-checkout-border: #ded8d1;
    --flori-checkout-ink: #181716;
    --flori-checkout-muted: #716c67;
    --flori-checkout-wine: #6f2737;
    --flori-checkout-wine-deep: #4b1925;
    --flori-checkout-gold: #b18a56;
    --flori-checkout-gold-soft: #d6c19f;
    position: relative !important;
    isolation: isolate !important;
    padding: 46px 0 84px !important;
    overflow: clip !important;
    background:
        radial-gradient(circle at 7% 4%, rgba(177, 138, 86, .09), transparent 27%),
        radial-gradient(circle at 92% 16%, rgba(111, 39, 55, .055), transparent 30%),
        var(--flori-checkout-canvas) !important;
}

.storefront-page .flori-retail-v2-checkout::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 0 auto 0 !important;
    height: 1px !important;
    background: linear-gradient(90deg, transparent, rgba(177, 138, 86, .55), transparent) !important;
    pointer-events: none !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-modern-hero {
    width: min(100% - 48px, 1280px) !important;
    margin: 0 auto 30px !important;
    padding: 0 0 24px !important;
    display: grid !important;
    gap: 9px !important;
    border-bottom: 1px solid rgba(222, 216, 209, .9) !important;
    text-align: right !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-modern-hero > span {
    margin: 0 !important;
    color: var(--flori-checkout-wine) !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-modern-hero h1 {
    max-width: 850px !important;
    margin: 0 !important;
    color: var(--flori-checkout-ink) !important;
    font-size: clamp(44px, 5.4vw, 76px) !important;
    line-height: .96 !important;
    letter-spacing: -.05em !important;
    font-weight: 500 !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-modern-hero p {
    max-width: 760px !important;
    margin: 3px 0 0 !important;
    color: rgba(24, 23, 22, .64) !important;
    font-size: 14px !important;
    line-height: 1.75 !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-modern-grid {
    width: min(100% - 48px, 1280px) !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.42fr) minmax(320px, .78fr) !important;
    gap: 28px !important;
    align-items: start !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-form-panel,
.storefront-page .flori-retail-v2-checkout .checkout-summary-panel,
.storefront-page .flori-retail-v2-checkout .checkout-thank-you-card {
    border: 1px solid rgba(222, 216, 209, .92) !important;
    border-radius: 2px !important;
    background: rgba(255, 254, 252, .97) !important;
    box-shadow: 0 22px 64px rgba(24, 23, 22, .065) !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-form-panel {
    padding: 34px 38px 38px !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-summary-panel {
    padding: 30px !important;
    position: sticky !important;
    top: 108px !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-panel-heading {
    margin: 0 0 24px !important;
    padding: 0 0 17px !important;
    border-bottom: 1px solid rgba(222, 216, 209, .82) !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-panel-heading > span {
    display: block !important;
    margin: 0 0 8px !important;
    color: var(--flori-checkout-wine) !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: .17em !important;
    text-transform: uppercase !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-panel-heading h2 {
    margin: 0 !important;
    color: var(--flori-checkout-ink) !important;
    font-size: clamp(28px, 3.1vw, 42px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.04em !important;
    font-weight: 500 !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-field {
    display: grid !important;
    gap: 7px !important;
    margin: 0 0 15px !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-field > span {
    color: rgba(24, 23, 22, .72) !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    font-weight: 750 !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-field input,
.storefront-page .flori-retail-v2-checkout .checkout-field textarea,
.storefront-page .flori-retail-v2-checkout .checkout-field select {
    width: 100% !important;
    min-height: 48px !important;
    padding: 11px 13px !important;
    border: 1px solid rgba(222, 216, 209, .98) !important;
    border-radius: 2px !important;
    outline: 0 !important;
    background: #fff !important;
    color: var(--flori-checkout-ink) !important;
    font: inherit !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8) !important;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-field textarea {
    min-height: 96px !important;
    resize: vertical !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-field input:focus,
.storefront-page .flori-retail-v2-checkout .checkout-field textarea:focus,
.storefront-page .flori-retail-v2-checkout .checkout-field select:focus {
    border-color: rgba(111, 39, 55, .58) !important;
    background: #fffefc !important;
    box-shadow: 0 0 0 3px rgba(111, 39, 55, .08) !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-field small,
.storefront-page .flori-retail-v2-checkout .checkout-error {
    color: #9c3149 !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-choice-section {
    margin: 22px 0 !important;
    padding: 21px !important;
    border: 1px solid rgba(111, 39, 55, .14) !important;
    border-radius: 2px !important;
    background:
        linear-gradient(135deg, rgba(251, 248, 244, .98), rgba(255, 254, 252, .94)) !important;
    box-shadow: inset 3px 0 0 rgba(177, 138, 86, .34) !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-choice-heading {
    margin: 0 0 15px !important;
    padding: 0 0 13px !important;
    border-bottom: 1px solid rgba(111, 39, 55, .11) !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-choice-heading > span {
    display: block !important;
    margin: 0 0 5px !important;
    color: var(--flori-checkout-wine) !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 850 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-choice-heading > strong {
    display: block !important;
    color: var(--flori-checkout-ink) !important;
    font-size: 17px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-choice-heading > small {
    display: block !important;
    margin: 5px 0 0 !important;
    color: rgba(24, 23, 22, .58) !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-fulfillment-section .checkout-choice-group {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 11px !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-payment-method-group {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-choice-group label {
    min-width: 0 !important;
    min-height: 92px !important;
    margin: 0 !important;
    padding: 14px !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: start !important;
    border: 1px solid rgba(222, 216, 209, .9) !important;
    border-radius: 2px !important;
    background: rgba(255, 255, 255, .86) !important;
    cursor: pointer !important;
    transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-choice-group label:hover {
    border-color: rgba(111, 39, 55, .32) !important;
    background: #fff !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-choice-group label:has(input:checked) {
    border-color: rgba(111, 39, 55, .62) !important;
    background: rgba(111, 39, 55, .035) !important;
    box-shadow: 0 8px 24px rgba(111, 39, 55, .07) !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-choice-group input {
    width: 17px !important;
    height: 17px !important;
    margin: 3px 0 0 !important;
    accent-color: var(--flori-checkout-wine) !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-choice-group label > span {
    min-width: 0 !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-choice-group strong {
    display: block !important;
    color: var(--flori-checkout-ink) !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-choice-group small {
    display: block !important;
    margin-top: 4px !important;
    color: rgba(24, 23, 22, .58) !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-choice-group label[aria-disabled="true"],
.storefront-page .flori-retail-v2-checkout .checkout-choice-group label.flori-checkout-cash-unavailable {
    opacity: .48 !important;
    cursor: not-allowed !important;
    box-shadow: none !important;
}

.storefront-page .flori-retail-v2-checkout [data-cash-on-pickup-note] {
    grid-column: 1 / -1 !important;
    padding: 9px 11px !important;
    border-inline-start: 2px solid rgba(177, 138, 86, .78) !important;
    background: rgba(177, 138, 86, .07) !important;
    color: rgba(24, 23, 22, .66) !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-delivery-address-section {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 14px !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-delivery-address-section .checkout-choice-heading,
.storefront-page .flori-retail-v2-checkout .checkout-delivery-address-section > .checkout-field:has(textarea) {
    grid-column: 1 / -1 !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-terms {
    margin: 22px 0 16px !important;
    padding: 14px 15px !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    border: 1px solid rgba(222, 216, 209, .8) !important;
    background: rgba(251, 248, 244, .62) !important;
    color: rgba(24, 23, 22, .67) !important;
    font-size: 12px !important;
    line-height: 1.65 !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-terms input {
    width: 17px !important;
    height: 17px !important;
    margin-top: 2px !important;
    flex: 0 0 auto !important;
    accent-color: var(--flori-checkout-wine) !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-terms a {
    color: var(--flori-checkout-wine) !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-form-panel > .button.button-primary,
.storefront-page .flori-retail-v2-checkout .checkout-form-panel button[type="submit"] {
    width: 100% !important;
    min-height: 52px !important;
    margin-top: 6px !important;
    border: 1px solid var(--flori-checkout-wine) !important;
    border-radius: 999px !important;
    background: var(--flori-checkout-wine) !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: .02em !important;
    box-shadow: 0 16px 34px rgba(111, 39, 55, .18) !important;
    transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-form-panel > .button.button-primary:hover,
.storefront-page .flori-retail-v2-checkout .checkout-form-panel button[type="submit"]:hover {
    transform: translateY(-1px) !important;
    background: var(--flori-checkout-wine-deep) !important;
    box-shadow: 0 18px 40px rgba(111, 39, 55, .22) !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-summary-items {
    display: grid !important;
    gap: 14px !important;
    margin: 0 0 18px !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-summary-item {
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: 64px minmax(0, 1fr) auto !important;
    gap: 13px !important;
    align-items: center !important;
    padding: 0 0 14px !important;
    border-bottom: 1px solid rgba(222, 216, 209, .7) !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-summary-media {
    width: 64px !important;
    height: 64px !important;
    overflow: hidden !important;
    border: 1px solid rgba(222, 216, 209, .76) !important;
    border-radius: 2px !important;
    background: #fff !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-summary-media img {
    width: 100% !important;
    height: 100% !important;
    padding: 7px !important;
    object-fit: contain !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-summary-item > div:not(.checkout-summary-media) {
    min-width: 0 !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-summary-item strong {
    color: var(--flori-checkout-ink) !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-summary-item span,
.storefront-page .flori-retail-v2-checkout .checkout-summary-item b {
    color: rgba(24, 23, 22, .6) !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-total-card {
    margin: 0 0 17px !important;
    padding: 18px !important;
    display: grid !important;
    gap: 10px !important;
    border: 1px solid rgba(222, 216, 209, .82) !important;
    background: var(--flori-checkout-warm) !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-total-card > div {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 15px !important;
    color: rgba(24, 23, 22, .65) !important;
    font-size: 13px !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-total-card > div strong {
    color: var(--flori-checkout-ink) !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-grand-total {
    margin-top: 4px !important;
    padding-top: 13px !important;
    border-top: 1px solid rgba(222, 216, 209, .9) !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-grand-total strong {
    color: var(--flori-checkout-wine) !important;
    font-size: 22px !important;
    line-height: 1 !important;
    font-weight: 750 !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-summary-panel > p {
    margin: 0 0 17px !important;
    color: rgba(24, 23, 22, .6) !important;
    font-size: 12px !important;
    line-height: 1.7 !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-summary-panel > .button.button-secondary {
    width: 100% !important;
    min-height: 46px !important;
    border-radius: 999px !important;
}

.storefront-page .flori-retail-v2-checkout.checkout-thank-you-section {
    min-height: calc(100vh - 180px) !important;
    display: grid !important;
    place-items: start center !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-thank-you-card {
    width: min(100% - 48px, 760px) !important;
    margin: 14px auto 0 !important;
    padding: 44px !important;
    position: relative !important;
    overflow: hidden !important;
    text-align: center !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-thank-you-card::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 0 auto 0 !important;
    height: 3px !important;
    background: linear-gradient(90deg, var(--flori-checkout-wine), var(--flori-checkout-gold), var(--flori-checkout-wine)) !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-thank-you-card > span {
    display: block !important;
    margin-bottom: 10px !important;
    color: var(--flori-checkout-wine) !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: .17em !important;
    text-transform: uppercase !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-thank-you-card h1 {
    margin: 0 0 14px !important;
    color: var(--flori-checkout-ink) !important;
    font-size: clamp(40px, 7vw, 64px) !important;
    line-height: .98 !important;
    letter-spacing: -.045em !important;
    font-weight: 500 !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-thank-you-card > p {
    max-width: 590px !important;
    margin: 0 auto 22px !important;
    color: rgba(24, 23, 22, .62) !important;
    font-size: 14px !important;
    line-height: 1.75 !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-order-number {
    margin: 22px auto !important;
    padding: 16px 18px !important;
    display: grid !important;
    gap: 5px !important;
    border-block: 1px solid rgba(222, 216, 209, .82) !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-order-number span {
    color: var(--flori-checkout-muted) !important;
    font-size: 11px !important;
    letter-spacing: .08em !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-order-number strong {
    color: var(--flori-checkout-wine) !important;
    font-size: 18px !important;
    letter-spacing: .04em !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-privacy-note {
    margin: 18px auto 0 !important;
    color: rgba(24, 23, 22, .57) !important;
    font-size: 12px !important;
    line-height: 1.65 !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-thank-you-actions {
    margin-top: 26px !important;
    display: flex !important;
    justify-content: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}

.storefront-page .flori-retail-v2-checkout .checkout-thank-you-actions .button {
    min-width: 180px !important;
    min-height: 48px !important;
    border-radius: 999px !important;
}

@media (max-width: 1180px) {
    .storefront-page .flori-retail-v2-checkout .checkout-modern-grid {
        grid-template-columns: minmax(0, 1.3fr) minmax(300px, .8fr) !important;
        gap: 22px !important;
    }

    .storefront-page .flori-retail-v2-checkout .checkout-payment-method-group {
        grid-template-columns: 1fr !important;
    }

    .storefront-page .flori-retail-v2-checkout .checkout-choice-group label {
        min-height: 0 !important;
    }
}

@media (max-width: 980px) {
    .storefront-page .flori-retail-v2-checkout {
        padding: 38px 0 68px !important;
    }

    .storefront-page .flori-retail-v2-checkout .checkout-modern-grid {
        width: min(100% - 38px, 820px) !important;
        grid-template-columns: 1fr !important;
    }

    .storefront-page .flori-retail-v2-checkout .checkout-form-panel {
        order: 1 !important;
    }

    .storefront-page .flori-retail-v2-checkout .checkout-summary-panel {
        order: 2 !important;
        position: static !important;
    }

    .storefront-page .flori-retail-v2-checkout .checkout-fulfillment-section .checkout-choice-group {
        grid-template-columns: 1fr 1fr !important;
    }
}

@media (max-width: 640px) {
    .storefront-page .flori-retail-v2-checkout {
        padding: 30px 0 52px !important;
    }

    .storefront-page .flori-retail-v2-checkout .checkout-modern-hero,
    .storefront-page .flori-retail-v2-checkout .checkout-modern-grid {
        width: min(100% - 26px, 520px) !important;
    }

    .storefront-page .flori-retail-v2-checkout .checkout-modern-hero {
        margin-bottom: 20px !important;
        padding-bottom: 18px !important;
    }

    .storefront-page .flori-retail-v2-checkout .checkout-modern-hero h1 {
        font-size: clamp(38px, 12vw, 54px) !important;
    }

    .storefront-page .flori-retail-v2-checkout .checkout-form-panel,
    .storefront-page .flori-retail-v2-checkout .checkout-summary-panel {
        padding: 23px !important;
    }

    .storefront-page .flori-retail-v2-checkout .checkout-panel-heading h2 {
        font-size: clamp(28px, 9vw, 38px) !important;
    }

    .storefront-page .flori-retail-v2-checkout .checkout-choice-section {
        padding: 17px !important;
    }

    .storefront-page .flori-retail-v2-checkout .checkout-fulfillment-section .checkout-choice-group,
    .storefront-page .flori-retail-v2-checkout .checkout-delivery-address-section {
        grid-template-columns: 1fr !important;
    }

    .storefront-page .flori-retail-v2-checkout .checkout-delivery-address-section .checkout-choice-heading,
    .storefront-page .flori-retail-v2-checkout .checkout-delivery-address-section > .checkout-field:has(textarea) {
        grid-column: auto !important;
    }

    .storefront-page .flori-retail-v2-checkout .checkout-summary-item {
        grid-template-columns: 58px minmax(0, 1fr) !important;
        gap: 11px !important;
    }

    .storefront-page .flori-retail-v2-checkout .checkout-summary-item > b {
        grid-column: 2 !important;
    }

    .storefront-page .flori-retail-v2-checkout .checkout-summary-media {
        width: 58px !important;
        height: 58px !important;
    }

    .storefront-page .flori-retail-v2-checkout .checkout-thank-you-card {
        width: min(100% - 26px, 620px) !important;
        padding: 32px 24px !important;
    }

    .storefront-page .flori-retail-v2-checkout .checkout-thank-you-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    .storefront-page .flori-retail-v2-checkout .checkout-thank-you-actions .button {
        width: 100% !important;
        min-width: 0 !important;
    }
}

@media (max-width: 420px) {
    .storefront-page .flori-retail-v2-checkout .checkout-modern-hero,
    .storefront-page .flori-retail-v2-checkout .checkout-modern-grid,
    .storefront-page .flori-retail-v2-checkout .checkout-thank-you-card {
        width: min(100% - 20px, 400px) !important;
    }

    .storefront-page .flori-retail-v2-checkout .checkout-form-panel,
    .storefront-page .flori-retail-v2-checkout .checkout-summary-panel {
        padding: 19px !important;
    }

    .storefront-page .flori-retail-v2-checkout .checkout-choice-section {
        margin: 18px 0 !important;
        padding: 15px !important;
    }

    .storefront-page .flori-retail-v2-checkout .checkout-choice-group label {
        padding: 12px !important;
    }

    .storefront-page .flori-retail-v2-checkout .checkout-total-card {
        padding: 15px !important;
    }
}

@media (max-width: 359px) {
    .storefront-page .flori-retail-v2-checkout .checkout-modern-hero,
    .storefront-page .flori-retail-v2-checkout .checkout-modern-grid,
    .storefront-page .flori-retail-v2-checkout .checkout-thank-you-card {
        width: calc(100% - 16px) !important;
    }

    .storefront-page .flori-retail-v2-checkout .checkout-form-panel,
    .storefront-page .flori-retail-v2-checkout .checkout-summary-panel,
    .storefront-page .flori-retail-v2-checkout .checkout-thank-you-card {
        padding: 16px !important;
    }

    .storefront-page .flori-retail-v2-checkout .checkout-summary-item {
        grid-template-columns: 52px minmax(0, 1fr) !important;
    }

    .storefront-page .flori-retail-v2-checkout .checkout-summary-media {
        width: 52px !important;
        height: 52px !important;
    }
}