/* Sampurana Life Care - design layer on top of Tailwind (CDN) */
:root { --navy: #012661; --leaf: #69B201; --mint: #F1F8E8; --sky: #EFF4FA; }
html { -webkit-tap-highlight-color: transparent; }
body { font-feature-settings: "ss01", "cv11"; text-rendering: optimizeLegibility; }
::selection { background: #69B201; color: #fff; }
:focus-visible { outline: 2px solid #69B201; outline-offset: 2px; }

/* Headings: tight, modern */
h1, h2, h3, .font-display { letter-spacing: -0.025em; }

/* Mesh / dotted backgrounds */
.bg-mesh {
  background:
    radial-gradient(60% 60% at 0% 0%, rgba(105,178,1,.14) 0%, transparent 60%),
    radial-gradient(50% 60% at 100% 0%, rgba(1,38,97,.10) 0%, transparent 60%),
    radial-gradient(40% 50% at 70% 100%, rgba(105,178,1,.10) 0%, transparent 60%),
    #ffffff;
}
.bg-dots { background-image: radial-gradient(rgba(1,38,97,.08) 1px, transparent 1px); background-size: 18px 18px; }
.text-gradient { background: linear-gradient(90deg, #69B201, #4D8301 40%, #012661); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* Glass header */
.glass { background: rgba(255,255,255,.78); -webkit-backdrop-filter: saturate(180%) blur(16px); backdrop-filter: saturate(180%) blur(16px); }
#site-header.is-scrolled .header-shell { box-shadow: 0 8px 30px -12px rgba(1,38,97,.18); }

/* Toasts */
.toast { animation: toast-in .3s cubic-bezier(.2,.8,.2,1); }
.toast-out { opacity: 0; transform: translateY(8px) scale(.98); transition: all .25s ease; }
@keyframes toast-in { from { opacity: 0; transform: translateY(12px) scale(.98); } to { opacity: 1; transform: none; } }

/* Drawers & overlays */
.drawer { transition: transform .35s cubic-bezier(.2,.8,.2,1); }
.overlay { transition: opacity .25s ease; }
[data-state="closed"] .drawer-right { transform: translateX(100%); }
[data-state="closed"] .drawer-left { transform: translateX(-100%); }
[data-state="closed"] .drawer-bottom { transform: translateY(100%); }
[data-state="closed"] .overlay { opacity: 0; }
[data-state="closed"] { pointer-events: none; }
[data-state="closed"] .sheet-pop { opacity: 0; transform: translateY(-8px) scale(.98); }
.sheet-pop { transition: all .25s cubic-bezier(.2,.8,.2,1); }

/* Mega menu */
.mega { opacity: 0; visibility: hidden; transform: translateY(6px); transition: all .2s ease; }
.mega-wrap:hover .mega, .mega-wrap:focus-within .mega, .mega.is-open { opacity: 1; visibility: visible; transform: none; }

/* Scroll reveal */
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s cubic-bezier(.2,.8,.2,1), transform .7s cubic-bezier(.2,.8,.2,1); }
.reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
  .animate-marquee, .animate-floaty { animation: none !important; }
  * { scroll-behavior: auto !important; }
}

/* Horizontal rails */
.rail { scroll-snap-type: x mandatory; scrollbar-width: none; -ms-overflow-style: none; }
.rail::-webkit-scrollbar { display: none; }
.rail > * { scroll-snap-align: start; }
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { scrollbar-width: none; }

/* Inputs */
input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
input[type=number] { -moz-appearance: textfield; }
input[type=search]::-webkit-search-cancel-button { -webkit-appearance: none; }

/* Accordions */
details > summary { list-style: none; cursor: pointer; }
details > summary::-webkit-details-marker { display: none; }
details[open] .acc-icon { transform: rotate(45deg); }
details[open] .acc-chevron { transform: rotate(180deg); }

/* Rich text */
.prose-slc h3 { color: #012661; font-weight: 700; margin-top: 1.25rem; margin-bottom: .5rem; font-size: 1.05rem; letter-spacing: -0.01em; }
.prose-slc ul { list-style: none; padding-left: 0; }
.prose-slc ul li { position: relative; padding-left: 1.6rem; margin: .45rem 0; }
.prose-slc ul li::before { content: ""; position: absolute; left: 0; top: .45rem; width: .9rem; height: .9rem; border-radius: 999px; background: #F1F8E8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%2369B201'%3E%3Cpath d='M7.6 13.2 4.4 10l-1.1 1.1 4.3 4.3 9-9-1.1-1.1z'/%3E%3C/svg%3E") center/70% no-repeat; }
.prose-slc p { margin: .6rem 0; }
.prose-slc h2 { color: #012661; font-weight: 700; font-size: 1.25rem; margin-top: 2rem; }
.prose-slc a { color: #4D8301; font-weight: 600; }

/* Bottom nav safe area */
.pb-safe { padding-bottom: max(.5rem, env(safe-area-inset-bottom)); }

/* Skeleton shimmer */
.skeleton { background: linear-gradient(90deg, #EFF4FA 25%, #f7f9fc 50%, #EFF4FA 75%); background-size: 200% 100%; animation: shimmer 1.2s infinite; }
@keyframes shimmer { to { background-position: -200% 0; } }

@media print {
  .no-print { display: none !important; }
  body { background: #fff !important; }
}

/* Shop filters: drawer on mobile, static sidebar on desktop */
@media (min-width: 1024px) {
  #filter-drawer, #filter-drawer[data-state="closed"] { position: static; pointer-events: auto; }
  #filter-drawer .overlay { display: none; }
  #filter-drawer .drawer, #filter-drawer[data-state="closed"] .drawer-left { position: sticky; top: 6.5rem; transform: none; width: auto; max-width: none; box-shadow: none; }
}

/* Rich text editor (admin product description) */
[data-rich-editor] .ql-toolbar.ql-snow { border: 0; border-bottom: 1px solid #e5e7eb; background: #EFF4FA; padding: 8px 10px; font-family: inherit; }
[data-rich-editor] .ql-container.ql-snow { border: 0; font-family: inherit; font-size: 15px; }
[data-rich-editor] .ql-editor { min-height: 260px; max-height: 560px; overflow-y: auto; line-height: 1.65; color: #202938; }
[data-rich-editor] .ql-editor.ql-blank::before { color: #9ca3af; font-style: normal; }
[data-rich-editor] .ql-editor h2 { font-size: 1.35rem; font-weight: 700; color: #012661; }
[data-rich-editor] .ql-editor h3 { font-size: 1.1rem; font-weight: 700; color: #012661; }
[data-rich-editor] .ql-editor a { color: #4D8301; }
[data-rich-editor] .ql-snow .ql-stroke { stroke: #012661; }
[data-rich-editor] .ql-snow .ql-fill { fill: #012661; }
[data-rich-editor] .ql-snow .ql-picker { color: #012661; }
[data-rich-editor] .ql-snow.ql-toolbar button:hover .ql-stroke, [data-rich-editor] .ql-snow.ql-toolbar button.ql-active .ql-stroke { stroke: #69B201; }
[data-rich-editor] .ql-snow.ql-toolbar button:hover .ql-fill, [data-rich-editor] .ql-snow.ql-toolbar button.ql-active .ql-fill { fill: #69B201; }

/* Storefront rendering of rich descriptions */
.prose-slc ol { list-style: decimal; padding-left: 1.4rem; }
.prose-slc ol li { padding-left: .25rem; }
.prose-slc ol li::before { content: none; }
.prose-slc blockquote { border-left: 4px solid #69B201; background: #F1F8E8; padding: .75rem 1rem; border-radius: .75rem; margin: 1rem 0; color: #202938; }
.prose-slc u { text-decoration: underline; text-underline-offset: 3px; }
.prose-slc .ql-align-center { text-align: center; }
.prose-slc .ql-align-right { text-align: right; }
.prose-slc .ql-align-justify { text-align: justify; }
.prose-slc .ql-indent-1 { padding-left: 3rem; } .prose-slc .ql-indent-2 { padding-left: 6rem; }
.prose-slc hr { margin: 1.5rem 0; border-color: #e5e7eb; }
