/* Siana Flowers — seasonal collections (self-contained; blends with the Siana Modern theme variables) */
.sf-seasons { --sfs-accent: #7f5fd8; --sfs-accent-dark: #583aae; --sfs-bg: #f6f3fb; --sfs-ink: #262033; --sfs-muted: #6f6779; --sfs-radius: 28px; color: var(--sfs-ink); }
.sf-seasons[hidden] { display: none !important; }
.sf-seasons *, .sf-seasons *::before, .sf-seasons *::after { box-sizing: border-box; }
.sf-season { position: relative; padding: clamp(48px, 7vw, 96px) 0; overflow: hidden; background: var(--sfs-bg); }
.sf-season + .sf-season { border-top: 1px solid rgba(0, 0, 0, 0.05); }
.sf-season--valentine { --sfs-accent: #d6336c; --sfs-accent-dark: #a61e4d; --sfs-bg: linear-gradient(180deg, #fff1f6 0%, #ffe3ec 100%); }
.sf-season--womens_day { --sfs-accent: #e8590c; --sfs-accent-dark: #c2410c; --sfs-bg: linear-gradient(180deg, #fff8ec 0%, #ffeef3 100%); }
.sf-season--christmas { --sfs-accent: #2b8a3e; --sfs-accent-dark: #1f6b30; --sfs-bg: linear-gradient(180deg, #eef8f0 0%, #fdf3f3 100%); }
.sf-season__inner { width: min(1280px, 100% - 48px); margin: 0 auto; position: relative; }
.sf-season__deco { position: absolute; inset: 0; pointer-events: none; }
.sf-season__deco i { position: absolute; width: 22px; height: 22px; opacity: 0.35; background: var(--sfs-accent); animation: sfs-float 9s ease-in-out infinite; }
.sf-season--valentine .sf-season__deco i { background: none; width: 26px; height: 26px; }
.sf-season--valentine .sf-season__deco i::before, .sf-season--valentine .sf-season__deco i::after { content: ''; position: absolute; top: 0; left: 50%; width: 13px; height: 20px; background: var(--sfs-accent); border-radius: 13px 13px 0 0; transform: rotate(-45deg); transform-origin: 0 100%; }
.sf-season--valentine .sf-season__deco i::after { left: 0; transform: rotate(45deg); transform-origin: 100% 100%; }
.sf-season--womens_day .sf-season__deco i { border-radius: 60% 0 60% 0; background: linear-gradient(135deg, #ffb3c6, #ff8fab); }
.sf-season--christmas .sf-season__deco i { border-radius: 50%; background: #fff; box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.35); opacity: 0.9; }
.sf-season__deco i:nth-child(1) { left: 4%; top: 12%; animation-delay: 0s; }
.sf-season__deco i:nth-child(2) { left: 18%; top: 70%; animation-delay: 1.5s; transform: scale(0.7); }
.sf-season__deco i:nth-child(3) { left: 48%; top: 8%; animation-delay: 3s; transform: scale(0.8); }
.sf-season__deco i:nth-child(4) { left: 70%; top: 80%; animation-delay: 2s; }
.sf-season__deco i:nth-child(5) { left: 88%; top: 20%; animation-delay: 4s; transform: scale(1.2); }
.sf-season__deco i:nth-child(6) { left: 95%; top: 60%; animation-delay: 1s; transform: scale(0.6); }
@keyframes sfs-float { 0%, 100% { translate: 0 0; } 50% { translate: 6px -18px; } }
.sf-season__banner { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; align-items: center; margin-bottom: 28px; padding: clamp(28px, 4vw, 48px); border-radius: var(--sfs-radius); background: rgba(255, 255, 255, 0.78); border: 1px solid rgba(255, 255, 255, 0.9); box-shadow: 0 24px 60px -30px rgba(58, 34, 110, 0.3); backdrop-filter: blur(8px); }
.sf-season__banner--image { grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); padding: 0; overflow: hidden; }
.sf-season__banner--image .sf-season__copy { padding: clamp(28px, 4vw, 52px); }
.sf-season__media { position: relative; height: 100%; min-height: 360px; }
.sf-season__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sf-season__media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0, 0, 0, 0) 70%, rgba(255, 255, 255, 0.35) 100%); }
.sf-season__eyebrow { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 14px; padding: 7px 14px; border-radius: 999px; background: var(--sfs-accent); color: #fff; font-family: 'Manrope', system-ui, sans-serif; font-size: 12px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.sf-season__eyebrow span { font-weight: 600; letter-spacing: 0.04em; text-transform: none; opacity: 0.9; }
.sf-season__title { margin: 0 0 14px; font-family: 'Playfair Display', Georgia, serif; font-size: clamp(30px, 3.6vw, 48px); font-weight: 500; line-height: 1.12; letter-spacing: -0.02em; color: var(--sfs-ink); max-width: 640px; }
.sf-season__text { max-width: 560px; margin: 0 0 24px; font-size: 17px; line-height: 1.7; color: var(--sfs-muted); }
.sf-season__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; }
.sf-seasons a.sf-season__link { display: inline-flex; align-items: center; gap: 10px; min-height: 50px; padding: 12px 24px; border-radius: 999px; background: var(--sfs-accent); color: #fff; font-size: 15px; font-weight: 700; text-decoration: none; box-shadow: 0 14px 28px -16px var(--sfs-accent); transition: transform 0.25s, background 0.25s; }
.sf-seasons a.sf-season__link:hover { background: var(--sfs-accent-dark); color: #fff; transform: translateY(-2px); }
.sf-season__countdown { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: var(--sfs-accent-dark); }
.sf-season__empty { margin: 0; font-size: 15px; color: var(--sfs-muted); }
.sf-seasons a:focus-visible { outline: 3px solid var(--sfs-accent); outline-offset: 4px; }
/* Fallback card grid when the theme does not style ul.products */
.sf-season__products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px 18px; list-style: none; margin: 0; padding: 0; }
.sf-season__products::before, .sf-season__products::after { content: none; display: none; }
@media (max-width: 1024px) { .sf-season__products { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 780px) {
	.sf-season__inner { width: min(1280px, 100% - 32px); }
	.sf-season { padding: 40px 0; }
	.sf-season__banner, .sf-season__banner--image { grid-template-columns: 1fr; gap: 0; }
	.sf-season__media { min-height: 220px; max-height: 260px; }
	.sf-season__media::after { background: none; }
	.sf-season__text { font-size: 15px; }
	.sf-season__products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 10px; }
}
@media (prefers-reduced-motion: reduce) { .sf-season__deco i { animation: none; } }
