:root {
    --flowers-ink: #21342f;
    --flowers-evergreen: #173f37;
    --flowers-evergreen-dark: #0f302a;
    --flowers-paper: #fffaf4;
    --flowers-surface: #fff;
    --flowers-rose: #a93655;
    --flowers-rose-dark: #862841;
    --flowers-blush: #f3dce0;
    --flowers-sage: #dce7dd;
    --flowers-apricot: #e6a06f;
    --flowers-amber: #f2b544;
    --flowers-muted: #61716b;
    --flowers-line: #ded5cb;
    --flowers-shadow: 0 16px 36px rgba(23, 63, 55, .1);
    --flowers-shadow-hover: 0 20px 42px rgba(23, 63, 55, .16);
    --flowers-container: 1200px;
    --flowers-radius-sm: 6px;
    --flowers-radius: 10px;
    --flowers-radius-lg: 16px;
}

body.flowers-site-body {
    margin: 0;
    overflow-x: hidden;
    background: var(--flowers-paper);
    color: var(--flowers-ink);
    font-family: "Onest", sans-serif;
    font-size: 16px;
    line-height: 1.55;
    text-rendering: optimizeLegibility;
}

body.flowers-site-body *,
body.flowers-site-body *::before,
body.flowers-site-body *::after { box-sizing: border-box; }
body.flowers-site-body img { max-width: 100%; }
body.flowers-site-body a { color: inherit; text-decoration: none; }
body.flowers-site-body h1,
body.flowers-site-body h2,
body.flowers-site-body h3,
body.flowers-site-body p,
body.flowers-site-body figure { margin: 0; }
body.flowers-site-body h1,
body.flowers-site-body h2 { color: var(--flowers-evergreen-dark); font-family: "Prata", serif; font-weight: 400; }
body.flowers-site-body h1 { font-size: 54px; line-height: 1.08; }
body.flowers-site-body h2 { font-size: 36px; line-height: 1.2; }
body.flowers-site-body h3 { font-size: 20px; line-height: 1.3; }

:where(body.flowers-site-body) section {
    border-top: 0;
    background-attachment: scroll;
}

.flowers-site__container { width: min(calc(100% - 48px), var(--flowers-container)); margin-inline: auto; }
.flowers-skip-link { position: fixed; top: 12px; left: 12px; z-index: 1000; padding: 10px 14px; transform: translateY(-180%); border-radius: 6px; background: #fff; color: var(--flowers-evergreen-dark); font-weight: 700; }
.flowers-skip-link:focus { transform: translateY(0); }

.flowers-header { position: relative; z-index: 50; border-bottom: 1px solid rgba(23, 63, 55, .12); background: rgba(255, 250, 244, .98); }
.flowers-header__utility { min-height: 34px; background: var(--flowers-evergreen-dark); color: rgba(255, 255, 255, .8); font-size: 13px; }
.flowers-header__utility-inner { display: flex; align-items: center; min-height: 34px; gap: 12px; }
.flowers-header__utility-phone { margin-left: auto; color: #fff !important; font-weight: 700; }
.flowers-city-switcher { display: inline-flex; flex-wrap: wrap; gap: 6px; }
.flowers-city-switcher a { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 8px 14px; border: 1px solid var(--flowers-line); border-radius: 999px; background: #fff; color: var(--flowers-evergreen-dark); font-size: 14px; font-weight: 650; transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease, transform 160ms ease; }
.flowers-city-switcher a:hover { border-color: var(--flowers-evergreen); }
.flowers-city-switcher a:active { transform: translateY(1px); }
.flowers-city-switcher a[aria-current="true"] { border-color: var(--flowers-evergreen); background: var(--flowers-evergreen); color: #fff; }
.flowers-city-switcher--compact a { min-height: 26px; padding: 3px 9px; border-color: rgba(255,255,255,.24); background: transparent; color: #fff; font-size: 12px; }
.flowers-city-switcher--compact a[aria-current="true"] { border-color: var(--flowers-amber); background: var(--flowers-amber); color: var(--flowers-evergreen-dark); }

.flowers-header__main { display: flex; align-items: center; min-height: 76px; gap: 30px; }
.flowers-header__brand { display: inline-flex; align-items: center; flex: 0 0 auto; gap: 12px; }
.flowers-header__brand img,
.flowers-footer__logo img { display: block; width: 64px; height: 42px; object-fit: cover; border-radius: 6px; }
.flowers-header__brand span { display: grid; gap: 1px; }
.flowers-header__brand strong { color: var(--flowers-evergreen-dark); font-family: "Prata", serif; font-size: 18px; font-weight: 400; line-height: 1.2; }
.flowers-header__brand small { color: var(--flowers-muted); font-size: 11px; letter-spacing: .05em; text-transform: uppercase; }
.flowers-header__nav { display: flex; align-items: center; justify-content: center; gap: 24px; margin-left: auto; }
.flowers-header__nav a { position: relative; padding: 10px 0; color: #344a44; font-size: 14px; font-weight: 600; }
.flowers-header__nav a::after { position: absolute; right: 0; bottom: 4px; left: 0; height: 2px; transform: scaleX(0); background: var(--flowers-rose); content: ""; transition: transform 160ms ease; }
.flowers-header__nav a:hover::after,
.flowers-header__nav a[aria-current="page"]::after { transform: scaleX(1); }
.flowers-header__actions { display: flex; align-items: center; gap: 8px; }
.flowers-header__menu { display: none; margin-left: auto; }
.flowers-header__menu summary { display: grid; width: 44px; height: 44px; place-content: center; gap: 5px; border: 1px solid var(--flowers-line); border-radius: 6px; cursor: pointer; list-style: none; }
.flowers-header__menu summary::-webkit-details-marker { display: none; }
.flowers-header__menu summary span { display: block; width: 20px; height: 2px; background: var(--flowers-evergreen-dark); }
.flowers-header__menu nav { position: absolute; top: calc(100% + 1px); right: 20px; display: grid; width: min(300px, calc(100vw - 32px)); padding: 12px; border: 1px solid var(--flowers-line); border-radius: 10px; background: #fff; box-shadow: var(--flowers-shadow); }
.flowers-header__menu nav a { min-height: 44px; padding: 11px 12px; border-radius: 6px; color: var(--flowers-evergreen-dark); font-weight: 600; }
.flowers-header__menu nav a:hover,
.flowers-header__menu nav a[aria-current="page"] { background: var(--flowers-sage); }

.flowers-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 20px; border: 1px solid transparent; border-radius: 6px; font-family: "Onest", sans-serif; font-size: 15px; font-weight: 700; line-height: 1.2; text-align: center; transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 120ms ease, box-shadow 160ms ease; }
.flowers-button:hover { transform: translateY(-1px); }
.flowers-button:active { transform: translateY(1px); }
.flowers-button--small { min-height: 40px; padding: 9px 14px; font-size: 13px; }
.flowers-button--primary { background: var(--flowers-rose); color: #fff !important; box-shadow: 0 8px 18px rgba(169,54,85,.2); }
.flowers-button--primary:hover { background: var(--flowers-rose-dark); box-shadow: 0 10px 22px rgba(169,54,85,.26); }
.flowers-button--secondary { border-color: var(--flowers-evergreen); background: transparent; color: var(--flowers-evergreen) !important; }
.flowers-button--secondary:hover { background: var(--flowers-evergreen); color: #fff !important; }
.flowers-button--light { border-color: rgba(255,255,255,.5); background: #fff; color: var(--flowers-evergreen-dark) !important; }
.flowers-button--light:hover { background: var(--flowers-sage); }
.flowers-button[disabled], .flowers-button.is-disabled { cursor: not-allowed; opacity: .48; pointer-events: none; }
.flowers-button.is-loading { color: transparent !important; pointer-events: none; }
.flowers-button.is-loading::after { width: 18px; height: 18px; border: 2px solid rgba(255,255,255,.42); border-top-color: #fff; border-radius: 50%; content: ""; animation: flowers-spin 700ms linear infinite; }

.flowers-eyebrow { margin-bottom: 12px !important; color: var(--flowers-rose); font-size: 12px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.flowers-text-link { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; color: var(--flowers-evergreen-dark) !important; font-size: 15px; font-weight: 700; }
.flowers-text-link:hover { color: var(--flowers-rose) !important; }
.flowers-section-heading { max-width: 760px; margin-bottom: 32px; }
.flowers-section-heading--split { display: flex; align-items: end; justify-content: space-between; max-width: none; gap: 32px; }
.flowers-section-heading--on-dark h2,
.flowers-section-heading--on-dark .flowers-eyebrow { color: #fff; }

.flowers-home__hero { position: relative; padding: 64px 0 80px; background: radial-gradient(circle at 8% 12%, rgba(230,160,111,.2), transparent 28%), linear-gradient(135deg, #fffaf4 0%, #f7ece6 100%); }
.flowers-home__hero-grid { display: grid; grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); gap: 52px; align-items: center; }
.flowers-home__hero-copy { max-width: 570px; }
.flowers-home__lead { max-width: 560px; margin-top: 20px !important; color: #4d625b; font-size: 18px; line-height: 1.65; }
.flowers-home__city-panel { display: grid; gap: 10px; margin-top: 28px; }
.flowers-home__city-panel > span { color: var(--flowers-muted); font-size: 13px; font-weight: 650; }
.flowers-home__hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.flowers-home__hero-note { margin-top: 14px !important; color: var(--flowers-muted); font-size: 13px; }
.flowers-home__hero-media { position: relative; }
.flowers-home__hero-media::before { position: absolute; top: -18px; right: -18px; width: 52%; height: 48%; border: 1px solid rgba(169,54,85,.22); border-radius: 16px; content: ""; }
.flowers-home__hero-media img { position: relative; z-index: 1; display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 16px; box-shadow: var(--flowers-shadow); }
.flowers-home__hero-media figcaption { position: absolute; right: 18px; bottom: 18px; z-index: 2; max-width: 230px; padding: 10px 12px; border-radius: 6px; background: rgba(255,250,244,.92); color: var(--flowers-evergreen-dark); font-size: 12px; font-weight: 650; backdrop-filter: blur(8px); }

.flowers-home__intro { padding: 64px 0; border-bottom: 1px solid var(--flowers-line); background: #fff; }
.flowers-home__intro-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 64px; align-items: start; }
.flowers-home__intro-grid > p { max-width: 650px; color: var(--flowers-muted); font-size: 17px; }
.flowers-home__catalog, .flowers-home__benefits, .flowers-info-section { padding: 88px 0; }
.flowers-home__catalog { background: var(--flowers-paper); }

.flowers-product-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
.flowers-product-card { min-width: 0; height: 100%; overflow: hidden; border: 1px solid var(--flowers-line); border-radius: 10px; background: #fff; box-shadow: 0 8px 20px rgba(23,63,55,.05); transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease; }
.flowers-product-card:hover { border-color: rgba(23,63,55,.35); box-shadow: var(--flowers-shadow-hover); transform: translateY(-3px); }
.flowers-product-card__link { display: grid; grid-template-rows: auto 1fr; height: 100%; }
.flowers-product-card__media { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: #f0ebe4; }
.flowers-product-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 240ms ease; }
.flowers-product-card:hover .flowers-product-card__media img { transform: scale(1.025); }
.flowers-badge { position: absolute; top: 10px; left: 10px; display: inline-flex; align-items: center; min-height: 26px; padding: 5px 9px; border-radius: 999px; background: var(--flowers-evergreen); color: #fff; font-size: 10px; font-weight: 750; letter-spacing: .03em; line-height: 1; text-transform: uppercase; }
.flowers-badge--today { background: var(--flowers-sage); color: var(--flowers-evergreen-dark); }
.flowers-badge--new { background: var(--flowers-apricot); color: #43291e; }
.flowers-badge--sale { background: var(--flowers-rose); }
.flowers-badge--unavailable { right: 10px; left: auto; background: #565b59; }
.flowers-product-card__body { display: flex; flex-direction: column; min-height: 174px; padding: 14px; }
.flowers-product-card__category { margin-bottom: 6px; color: var(--flowers-muted); font-size: 11px; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; }
.flowers-product-card__body > strong { display: -webkit-box; min-height: 44px; overflow: hidden; color: var(--flowers-evergreen-dark); font-size: 16px; font-weight: 700; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.flowers-product-card__body > small { display: -webkit-box; min-height: 40px; margin-top: 7px; overflow: hidden; color: var(--flowers-muted); font-size: 13px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.flowers-product-card__bottom { display: flex; align-items: end; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 13px; }
.flowers-product-card__prices { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; }
.flowers-product-card__prices del { color: #8a8f8d; font-size: 12px; }
.flowers-product-card__prices b { color: var(--flowers-rose); font-size: 19px; line-height: 1.2; white-space: nowrap; }
.flowers-product-card__action { color: var(--flowers-evergreen-dark); font-size: 12px; font-weight: 700; white-space: nowrap; }
.flowers-product-card.is-unavailable { background: #f1f0ed; }
.flowers-product-card.is-unavailable .flowers-product-card__media img { filter: grayscale(.7); opacity: .7; }

.flowers-home__catalog-footer { display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-top: 30px; padding: 24px; border: 1px solid var(--flowers-line); border-radius: 10px; background: #fff; }
.flowers-home__catalog-footer p { max-width: 670px; color: var(--flowers-muted); }
.flowers-home__occasions { padding: 88px 0; background: var(--flowers-evergreen-dark); color: #fff; }
.flowers-occasion-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; background: rgba(255,255,255,.18); }
.flowers-occasion-grid a { position: relative; display: grid; min-height: 176px; padding: 24px 48px 24px 24px; background: var(--flowers-evergreen-dark); transition: background-color 180ms ease; }
.flowers-occasion-grid a:hover { background: var(--flowers-evergreen); }
.flowers-occasion-grid strong { align-self: end; font-size: 19px; }
.flowers-occasion-grid span { margin-top: 8px; color: rgba(255,255,255,.7); font-size: 14px; }
.flowers-occasion-grid i { position: absolute; top: 22px; right: 22px; color: var(--flowers-amber); font-size: 20px; font-style: normal; }

.flowers-home__delivery { padding: 88px 0; background: #fff; }
.flowers-home__delivery-grid { display: grid; grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr); gap: 72px; align-items: start; }
.flowers-home__delivery-grid > div:first-child > p:not(.flowers-eyebrow) { margin: 18px 0 16px; color: var(--flowers-muted); }
.flowers-delivery-list { display: grid; gap: 12px; }
.flowers-delivery-list > div { display: grid; grid-template-columns: 140px 1fr; gap: 24px; padding: 18px 20px; border: 1px solid var(--flowers-line); border-radius: 10px; background: var(--flowers-paper); }
.flowers-delivery-list strong { color: var(--flowers-evergreen-dark); font-size: 16px; }
.flowers-delivery-list span { color: var(--flowers-muted); font-size: 14px; }

.flowers-home__benefits { background: var(--flowers-sage); }
.flowers-benefit-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.flowers-benefit-grid article { min-height: 230px; padding: 26px; border: 1px solid rgba(23,63,55,.16); border-radius: 10px; background: rgba(255,255,255,.72); }
.flowers-benefit-grid article > span { display: block; margin-bottom: 48px; color: var(--flowers-rose); font-size: 13px; font-weight: 750; }
.flowers-benefit-grid h3 { color: var(--flowers-evergreen-dark); }
.flowers-benefit-grid p { margin-top: 10px !important; color: var(--flowers-muted); font-size: 14px; }
.flowers-home__contact { padding: 88px 0; background: var(--flowers-paper); }
.flowers-home__contact-inner { display: grid; grid-template-columns: minmax(0,1fr) minmax(320px,.75fr); gap: 64px; align-items: center; padding: 46px; border-radius: 16px; background: var(--flowers-blush); }
.flowers-home__contact-inner p:not(.flowers-eyebrow) { max-width: 680px; margin-top: 16px; color: #5d4a50; }
.flowers-home__contact-actions { display: flex; flex-wrap: wrap; gap: 10px; }

.flowers-faq { padding: 88px 0; background: #fff; }
.flowers-faq__list { display: grid; max-width: 900px; border-top: 1px solid var(--flowers-line); }
.flowers-faq details { border-bottom: 1px solid var(--flowers-line); }
.flowers-faq summary { position: relative; min-height: 64px; padding: 20px 48px 20px 0; color: var(--flowers-evergreen-dark); cursor: pointer; font-size: 17px; font-weight: 700; list-style: none; }
.flowers-faq summary::-webkit-details-marker { display: none; }
.flowers-faq summary::after { position: absolute; top: 20px; right: 4px; content: "+"; color: var(--flowers-rose); font-size: 24px; font-weight: 400; line-height: 1; }
.flowers-faq details[open] summary::after { content: "-"; }
.flowers-faq details p { max-width: 760px; padding: 0 48px 22px 0; color: var(--flowers-muted); }

.flowers-breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; padding: 18px 0; color: var(--flowers-muted); font-size: 12px; }
.flowers-breadcrumbs a:hover { color: var(--flowers-rose); }
.flowers-page-hero { padding: 64px 0 72px; border-top: 1px solid rgba(23,63,55,.08); background: var(--flowers-sage); }
.flowers-page-hero--cream { background: linear-gradient(135deg,var(--flowers-paper),#f3e7dc); }
.flowers-page-hero--dark { background: var(--flowers-evergreen-dark); color: #fff; }
.flowers-page-hero--dark h1, .flowers-page-hero--dark .flowers-eyebrow { color: #fff; }
.flowers-page-hero__inner { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 48px; align-items: end; }
.flowers-page-hero__inner > div { max-width: 820px; }
.flowers-page-hero__inner p:not(.flowers-eyebrow) { max-width: 720px; margin-top: 18px; color: var(--flowers-muted); font-size: 17px; }
.flowers-page-hero--dark .flowers-page-hero__inner p:not(.flowers-eyebrow) { color: rgba(255,255,255,.72); }

.flowers-catalog__content { padding: 48px 0 88px; background: var(--flowers-paper); }
.flowers-catalog__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.flowers-filter-list { display: flex; flex-wrap: wrap; gap: 8px; }
.flowers-filter-list a { display: inline-flex; align-items: center; min-height: 40px; padding: 8px 13px; border: 1px solid var(--flowers-line); border-radius: 999px; background: #fff; color: var(--flowers-evergreen-dark); font-size: 13px; font-weight: 650; }
.flowers-filter-list a:hover, .flowers-filter-list a[aria-current="true"] { border-color: var(--flowers-evergreen); background: var(--flowers-evergreen); color: #fff; }
.flowers-catalog__toolbar > p { max-width: 300px; color: var(--flowers-muted); font-size: 12px; text-align: right; }
.flowers-catalog__empty { padding: 48px; border: 1px solid var(--flowers-line); border-radius: 10px; background: #fff; }
.flowers-catalog__empty p { margin: 14px 0 22px; color: var(--flowers-muted); }
.flowers-catalog__source { padding: 72px 0; background: var(--flowers-evergreen-dark); color: #fff; }
.flowers-catalog__source-inner { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 52px; align-items: center; }
.flowers-catalog__source h2, .flowers-catalog__source .flowers-eyebrow { color: #fff; }
.flowers-catalog__source p:not(.flowers-eyebrow) { max-width: 720px; margin-top: 14px; color: rgba(255,255,255,.7); }
.flowers-catalog__source-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.flowers-catalog__source .flowers-button--secondary { border-color: rgba(255,255,255,.62); color: #fff !important; }
.flowers-catalog__source .flowers-button--secondary:hover { background: #fff; color: var(--flowers-evergreen-dark) !important; }

.flowers-info-section { background: #fff; }
.flowers-info-section--sage { background: var(--flowers-sage); }
.flowers-info-section--blush { background: var(--flowers-blush); }
.flowers-rule-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.flowers-rule-grid article { min-height: 220px; padding: 26px; border: 1px solid var(--flowers-line); border-radius: 10px; background: var(--flowers-paper); }
.flowers-rule-grid strong { display: block; color: var(--flowers-rose); font-family: "Prata", serif; font-size: 25px; font-weight: 400; }
.flowers-rule-grid p { margin-top: 24px; color: var(--flowers-muted); font-size: 14px; }
.flowers-delivery-cities { display: grid; grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); gap: 64px; }
.flowers-delivery-cities__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.flowers-delivery-cities__grid article { padding: 24px; border: 1px solid rgba(23,63,55,.16); border-radius: 10px; background: rgba(255,255,255,.7); }
.flowers-delivery-cities__grid h3 { color: var(--flowers-evergreen-dark); }
.flowers-delivery-cities__grid p { margin-top: 10px; color: var(--flowers-muted); font-size: 14px; }
.flowers-note-panel { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 48px; align-items: center; padding: 42px; border: 1px solid var(--flowers-line); border-radius: 16px; background: var(--flowers-paper); }
.flowers-note-panel p:not(.flowers-eyebrow) { max-width: 760px; margin-top: 16px; color: var(--flowers-muted); }
.flowers-contact-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.flowers-contact-grid a { display: grid; min-height: 176px; padding: 24px; border: 1px solid var(--flowers-line); border-radius: 10px; background: var(--flowers-paper); transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease; }
.flowers-contact-grid a:hover { border-color: var(--flowers-evergreen); box-shadow: var(--flowers-shadow); transform: translateY(-2px); }
.flowers-contact-grid span { color: var(--flowers-muted); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.flowers-contact-grid strong { align-self: center; color: var(--flowers-evergreen-dark); font-size: 20px; }
.flowers-contact-grid i { align-self: end; color: var(--flowers-rose); font-size: 13px; font-style: normal; font-weight: 700; }
.flowers-order-note { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 64px; }
.flowers-order-note ol { display: grid; gap: 14px; margin: 0; padding: 0; counter-reset: flowers-order; list-style: none; }
.flowers-order-note li { display: grid; grid-template-columns: 34px 1fr; align-items: center; min-height: 52px; color: #59444b; counter-increment: flowers-order; }
.flowers-order-note li::before { display: grid; width: 28px; height: 28px; place-content: center; border-radius: 50%; background: var(--flowers-rose); color: #fff; content: counter(flowers-order); font-size: 12px; font-weight: 700; }

.flowers-footer { background: var(--flowers-evergreen-dark); color: rgba(255,255,255,.76); }
.flowers-footer__grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(130px,.6fr) minmax(190px,.8fr) minmax(220px,.95fr); gap: 44px; padding-top: 58px; padding-bottom: 42px; }
.flowers-footer__logo { display: inline-flex; align-items: center; gap: 12px; color: #fff !important; font-family: "Prata", serif; font-size: 18px; }
.flowers-footer__brand p { max-width: 330px; margin-top: 16px; font-size: 14px; }
.flowers-footer__column { display: grid; align-content: start; gap: 9px; }
.flowers-footer h2 { margin-bottom: 6px !important; color: #fff !important; font-family: "Onest",sans-serif !important; font-size: 14px !important; font-weight: 700 !important; }
.flowers-footer__column a, .flowers-footer__bottom a { color: rgba(255,255,255,.72); font-size: 14px; }
.flowers-footer__column a:hover, .flowers-footer__bottom a:hover { color: #fff; }
.flowers-footer__cta p { margin-bottom: 16px; color: #fff; font-size: 17px; font-weight: 650; }
.flowers-footer__bottom { display: flex; justify-content: space-between; gap: 24px; padding-top: 18px; padding-bottom: 22px; border-top: 1px solid rgba(255,255,255,.13); font-size: 12px; }

.flowers-site :focus-visible,
.flowers-header :focus-visible,
.flowers-footer :focus-visible,
.flowers-skip-link:focus-visible { outline: 3px solid var(--flowers-amber); outline-offset: 3px; }
@keyframes flowers-spin { to { transform: rotate(360deg); } }

@media (max-width: 1199px) {
    .flowers-header__nav { gap: 16px; }
    .flowers-header__actions .flowers-button--secondary { display: none; }
    .flowers-product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .flowers-footer__grid { grid-template-columns: minmax(0,1.2fr) repeat(2,minmax(150px,.7fr)); }
    .flowers-footer__cta { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.13); }
    .flowers-footer__cta p { margin-bottom: 0; }
}

@media (max-width: 899px) {
    body.flowers-site-body h1 { font-size: 42px; }
    body.flowers-site-body h2 { font-size: 31px; }
    .flowers-header__nav, .flowers-header__actions { display: none; }
    .flowers-header__menu { display: block; }
    .flowers-home__hero { padding: 48px 0 64px; }
    .flowers-home__hero-grid { grid-template-columns: 1fr; gap: 36px; }
    .flowers-home__hero-copy { max-width: 680px; }
    .flowers-home__hero-media img { aspect-ratio: 16 / 10; }
    .flowers-home__intro-grid,
    .flowers-home__delivery-grid,
    .flowers-home__contact-inner,
    .flowers-page-hero__inner,
    .flowers-catalog__source-inner,
    .flowers-delivery-cities,
    .flowers-note-panel,
    .flowers-order-note { grid-template-columns: 1fr; gap: 30px; }
    .flowers-occasion-grid, .flowers-benefit-grid, .flowers-rule-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .flowers-home__contact-inner { padding: 34px; }
    .flowers-catalog__toolbar { align-items: flex-start; flex-direction: column; }
    .flowers-catalog__toolbar > p { max-width: none; text-align: left; }
    .flowers-footer__grid { grid-template-columns: 1.2fr .8fr; }
    .flowers-footer__cta { grid-column: auto; display: block; padding-top: 0; border-top: 0; }
    .flowers-footer__cta p { margin-bottom: 16px; }
}

@media (max-width: 599px) {
    .flowers-site__container { width: min(calc(100% - 28px),var(--flowers-container)); }
    body.flowers-site-body h1 { font-size: 36px; line-height: 1.12; }
    body.flowers-site-body h2 { font-size: 28px; }
    .flowers-header__utility, .flowers-header__utility-inner { min-height: 44px; }
    .flowers-city-switcher--compact a { min-height: 40px; padding: 5px 10px; }
    .flowers-header__utility-inner > span, .flowers-header__utility-phone { display: none; }
    .flowers-header__utility-inner { justify-content: center; }
    .flowers-header__main { min-height: 66px; }
    .flowers-header__brand img { width: 50px; height: 34px; }
    .flowers-header__brand strong { font-size: 16px; }
    .flowers-header__brand small { display: none; }
    .flowers-header__menu nav { right: 14px; }
    .flowers-home__hero { padding: 38px 0 48px; }
    .flowers-home__lead { font-size: 16px; }
    .flowers-home__hero-actions .flowers-button { flex: 1 1 100%; }
    .flowers-home__hero-media::before { display: none; }
    .flowers-home__hero-media img { aspect-ratio: 4 / 3; }
    .flowers-home__hero-media figcaption { right: 10px; bottom: 10px; max-width: 190px; }
    .flowers-home__intro,
    .flowers-home__catalog,
    .flowers-home__occasions,
    .flowers-home__delivery,
    .flowers-home__benefits,
    .flowers-home__contact,
    .flowers-faq,
    .flowers-info-section { padding: 56px 0; }
    .flowers-section-heading--split { align-items: flex-start; flex-direction: column; gap: 8px; }
    .flowers-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
    .flowers-product-card__body { min-height: 166px; padding: 11px; }
    .flowers-product-card__category { font-size: 9px; }
    .flowers-product-card__body > strong { min-height: 40px; font-size: 14px; }
    .flowers-product-card__body > small { min-height: 36px; font-size: 11px; }
    .flowers-product-card__bottom { align-items: flex-start; flex-direction: column; gap: 4px; }
    .flowers-product-card__prices b { font-size: 17px; }
    .flowers-product-card__action { font-size: 11px; }
    .flowers-badge { top: 7px; left: 7px; max-width: calc(100% - 14px); min-height: 22px; padding: 4px 7px; overflow: hidden; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
    .flowers-home__catalog-footer { display: flex; align-items: stretch; flex-direction: column; padding: 22px; }
    .flowers-home__catalog-footer .flowers-button, .flowers-note-panel .flowers-button { width: 100%; }
    .flowers-occasion-grid,
    .flowers-benefit-grid,
    .flowers-rule-grid,
    .flowers-contact-grid,
    .flowers-delivery-cities__grid { grid-template-columns: 1fr; }
    .flowers-occasion-grid a { min-height: 138px; }
    .flowers-delivery-list > div { grid-template-columns: 1fr; gap: 6px; }
    .flowers-home__contact-inner { width: min(calc(100% - 28px),var(--flowers-container)); padding: 26px; }
    .flowers-home__contact-actions .flowers-button, .flowers-page-hero__inner .flowers-button { width: 100%; }
    .flowers-page-hero { padding: 44px 0 52px; }
    .flowers-filter-list { flex-wrap: nowrap; width: calc(100vw - 14px); margin-right: -14px; padding-right: 14px; overflow-x: auto; scrollbar-width: none; }
    .flowers-filter-list::-webkit-scrollbar { display: none; }
    .flowers-filter-list a { flex: 0 0 auto; }
    .flowers-catalog__content { padding: 36px 0 56px; }
    .flowers-catalog__source-actions .flowers-button { width: 100%; }
    .flowers-rule-grid article { min-height: 0; }
    .flowers-contact-grid a { min-height: 148px; }
    .flowers-footer__grid { grid-template-columns: 1fr 1fr; gap: 32px 20px; }
    .flowers-footer__brand, .flowers-footer__cta { grid-column: 1 / -1; }
    .flowers-footer__bottom { align-items: flex-start; flex-direction: column; gap: 6px; }
}

@media (max-width: 359px) { .flowers-product-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) {
    .flowers-site *, .flowers-header *, .flowers-footer * { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
