/* Sree Flower · compact public-website refinement.
   Intentional: no font-size or font-family overrides. The existing typographic
   scale, Laravel routes, forms, Alpine state and Vite bundle are unchanged. */
:root {
  --sf-deep: #73132f;
  --sf-primary: #970d35;
  --sf-plum: #4b1930;
  --sf-gold: #b48a4b;
  --sf-paper: #fffcf9;
  --sf-border: #e9dcd6;
  --sf-muted: #756c6b;
  --sf-shadow: 0 8px 24px -16px rgba(70, 27, 38, .26), 0 2px 12px rgba(70,27,38,.03);
  --sf-shadow-hover: 0 20px 44px -24px rgba(70, 27, 38, .35), 0 6px 18px rgba(70,27,38,.065);
}
body.sf-public-refinement {
  background: radial-gradient(ellipse 90% 46% at 50% -14%, #f8e9e8 0%, transparent 86%), #fffaf6;
  color: #2c2525;
}
.sf-public-refinement ::selection { background: #970d35; color: white; }
.sf-public-refinement :is(a, button, input, textarea, select, [tabindex]):focus-visible {
  outline: 2px solid var(--sf-primary); outline-offset: 3px;
}
.sf-public-refinement :is(button, a, input, textarea, select) { -webkit-tap-highlight-color: transparent; }
.sf-public-refinement img { color: #92827d; }
.sf-public-refinement :is(.animate-blob-1, .animate-blob-2, .animate-pulse-soft) { opacity: .46; }

/* Navigation: subtle distinction between content and navigation; no upsizing. */
.sf-public-refinement .sf-site-header {
  background: rgba(255, 252, 249, .96);
  border-bottom: 1px solid rgba(125, 63, 71, .12);
  box-shadow: 0 5px 25px rgba(58, 25, 34, .035);
}
@supports (backdrop-filter: blur(12px)) {
  .sf-public-refinement .sf-site-header { background: rgba(255, 251, 247, .9); backdrop-filter: blur(18px); }
}
.sf-public-refinement .sf-header-inner { max-width: 100%; }
.sf-public-refinement .sf-site-header a:not(.sf-more-popover a),
.sf-public-refinement .sf-site-header button { text-decoration: none; }
.sf-public-refinement .sf-desktop-nav { gap: clamp(10px, 1.5vw, 23px); }
.sf-public-refinement .sf-nav-link {
  min-height: 38px; padding: 7px 9px; border-radius: 10px;
  transition: color .2s ease, background .2s ease, box-shadow .2s ease;
}
.sf-public-refinement .sf-nav-link:hover,
.sf-public-refinement .sf-nav-link[aria-current="page"] { background: #f9ecee; color: var(--sf-primary); }
.sf-public-refinement .sf-nav-link[aria-current="page"] { box-shadow: inset 0 -2px 0 rgba(151, 13, 53, .55); }
.sf-public-refinement .sf-nav-location {
  background: #fff; border-color: #e9dad5; box-shadow: 0 2px 7px #421c2508;
}
.sf-public-refinement .sf-more-popover {
  z-index: 55; box-shadow: var(--sf-shadow-hover); border-color: var(--sf-border);
}
.sf-public-refinement .sf-more-popover a {
  display:flex; align-items:center; gap:10px; padding:10px 12px;
  border-radius:10px; color:#59454c; transition: background .16s, color .16s;
}
.sf-public-refinement .sf-more-popover a:hover { color:var(--sf-primary); background:#fff1f2; }
.sf-public-refinement .sf-mobile-drawer {
  background: linear-gradient(160deg,#fffdfa 0%,#fff7f4 100%);
  border-left: 1px solid #e8d8d2;
  box-shadow: -18px 0 48px rgba(25, 13, 23, .2);
}
.sf-public-refinement .sf-mobile-drawer a { border: 1px solid transparent; }
.sf-public-refinement .sf-mobile-drawer :is(a,button):hover { background: #f9e9ec; border-color:#ead5db; }
.sf-public-refinement .sf-mobile-location { color:var(--sf-primary); background:#fff; border:1px solid #eadce0; }

/* Editorial surfaces: quiet contrast, thinner borders, deliberate rhythm. */
.sf-public-refinement main > :is(.sf-home-page,.sf-vendors-page,.sf-category-page,.sf-about-page,.sf-contact-page,.sf-faq-page,.sf-policy-page,.sf-quotation-page) {
  isolation: isolate;
}
.sf-public-refinement .sf-home-page > .max-w-7xl > :not(:first-child) { margin-block-start: 34px; }
.sf-public-refinement .sf-home-hero {
  padding: clamp(20px, 2.8vw, 34px);
  background: linear-gradient(115deg, #fffaf5 3%, #fdf1ed 55%, #f9e8e9 100%);
  border: 1px solid #e9d3d1;
  box-shadow: 0 8px 40px -22px rgba(102,30,51,.23), inset 0 1px 0 #fff;
}
.sf-public-refinement .sf-home-hero::after {
  content:""; position:absolute; inset:0 0 auto; height:3px;
  background:linear-gradient(90deg,#a12248 0%,#c89e5e 49%,#a12248 100%);
  opacity:.85; pointer-events:none; z-index:12;
}
.sf-public-refinement .sf-home-hero img {
  filter: saturate(.92) contrast(1.025); transition:filter .35s,transform .55s;
}
.sf-public-refinement .sf-home-hero .group:hover img { filter:saturate(1) contrast(1.04); }
.sf-public-refinement .sf-home-hero .group:has(> img) { box-shadow: 0 18px 42px -28px #68243888; }
.sf-public-refinement .sf-home-search { z-index: 20; }
.sf-public-refinement .sf-home-search form {
  border-color:#e7d6d2; box-shadow:0 14px 32px -18px rgba(91,28,42,.37),0 3px 8px #5935250a;
}
.sf-public-refinement .sf-home-search form:focus-within { box-shadow:0 14px 32px -18px rgba(91,28,42,.37), 0 0 0 3px #970d351a; }
.sf-public-refinement :is(.sf-home-page,.sf-vendors-page,.sf-category-page) :is(h1,h2,h3) {
  text-wrap: balance;
}
.sf-public-refinement .sf-home-page .border-b.border-\[\#EAE2D8\] {
  border-color: #e9d8d3;
}

/* Unified item cards. Visual polish without changing the layout or text scale. */
.sf-public-refinement .sf-category-card {
  border-color: #e9dfd9; border-radius: 16px;
  box-shadow: var(--sf-shadow);
  transition: transform .22s ease, border-color .22s, box-shadow .22s ease;
}
.sf-public-refinement .sf-category-card:hover,
.sf-public-refinement .sf-category-card:focus-visible {
  transform: translateY(-3px); border-color:#ceabb2; box-shadow:var(--sf-shadow-hover);
}
.sf-public-refinement .sf-category-card img { filter:saturate(.87); transition:transform .45s, filter .45s; }
.sf-public-refinement .sf-category-card:hover img { filter:saturate(1.06); transform:scale(1.055); }
.sf-public-refinement .sf-category-card > div:last-child { background:#fffdfb; border-top:1px solid #f5edeb; }
.sf-public-refinement .sf-vendor-card {
  border:1px solid #e9dfdc; border-radius: 19px; box-shadow:var(--sf-shadow);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.sf-public-refinement .sf-vendor-card:hover { transform:translateY(-3px); border-color:#dab8bf; box-shadow:var(--sf-shadow-hover); }
.sf-public-refinement .sf-vendor-card img { filter:saturate(.91); transition:transform .45s ease,filter .45s ease; }
.sf-public-refinement .sf-vendor-card:hover img { filter:saturate(1.04); }
.sf-public-refinement .sf-vendor-card :is(button,a):focus-visible { outline-offset: -3px; }
.sf-public-refinement .sf-category-banner { box-shadow: 0 16px 45px -27px rgba(72,24,41,.35); }
.sf-public-refinement .sf-category-banner img { filter: saturate(.88); }
.sf-public-refinement .sf-vendors-page form,
.sf-public-refinement .sf-category-page form { min-width: 0; }
.sf-public-refinement .sf-vendors-page .overflow-x-auto { scrollbar-width: thin; scrollbar-color: #d7b7ba transparent; }
.sf-public-refinement .sf-vendors-page .overflow-x-auto a { border:1px solid #e9dbd5; }
.sf-public-refinement .sf-vendors-page .overflow-x-auto a:hover { border-color:#ba8d98; }

/* Profile and contact cards: consistent surface depth and image browsing. */
.sf-public-refinement .sf-vendor-detail > .rounded-3xl,
.sf-public-refinement .sf-vendor-detail .bg-white.rounded-3xl,
.sf-public-refinement .sf-contact-page .bg-white.rounded-2xl,
.sf-public-refinement .sf-contact-page .bg-white.rounded-3xl,
.sf-public-refinement .sf-about-page .bg-white.rounded-2xl,
.sf-public-refinement .sf-faq-page .bg-white,
.sf-public-refinement .sf-policy-page .bg-white,
.sf-public-refinement .sf-quotation-page .bg-white.rounded-3xl {
  border-color:var(--sf-border); box-shadow:var(--sf-shadow);
}
.sf-public-refinement .sf-vendor-detail .sticky {
  top: 91px; border-color:#e7d2d6; box-shadow:0 12px 28px -18px #4f152d4a;
}
.sf-public-refinement .sf-gallery-item { cursor: zoom-in; border:1px solid #efe2db; }
.sf-public-refinement .sf-gallery-item:focus-visible { outline-offset: 3px; }
.sf-public-refinement .sf-gallery-item img { transition:transform .4s; }
.sf-public-refinement .sf-gallery-item:hover img { transform:scale(1.055); }
.sf-public-refinement .sf-policy-page :is(section,article) { scroll-margin-top:100px; }

/* Forms: focus clarity and subtle tactile feedback, preserve existing control heights. */
.sf-public-refinement :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea) {
  accent-color: var(--sf-primary);
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.sf-public-refinement :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea):focus {
  border-color:var(--sf-primary); box-shadow:0 0 0 3px rgba(151,13,53,.095); outline:0;
}
.sf-public-refinement :is(input,textarea)::placeholder { color:#a09491; }
.sf-public-refinement :is(button[type="submit"],a.bg-\[\#8B1538\],a.bg-\[\#970D35\]):not(:disabled) {
  transition:background-color .18s,box-shadow .18s,transform .18s;
}
.sf-public-refinement button[type="submit"]:active { transform:translateY(1px); }
.sf-public-refinement button:disabled { opacity:.65;cursor:not-allowed; }
.sf-public-refinement :is(.sf-auth-panel, .sf-login-page .rounded-3xl.bg-white) {
  border-color:#e6d4d0; box-shadow:0 18px 48px -32px rgba(82,27,45,.4),0 8px 22px rgba(82,27,45,.035);
}
.sf-public-refinement .sf-auth-panel::before {
  content:""; display:block; width:70px; height:3px; border-radius:99px;
  margin:-1px auto 14px; background:linear-gradient(90deg,#a21f45,#d3a56b);
}
.sf-public-refinement .sf-contact-page .lg\:col-span-2.bg-white { border-color:#e9d4d6; }

/* Modals: accessible compact surfaces, real scroll on short mobile screens. */
.sf-public-refinement .sf-modal-root { z-index: 9999; }
.sf-public-refinement .sf-modal-backdrop { background:rgba(32,17,26,.69); backdrop-filter:blur(5px); }
.sf-public-refinement .sf-modal-root > .fixed.z-10 { padding:16px; overscroll-behavior:contain; }
.sf-public-refinement .sf-modal-card {
  width:min(100%,460px); max-height:min(92dvh,760px); border:1px solid #e6d5d1;
  background: #fffdfb; border-radius:18px;
  box-shadow:0 32px 90px -35px rgba(22,10,20,.65),0 8px 24px rgba(22,10,20,.08);
  padding:20px;
}
.sf-public-refinement .sf-modal-card > :first-child { border-bottom-color:#eadfda; }
.sf-public-refinement .sf-modal-card form { scrollbar-width: thin; scrollbar-color:#ddc6c6 transparent; overscroll-behavior:contain; }
.sf-public-refinement .sf-modal-card form :is(input,textarea,select) { background:#fff; border-color:#ded0ca; }
.sf-public-refinement .sf-modal-card form :is(input,textarea,select):focus { border-color:var(--sf-primary); background:white; }
.sf-public-refinement .sf-modal-close {
  flex-shrink:0; display:inline-flex; align-items:center; justify-content:center;
  min-width:30px; min-height:30px; border:1px solid #eddfda; border-radius:9px;
  color:#735f61; background:#fff; transition:background .18s,color .18s;
}
.sf-public-refinement .sf-modal-close:hover { background:#fcecef;color:#970d35; }
.sf-public-refinement .sf-city-modal button[aria-pressed="true"] {
  border-color:#cba2ab; color:#970d35; background:#fbeef0; box-shadow: inset 0 0 0 1px #d0a1aa;
}
.sf-public-refinement .sf-city-modal button:not(.sf-modal-close) { transition: background .18s, border-color .18s; }

/* Gallery viewer uses native dialog, not unescaped HTML insertion. */
.sf-photo-viewer {
  border:1px solid rgba(255,255,255,.22); border-radius:18px; padding:0;
  width:min(92vw,980px); max-height:90dvh; overflow:hidden;
  background:#1d1619; color:#fff; box-shadow:0 24px 95px rgba(17,8,17,.48);
}
.sf-photo-viewer::backdrop { background:rgba(20,12,19,.82);backdrop-filter:blur(6px); }
.sf-photo-viewer figure { display:flex; flex-direction:column;max-height:90dvh; }
.sf-photo-viewer img { max-width:100%; max-height:calc(90dvh - 62px);width:100%;object-fit:contain;background:#171316; }
.sf-photo-viewer figcaption { padding:13px 48px 13px 18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.sf-photo-viewer .sf-photo-close { position:absolute;right:10px;top:10px;width:34px;height:34px;display:grid;place-items:center;color:#fff;background:#231a1ac7;border:1px solid #ffffff3b;border-radius:10px; }
.sf-photo-viewer .sf-photo-close:hover { background:#970d35; }

/* Bottom navigation and compact widths. */
@media(min-width:1024px) and (max-width:1149px) {
  .sf-public-refinement .sf-nav-location { display:none; }
  .sf-public-refinement .sf-desktop-nav { gap:8px; }
  .sf-public-refinement .sf-site-header .sf-header-inner > a { max-width:42%; }
}
@media(max-width:767px) {
  .sf-public-refinement .sf-home-page > .max-w-7xl > :not(:first-child) { margin-block-start:26px; }
  .sf-public-refinement .sf-home-hero { border-radius:16px; }
  .sf-public-refinement .sf-home-search { margin-top:-12px; }
  .sf-public-refinement .sf-vendor-detail > .rounded-3xl,
  .sf-public-refinement .sf-vendor-detail .bg-white.rounded-3xl { border-radius:18px; }
  .sf-public-refinement .sf-modal-root > .fixed.z-10 { align-items:center; padding:12px; }
  .sf-public-refinement .sf-modal-card { max-height:90dvh; padding:16px; border-radius:16px; }
  .sf-public-refinement .sf-site-header .sf-header-inner > a { max-width:60%; }
  .sf-public-refinement .sf-site-header .sf-header-inner > a > div:last-child { overflow:hidden; }
  .sf-public-refinement .sf-vendors-page .flex.overflow-x-auto { scroll-snap-type:x proximity; }
  .sf-public-refinement .sf-vendors-page .flex.overflow-x-auto a { scroll-snap-align:start; }
  .sf-public-refinement nav.fixed.bottom-0 { background:#fffcf9ef; padding-bottom:env(safe-area-inset-bottom,0px); }
  .sf-public-refinement footer { padding-bottom:env(safe-area-inset-bottom,0px); }
}
@media(max-width:380px) {
  .sf-public-refinement .sf-header-inner { gap:4px; }
  .sf-public-refinement .sf-header-inner > a { max-width:54%!important; }
  .sf-public-refinement .sf-modal-card .grid-cols-2 { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
}
@media(prefers-reduced-motion:reduce) {
  .sf-public-refinement *, .sf-public-refinement *::before, .sf-public-refinement *::after {
    animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important;
  }
}
