/* Elegant Theme - Soft, Feminine, Romantic Design */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Quicksand:wght@300;400;500;600&display=swap');

[data-theme="rosette"] {
  /* Core Variables */
  --elegant-font-primary: 'Quicksand', -apple-system, BlinkMacSystemFont, sans-serif;
  --elegant-font-display: 'Cormorant Garamond', Georgia, serif;
  --elegant-primary: #D4A5A5;  /* Soft rose pink */
  --elegant-secondary: #9E7777;  /* Muted mauve */
  --elegant-accent: #F3E9E9;    /* Light blush */
  --elegant-accent-hover: #E8D7D7; /* Slightly darker blush */
  --elegant-bg: #FFFAFA;        /* Snow white background */
  --elegant-surface: #FDF6F6;   /* Soft pink-tinted surface */
  --elegant-border: rgba(158, 119, 119, 0.15);
  --elegant-text: #615050;      /* Warm gray text */
  --elegant-text-light: #9E8B8B;
  --elegant-card-bg: #FFFFFF;
  --elegant-shadow: rgba(212, 165, 165, 0.1);
  --elegant-light-gray: #F9F3F3;
}

/* Base Typography */
[data-theme="rosette"] {
  font-family: var(--elegant-font-primary);
  background-color: var(--elegant-bg);
  color: var(--elegant-text);
  letter-spacing: 0.02em;
}

[data-theme="rosette"] h1,
[data-theme="rosette"] h2,
[data-theme="rosette"] h3,
[data-theme="rosette"] h4 {
  font-family: var(--elegant-font-display);
  letter-spacing: 0.01em;
  font-weight: 500;
  color: var(--elegant-secondary);
}

/* Navigation */
[data-theme="rosette"] .navbar {
  background: var(--elegant-card-bg) !important;
}

@media (min-width: 768px) {
  [data-theme="rosette"] .navbar {
    padding: 1rem 0;
  }
}

[data-theme="rosette"] .navbar-brand,
[data-theme="rosette"] #brand_name {
  color: var(--elegant-secondary) !important;
  font-family: var(--elegant-font-display);
  font-weight: 500;
}

/* Category Headers */
[data-theme="rosette"] .category-header {
  margin: 2em 0;
  background: var(--elegant-accent);
  border: none;
  font-family: var(--elegant-font-display);
  color: var(--elegant-secondary);
  text-align: center;
  position: relative;
}

[data-theme="rosette"] .category-header::before,
[data-theme="rosette"] .category-header::after {
  content: '❀';
  position: absolute;
  color: var(--elegant-primary);
  opacity: 0.5;
}

[data-theme="rosette"] .category-header::before {
  left: 1em;
}

[data-theme="rosette"] .category-header::after {
  right: 1em;
}

/* Product Grid */
[data-theme="rosette"] .product-item {
  background: var(--elegant-card-bg);
  border: 1px solid var(--elegant-border);
  border-radius: 12px !important;
  box-shadow: 0 4px 12px var(--elegant-shadow);
  transition: all 0.4s ease;
  overflow: hidden;
}

[data-theme="rosette"] .product-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px var(--elegant-shadow);
}

[data-theme="rosette"] .product-details {
  padding: 1.5rem;
  border-top: 1px solid var(--elegant-border);
}

[data-theme="rosette"] .product-title {
  font-family: var(--elegant-font-display);
  font-size: 1.25rem;
  color: var(--elegant-secondary);
  margin-bottom: 0.75rem;
}

[data-theme="rosette"] .product-price {
  font-family: var(--elegant-font-primary);
  font-size: 1.1rem;
  color: var(--elegant-primary);
}

/* Buttons */
[data-theme="rosette"] .btn {
  border-radius: 20px !important;
  font-weight: 500;
  letter-spacing: 0.05em;
  padding: 0.75rem 1.5rem;
  transition: all 0.3s ease;
}

[data-theme="rosette"] .btn-success,
[data-theme="rosette"] #buy_now_top .btn-success {
  background: var(--elegant-primary) !important;
  border: none !important;
  color: white !important;
  box-shadow: 0 4px 12px rgba(212, 165, 165, 0.3);
}

[data-theme="rosette"] .btn-success:hover {
  background: var(--elegant-secondary) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(212, 165, 165, 0.4);
}

/* Cards */
[data-theme="rosette"] .card {
  border: 1px solid var(--elegant-border) !important;
  border-radius: 12px !important;
  background: var(--elegant-card-bg);
  box-shadow: 0 4px 12px var(--elegant-shadow);
}

/* Footer */
[data-theme="rosette"] footer#store_footer {
  background: var(--elegant-accent);
  color: var(--elegant-text);
  padding: 3rem 0;
  margin-top: 4rem !important;
  border-top: 1px solid var(--elegant-border);
}

[data-theme="rosette"] footer#store_footer p,
[data-theme="rosette"] footer#store_footer #powered_by {
  font-family: var(--elegant-font-primary);
  color: var(--elegant-text-light);
}

[data-theme="rosette"] footer#store_footer a {
  color: var(--elegant-primary) !important;
  text-decoration: none;
  transition: color 0.2s ease;
}

[data-theme="rosette"] footer#store_footer a:hover {
  color: var(--elegant-secondary) !important;
}

/* Badges */
[data-theme="rosette"] .badge {
  background: var(--elegant-accent) !important;
  color: var(--elegant-secondary) !important;
  border-radius: 12px !important;
  padding: 0.5em 1em !important;
  font-weight: 500;
}

/* Form Elements */
[data-theme="rosette"] .form-control,
[data-theme="rosette"] .ts-control {
  border: 1px solid var(--elegant-border) !important;
  border-radius: 8px !important;
  padding: 0.75rem 1rem;
  background: white;
}

/* Dropdowns */
[data-theme="rosette"] .dropdown-menu,
[data-theme="rosette"] .hs-sub-menu {
  background: var(--elegant-card-bg);
  border-radius: 12px !important;
  border: 1px solid var(--elegant-border);
  box-shadow: 0 4px 12px var(--elegant-shadow);
}

[data-theme="rosette"] .dropdown-item {
  color: var(--elegant-text) !important;
  font-family: var(--elegant-font-primary);
  padding: 0.75rem 1.25rem;
}

[data-theme="rosette"] .dropdown-item:hover {
  background: var(--elegant-accent);
  color: var(--elegant-secondary) !important;
}

/* Cart Styling */
[data-theme="rosette"] div#cart_dropdown select,
[data-theme="rosette"] div#cart_dropdown .ts-control {
  color: var(--elegant-text-light) !important;
  background: white !important;
}

[data-theme="rosette"] div#cart_dropdown .ts-dropdown * {
  color: var(--elegant-text-light) !important;
}

[data-theme="rosette"] span#cart_count {
  background: var(--elegant-primary) !important;
  color: white !important;
  border-radius: 50% !important;
}

/* Form Check Input */
[data-theme="rosette"] .form-check-input {
  border-radius: 8px !important;
  border-color: var(--elegant-border);
}

[data-theme="rosette"] .form-check-input:checked {
  background-color: var(--elegant-primary) !important;
  border-color: var(--elegant-primary) !important;
}

/* Cart Elements */
[data-theme="rosette"] div#cart_col *,
[data-theme="rosette"] .cart-item * {
  font-family: var(--elegant-font-primary) !important;
}

[data-theme="rosette"] div#buyer_div .card-body * {
  font-family: var(--elegant-font-primary) !important;
}

/* Select Options */
[data-theme="rosette"] select option {
  color: var(--elegant-text-light) !important;
  background-color: white !important;
}

[data-theme="rosette"] select option:hover,
[data-theme="rosette"] select option:checked {
  color: var(--elegant-text) !important;
  background-color: var(--elegant-accent) !important;
}

/* Cart Item Variant */
[data-theme="rosette"] .cart-item-variant {
  color: var(--elegant-text-light) !important;
  background-color: white !important;
}

[data-theme="rosette"] .cart-item-variant option {
  color: var(--elegant-text-light) !important;
  background-color: white !important;
}

/* Product Featured Title */
[data-theme="rosette"] .product-title-featured {
  font-family: var(--elegant-font-display);
  text-shadow: 1px 1px 0 white, -1px -1px 0 white, 1px -1px 0 white, -1px 1px 0 white;
  color: var(--elegant-secondary);
}

/* Soft Background Elements */
[data-theme="rosette"] .bg-soft-secondary,
[data-theme="rosette"] .bg-soft-primary,
[data-theme="rosette"] .bg-soft-info {
  background: var(--elegant-accent) !important;
  color: var(--elegant-text);
}

/* Alert Styling */
[data-theme="rosette"] .alert-soft-info {
  background-color: var(--elegant-accent) !important;
  border-color: var(--elegant-border) !important;
  color: var(--elegant-text) !important;
}

/* Fix for page content height */
[data-theme="rosette"] main#content.not-iframe {
  min-height: calc(100vh - 120px);
  display: flex;
  flex-direction: column;
}

[data-theme="rosette"] .content {
  flex: 1;
}

/* Tom Select Customization */
[data-theme="rosette"] .tom-select-custom .ts-control {
  border-radius: 8px !important;
  border: 1px solid var(--elegant-border);
  height: 38px !important;
}

[data-theme="rosette"] .tom-select-custom .ts-dropdown {
  border-radius: 8px !important;
  border: 1px solid var(--elegant-border);
  box-shadow: 0 4px 12px var(--elegant-shadow);
}

/* Tags */
[data-theme="rosette"] div#tags .badge {
  background: var(--elegant-accent) !important;
  color: var(--elegant-secondary) !important;
}

/* Additional Button Styles */
[data-theme="rosette"] .btn-primary {
  background: var(--elegant-secondary) !important;
  border: none !important;
  color: white !important;
}

[data-theme="rosette"] .btn-outline-primary {
  border-color: var(--elegant-secondary) !important;
  color: var(--elegant-secondary) !important;
}

[data-theme="rosette"] .btn-outline-primary:hover {
  background: var(--elegant-secondary) !important;
  color: white !important;
}

/* Product Page Tabs */
[data-theme="rosette"] div#product_page_tabs .nav-link.active {
  color: var(--elegant-primary) !important;
  border-bottom: 2px solid var(--elegant-primary) !important;
}

/* Form check styling */
[data-theme="rosette"] .form-check-label-highlighter .form-check-label {
  border-color: var(--elegant-secondary) !important; /* Using the muted mauve color #9E7777 */
}

/* Header Styling */
[data-theme="rosette"] #header {
  background: var(--elegant-accent) !important; /* Using the light blush color #F3E9E9 */
} 