/* FlowerVista base: token fallbacks (overridden by the inline #fv-dynamic-css), reset, typography, utilities. */
:root{
  --fv-primary:#C7522A;--fv-primary-dark:#A8421F;
  --fv-gold:#E5C185;--fv-gold-light:#F6EBD3;
  --fv-bg:#FFFFFF;--fv-cream:#FFF8EF;
  --fv-ink:#2B1D17;--fv-muted:#6F6159;--fv-border:#EADFD3;
  --fv-wa:#128C7E;--fv-wa-icon:#25D366;--fv-success:#2E7D32;--fv-error:#C62828;

  --fv-font-heading:'Playfair Display',Georgia,serif;
  --fv-font-body:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;
  --fv-fs-h1:40px;--fv-fs-h2:30px;--fv-fs-h3:20px;--fv-fs-body:15px;--fv-fs-small:13px;

  --fv-container:1440px;--fv-gutter:40px;--fv-section:64px;
  --fv-radius:12px;--fv-radius-btn:12px;--fv-radius-pill:999px;
  --fv-shadow:0 4px 20px rgba(43,29,23,.06);
  --fv-ease:cubic-bezier(0.16,1,0.3,1);--fv-dur:280ms;

  --fv-space-1:8px;--fv-space-2:16px;--fv-space-3:24px;--fv-space-4:32px;--fv-space-5:48px;--fv-space-6:64px;--fv-space-7:96px;

  --fv-z-mega:60;--fv-z-header:100;--fv-z-dropdown:120;--fv-z-overlay:320;--fv-z-drawer:330;

  --fv-hdr-h:80px;--fv-hdr-h-compact:60px;--fv-ann-h:40px;--fv-logo-h:54px;
  --fv-header-bg:var(--fv-bg);--fv-header-border:var(--fv-border);
  --fv-ann-bg:var(--fv-gold);--fv-ann-color:var(--fv-ink);
  --fv-accent:var(--fv-primary);--fv-text:var(--fv-ink);
}
@media (max-width:1023px){:root{--fv-gutter:24px}}
@media (max-width:639px){:root{--fv-gutter:16px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--fv-hdr-h-compact) + 16px)}
body{margin:0;background:var(--fv-bg);color:var(--fv-ink);font-family:var(--fv-font-body);font-size:var(--fv-fs-body);line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg,video{max-width:100%;height:auto}
h1,h2,h3,h4{font-family:var(--fv-font-heading);color:var(--fv-ink);line-height:1.2;margin-block:0 .6em;font-weight:600}
h1{font-size:var(--fv-fs-h1)}h2{font-size:var(--fv-fs-h2)}h3{font-size:var(--fv-fs-h3)}
small{font-size:var(--fv-fs-small)}
a{color:var(--fv-primary);text-underline-offset:3px}
a:hover{color:var(--fv-primary-dark)}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--fv-gold);outline-offset:2px}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.screen-reader-text:focus{clip:auto;clip-path:none;height:auto;width:auto;margin:0;overflow:visible;background:var(--fv-bg);color:var(--fv-ink);padding:12px 20px;z-index:100000;inset-block-start:8px;inset-inline-start:8px;box-shadow:var(--fv-shadow)}
.skip-link:focus{position:fixed!important}
.fv-lock{overflow:hidden}
.fv-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 24px;border:0;border-radius:var(--fv-radius-btn);background:var(--fv-primary);color:var(--fv-bg);font-weight:600;text-decoration:none}
.fv-btn:hover{background:var(--fv-primary-dark);color:var(--fv-bg)}
.fv-hp{position:absolute;inset-inline-start:-9999px}

/* Shared review chip: [star 4.8] . (948) - used by cards and live-search previews. */
.fv-rating{display:inline-flex;align-items:center;gap:6px;font-size:var(--fv-fs-small);line-height:1}
.fv-rating__chip{display:inline-flex;align-items:center;gap:3px;padding:3px 7px;border:1px solid var(--fv-success);border-radius:var(--fv-radius-pill);background:var(--fv-cream);color:var(--fv-success);font-weight:600}
.fv-rating__dot,.fv-rating__count{color:var(--fv-muted)}
/* Shared FV Orbit loader (code-only, one implementation). */
.fv-loader{position:relative;display:inline-grid;place-items:center;width:44px;height:44px}
.fv-loader--small{width:24px;height:24px}.fv-loader--large{width:56px;height:56px}
.fv-ring{position:absolute;inset:0;border-radius:50%;border:3px solid transparent}
.fv-ring--track{border-color:var(--fv-border)}
.fv-ring--arc{border-top-color:var(--fv-primary);animation:fv-spin 1s linear infinite}
.fv-ring--inner{inset:20%;border-bottom-color:var(--fv-gold);animation:fv-spin 1.4s linear infinite reverse}
.fv-loader-mark{font-size:10px;font-weight:700;color:var(--fv-ink)}
@keyframes fv-spin{to{transform:rotate(360deg)}}
