/* Public routes share Rabbit's fonts, cards, color tokens and checkout chrome. */
.seo-tabs a { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:13px 23px; border:1px solid #f4ccdd; border-radius:999px; color:var(--text-dark); background:#fff; font:600 .95rem/1.3 var(--font-body); text-decoration:none; }
.seo-tabs a.active { color:#fff; background:var(--accent-pink); border-color:var(--accent-pink); }
.seo-categories a { display:inline-flex; align-items:center; min-height:44px; padding:10px 15px; border:1px solid var(--border-subtle); border-radius:999px; color:var(--text-dark); background:#fff; font:500 .81rem/1.35 var(--font-body); text-decoration:none; }
.seo-categories a.active { border-color:var(--accent-pink); color:var(--accent-pink); background:#fff0f6; }
.seo-tabs a:hover,.seo-categories a:hover { border-color:var(--accent-pink); }
.seo-tabs a:focus-visible,.seo-categories a:focus-visible,.seo-filter-actions a:focus-visible { outline:3px solid var(--accent-pink); outline-offset:3px; }
.seo-filter-actions { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px; min-height:46px; }
.seo-filter-actions a { color:var(--accent-pink); font-size:.82rem; }
.seo-catalog-main .bouquet-card-title a { color:inherit; text-decoration:none; }
.seo-catalog-main .bouquet-card-title a:hover { color:var(--accent-pink); }
.seo-catalog-main .bouquet-card-image-wrap { display:block; }
.seo-catalog-note { margin-top:42px; padding-top:28px; border-top:1px solid var(--border-subtle); max-width:900px; }
.seo-catalog-note h2 { margin:0 0 14px; font-size:1.7rem; }
.seo-catalog-note p { margin:0 0 14px; color:var(--text-muted); font-size:.9rem; line-height:1.8; }
.seo-catalog-note a,.seo-product-copy a:not(.btn) { color:var(--accent-pink); }
.seo-product-main .shop-breadcrumb { flex-wrap:wrap; line-height:1.6; }
.seo-product { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:clamp(28px,5vw,72px); align-items:start; }
.seo-product-image { border-radius:24px; overflow:hidden; background:#fff0f6; }
.seo-product-image img { display:block; width:100%; height:auto; max-height:800px; object-fit:contain; }
.seo-product-copy { min-width:0; }
.seo-product-copy h1 { margin:12px 0 22px; font-size:clamp(2rem,3.8vw,3.3rem); line-height:1.18; overflow-wrap:anywhere; }
.seo-product-copy h2 { margin:26px 0 12px; font-size:1.5rem; }
.seo-product-price { margin:0 0 22px; color:var(--accent-pink); font-size:1.75rem; font-weight:600; }
.seo-product-availability,.seo-product-description p,.seo-product-delivery { color:var(--text-muted); font-size:.93rem; line-height:1.85; }
.seo-product-description p { white-space:pre-line; overflow-wrap:anywhere; }
.seo-product-actions { display:flex; flex-wrap:wrap; gap:12px; margin:28px 0 22px; }
.seo-product-copy > .btn { margin:24px 0; }
.seo-product-delivery { margin:24px 0 16px; padding-top:22px; border-top:1px solid var(--border-subtle); }
.seo-product-main noscript p { font-size:.9rem; line-height:1.8; }
.catalog-page .seo-catalog-main .bouquets-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
@media(max-width:1024px) {
  .seo-tabs a { padding:12px 18px; }
  .seo-product { gap:28px; }
}
@media(max-width:768px) {
  .seo-tabs a { flex:1; min-width:0; padding:11px 8px; font-size:.78rem; border-radius:16px; text-align:center; }
  .seo-categories a { font-size:.75rem; padding:9px 12px; }
  .seo-filter-actions { grid-column:1/-1; }
  .seo-filter-actions button { flex:1; }
  .seo-catalog-note { margin-top:30px; }
  .seo-catalog-note h2 { font-size:1.4rem; }
  .seo-product { grid-template-columns:minmax(0,1fr); gap:26px; }
  .seo-product-image { border-radius:18px; }
  .seo-product-copy h1 { margin-top:10px; }
  .seo-product-actions .btn { flex:1; padding-inline:14px; }
  .catalog-page .seo-catalog-main .bouquets-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
