/* Dynamic CodeIgniter integration layer for the original Rose Boutique theme. */
.theme-rose main { min-height: 55vh; }
.theme-rose .flash { max-width: 1180px; margin: 18px auto; }
.theme-rose .product-price form { margin: 0; }
.theme-rose .product-price small { font-size: 11px; margin-inline-start: 4px; color: var(--text-muted, #777); }
.theme-rose .product-card .product-image > a { display: block; height: 100%; }
.theme-rose .product-card .product-image > a img { width: 100%; height: 100%; object-fit: cover; }
.theme-rose .product-actions button.active { color: #fff; background: #9e3654; }
.theme-rose .rose-page-transition { position: fixed; inset: 0; z-index: 99999; pointer-events: none; display: grid; grid-template-columns: repeat(5, 1fr); }
.theme-rose .rose-page-transition i { background: linear-gradient(180deg, #a83d5d, #6f2039); transform: scaleY(0); transform-origin: bottom; transition: transform .34s cubic-bezier(.7,0,.2,1); }
.theme-rose .rose-page-transition i:nth-child(2) { transition-delay: .025s; }
.theme-rose .rose-page-transition i:nth-child(3) { transition-delay: .05s; }
.theme-rose .rose-page-transition i:nth-child(4) { transition-delay: .075s; }
.theme-rose .rose-page-transition i:nth-child(5) { transition-delay: .1s; }
.theme-rose.rose-page-exit .rose-page-transition i { transform: scaleY(1); }
.theme-rose main > .container:first-child, .theme-rose .shop-page, .theme-rose .auth-page, .theme-rose .dashboard-page { animation: roseEnter .42s cubic-bezier(.2,.8,.2,1) both; }
@keyframes roseEnter { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.theme-rose .store-theme-preview { position: relative; z-index: 10000; }
.theme-rose .shop-page, .theme-rose .auth-page { padding-top: 42px; padding-bottom: 64px; }
.theme-rose .shop-header, .theme-rose .shop-footer { display: none !important; }
.theme-rose .catalog-shell, .theme-rose .product-detail, .theme-rose .cart-layout, .theme-rose .checkout-layout, .theme-rose .order-shell { max-width: 1180px; margin-inline: auto; }
@media (prefers-reduced-motion: reduce) { .theme-rose *, .theme-rose *::before, .theme-rose *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }

/* Keep catalog/category product cards exactly the same size as Rose home page cards. */
.theme-rose .catalog-results .products-grid--catalog-rose {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
}
.theme-rose .catalog-results .products-grid--catalog-rose .product-card {
  min-width: 0;
  height: 100%;
}
@media (max-width: 1024px) {
  .theme-rose .catalog-results .products-grid--catalog-rose {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 768px) {
  .theme-rose .catalog-results .products-grid--catalog-rose {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }
}

