/* ===== BOUTIQUE THEME CALME STORE ===== */
/* Importy fontów lokalnych */
@import url('google-fonts.css');

:root,
[data-bs-theme="light"] {
  /* ====== PALETA KOLORÓW CALME STORE ====== */
  --brand-cream:    #FAF8F3;
  --brand-sand:     #EDE6DC;
  --brand-taupe:    #D8C7B5;
  --brand-camel:    #C2A480;
  --brand-blush:    #EFD9D1;
  --brand-espresso: #4B3F37;
  
  /* Dodatkowe kolory dla butiku */
  --brand-cream-light: #FEFCF8;
  --brand-sand-light:  #F4EFEA;
  --brand-taupe-light: #E8DDD0;
  --brand-camel-light: #D4B896;
  --brand-espresso-light: #5A4F47;

  /* ====== BOOTSTRAP OVERRIDES ====== */
  --bs-primary:        var(--brand-espresso);
  --bs-primary-rgb:    75, 63, 55;
  --bs-secondary:      var(--brand-camel);
  --bs-secondary-rgb:  194, 164, 128;

  /* Tła i tekst */
  --bs-body-bg:        var(--brand-cream-light);
  --bs-body-color:     var(--brand-espresso);
  --bs-border-color:   var(--brand-sand);
  --bs-tertiary-bg:    var(--brand-blush);

  /* Linki */
  --bs-link-color:           var(--brand-espresso);
  --bs-link-hover-color:     var(--brand-camel);

  /* ====== TYPOGRAFIA ====== */
  --bs-body-font-family: "Work Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --bs-body-font-size: 1rem;
  --bs-body-line-height: 1.7;
  --bs-body-font-weight: 400;

  /* ====== ZAOKRĄGLENIA I CIENIE ====== */
  --bs-border-radius:    0.5rem;
  --bs-border-radius-sm: 0.25rem;
  --bs-border-radius-lg: 0.75rem;
  --bs-border-radius-xl: 1rem;

  /* Subtelne cienie dla butiku */
  --boutique-shadow-soft:   0 2px 8px rgba(75, 63, 55, 0.08);
  --boutique-shadow-medium: 0 4px 16px rgba(75, 63, 55, 0.12);
  --boutique-shadow-strong: 0 8px 32px rgba(75, 63, 55, 0.16);
}

/* ====== TYPOGRAFIA ====== */
body {
  font-family: var(--bs-body-font-family);
  font-weight: var(--bs-body-font-weight);
  line-height: var(--bs-body-line-height);
  letter-spacing: 0.01em;
}

/* Nagłówki - DM Serif Display */
h1, h2, h3, h4, h5, h6,
.display-1, .display-2, .display-3, .display-4, .display-5, .display-6 {
  font-family: "DM Serif Display", ui-serif, Georgia, "Times New Roman", serif;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.3;
  color: var(--brand-espresso);
}

/* Kursywa - DM Serif Text */
em, i, blockquote, cite {
  font-family: "DM Serif Text", ui-serif, Georgia, "Times New Roman", serif;
  font-style: italic;
}

/* ====== BUTTONY - BOUTIQUE STYLE ====== */
.btn {
  border-radius: var(--bs-border-radius);
  font-weight: 500;
  letter-spacing: 0.025em;
  text-transform: none;
  padding: 0.75rem 1.5rem;
  transition: all 0.3s ease;
  border-width: 1px;
}

/* Primary Button - Espresso */
.btn-primary {
  --bs-btn-bg: var(--brand-espresso);
  --bs-btn-border-color: var(--brand-espresso);
  --bs-btn-color: #fff;
  --bs-btn-hover-bg: var(--brand-espresso-light);
  --bs-btn-hover-border-color: var(--brand-espresso-light);
  --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: var(--brand-espresso);
  --bs-btn-active-border-color: var(--brand-espresso);
  box-shadow: var(--boutique-shadow-soft);
}

.btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: var(--boutique-shadow-medium);
}

/* Outline Primary */
.btn-outline-primary {
  --bs-btn-color: var(--brand-espresso);
  --bs-btn-border-color: var(--brand-espresso);
  --bs-btn-hover-bg: var(--brand-espresso);
  --bs-btn-hover-border-color: var(--brand-espresso);
  --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: var(--brand-espresso);
  --bs-btn-active-border-color: var(--brand-espresso);
}

/* Secondary Button - Camel */
.btn-secondary {
  --bs-btn-bg: var(--brand-camel);
  --bs-btn-border-color: var(--brand-camel);
  --bs-btn-color: #fff;
  --bs-btn-hover-bg: var(--brand-camel-light);
  --bs-btn-hover-border-color: var(--brand-camel-light);
}

/* ====== NAWIGACJA - BOUTIQUE STYLE ====== */
.navbar {
  background-color: var(--brand-cream) !important;
  box-shadow: var(--boutique-shadow-soft);
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.navbar-brand {
  font-family: "DM Serif Display", serif;
  font-size: 1.5rem;
  color: var(--brand-espresso) !important;
}

.navbar-nav .nav-link {
  color: var(--brand-espresso) !important;
  font-weight: 500;
  padding: 0.75rem 1rem !important;
  transition: all 0.3s ease;
}

.navbar-nav .nav-link:hover {
  color: var(--brand-camel) !important;
}

.dropdown-menu {
  background-color: var(--brand-cream);
  border: 1px solid var(--brand-sand);
  box-shadow: var(--boutique-shadow-medium);
  border-radius: var(--bs-border-radius);
}

.dropdown-item {
  color: var(--brand-espresso);
  padding: 0.75rem 1.25rem;
  transition: all 0.2s ease;
}

.dropdown-item:hover {
  background-color: var(--brand-sand-light);
  color: var(--brand-camel);
}

/* ====== KARTY PRODUKTÓW - CZYSTE KAFELKI BEZ RAMEK ====== */
.product-card {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  transition: none !important;
}

.product-card:hover {
  transform: none !important;
  box-shadow: none !important;
}

.product-card .card-img-top {
  border-radius: 0 !important;
  transition: none !important;
  box-shadow: none !important;
}

.product-card:hover .card-img-top {
  box-shadow: none !important;
  transform: none !important;
}

.product-card .card-body {
  padding: 1.5rem 0.5rem;
  background: transparent !important;
  border: none !important;
}

.product-card .card-title {
  font-family: "DM Serif Display", serif;
  font-size: 1.1rem;
  margin-bottom: 0.5rem;
  color: var(--brand-espresso);
}

.product-card .card-text {
  color: var(--brand-camel);
  font-size: 0.9rem;
  margin-bottom: 0.75rem;
}

.product-price {
  font-weight: 600;
  font-size: 1.1rem;
  color: var(--brand-espresso);
  font-family: "Work Sans", sans-serif;
}

/* ====== KOLEKCJE - BOUTIQUE STYLE ====== */
.collection-card {
  background: transparent !important;
  border: none !important;
  border-radius: var(--bs-border-radius-xl);
  overflow: hidden;
  transition: all 0.4s ease;
}

.collection-card:hover {
  transform: translateY(-6px);
}

.collection-card .card-img-top,
.collection-card .card-img {
  transition: all 0.4s ease;
  filter: brightness(0.95);
}

.collection-card:hover .card-img-top,
.collection-card:hover .card-img {
  filter: brightness(1.1);
  transform: scale(1.02);
}

.collection-card .card-img-overlay {
  background: linear-gradient(0deg, rgba(0,0,0,0.3) 0%, transparent 60%);
}

.collection-card .card-title {
  font-family: "DM Serif Display", serif;
  text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

/* ====== SEKCJE - BOUTIQUE LAYOUT ====== */
.section-header {
  text-align: center;
  margin-bottom: 3rem;
}

.section-header h2 {
  font-family: "DM Serif Display", serif;
  font-size: 2.5rem;
  margin-bottom: 1rem;
  color: var(--brand-espresso);
}

.section-header p {
  font-size: 1.1rem;
  color: var(--brand-camel);
  max-width: 600px;
  margin: 0 auto;
}

/* ====== HERO CAROUSEL ====== */
.carousel {
  border-radius: var(--bs-border-radius-xl);
  overflow: hidden;
  box-shadow: var(--boutique-shadow-medium);
}

.carousel-caption {
  background: rgba(250, 248, 243, 0.95);
  color: var(--brand-espresso);
  padding: 2rem;
  border-radius: var(--bs-border-radius);
  box-shadow: var(--boutique-shadow-soft);
  backdrop-filter: blur(8px);
}

.carousel-caption h5 {
  font-family: "DM Serif Display", serif;
  margin-bottom: 1rem;
}

/* ====== BREADCRUMBS ====== */
.breadcrumb {
  background: var(--brand-sand-light);
  padding: 1rem 1.5rem;
  border-radius: var(--bs-border-radius);
  --bs-breadcrumb-divider-color: var(--brand-taupe);
}

.breadcrumb-item > a {
  color: var(--brand-espresso) !important;
  text-decoration: none;
  font-weight: 500;
}

.breadcrumb-item > a:hover {
  color: var(--brand-camel) !important;
  text-decoration: underline;
}

.breadcrumb-item.active {
  color: var(--brand-camel) !important;
  font-weight: 500;
}

/* ====== FORMULARZE - BOUTIQUE STYLE ====== */
.form-control,
.form-select {
  border: 2px solid var(--brand-sand);
  border-radius: var(--bs-border-radius);
  padding: 0.75rem 1rem;
  transition: all 0.3s ease;
  background-color: var(--brand-cream);
}

.form-control:focus,
.form-select:focus {
  border-color: var(--brand-camel);
  box-shadow: 0 0 0 0.2rem rgba(194, 164, 128, 0.25);
  background-color: var(--brand-cream-light);
}

.form-label {
  font-weight: 500;
  color: var(--brand-espresso);
  margin-bottom: 0.75rem;
}

/* ====== ALERTY ====== */
.alert {
  border: none;
  border-radius: var(--bs-border-radius);
  padding: 1.25rem 1.5rem;
  font-weight: 500;
}

.alert-info {
  background-color: var(--brand-sand-light);
  color: var(--brand-espresso);
}

.alert-success {
  background-color: #E8F5E8;
  color: #2D5A2D;
}

.alert-danger {
  background-color: var(--brand-blush);
  color: var(--brand-espresso);
}

.alert-warning {
  background-color: var(--brand-taupe-light);
  color: var(--brand-espresso);
}

/* ====== PAGINACJA ====== */
.pagination {
  justify-content: center;
}

.page-link {
  color: var(--brand-espresso);
  background-color: var(--brand-cream);
  border: 1px solid var(--brand-sand);
  border-radius: var(--bs-border-radius) !important;
  margin: 0 0.25rem;
  padding: 0.75rem 1rem;
  font-weight: 500;
}

.page-link:hover {
  color: var(--brand-camel);
  background-color: var(--brand-sand-light);
  border-color: var(--brand-camel);
}

.page-item.active .page-link {
  background-color: var(--brand-espresso);
  border-color: var(--brand-espresso);
  color: white;
}

/* ====== MODALNE I TOOLTIPS ====== */
.modal-content {
  border: none;
  border-radius: var(--bs-border-radius-lg);
  box-shadow: var(--boutique-shadow-strong);
}

.modal-header {
  background-color: var(--brand-sand-light);
  border-bottom: 1px solid var(--brand-sand);
  padding: 1.5rem;
}

.modal-title {
  font-family: "DM Serif Display", serif;
  color: var(--brand-espresso);
}

.modal-body {
  padding: 2rem;
}

/* ====== CARDS - STANDARDIZED BOUTIQUE STYLE ====== */
.card:not(.product-card) {
  border: 2px solid var(--brand-sand) !important;
  border-radius: var(--bs-border-radius-lg) !important;
  background-color: var(--brand-cream) !important;
  box-shadow: var(--boutique-shadow-soft) !important;
  transition: all 0.3s ease;
}

.card:not(.product-card):hover {
  border-color: var(--brand-taupe) !important;
  box-shadow: var(--boutique-shadow-medium) !important;
}

/* ====== LIST GROUPS - BOUTIQUE STYLE ====== */
.list-group {
  border: 2px solid var(--brand-sand) !important;
  border-radius: var(--bs-border-radius-lg) !important;
  background-color: var(--brand-cream) !important;
  box-shadow: var(--boutique-shadow-soft) !important;
}

.list-group-flush {
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.list-group-item {
  background-color: var(--brand-cream) !important;
  border-color: var(--brand-sand) !important;
  color: var(--brand-espresso) !important;
}

.list-group-item:first-child {
  border-top-left-radius: var(--bs-border-radius-lg) !important;
  border-top-right-radius: var(--bs-border-radius-lg) !important;
}

.list-group-item:last-child {
  border-bottom-left-radius: var(--bs-border-radius-lg) !important;
  border-bottom-right-radius: var(--bs-border-radius-lg) !important;
}

/* ====== CARD HEADERS - STANDARDIZED ====== */
.card-header-boutique,
.card-header {
  background-color: var(--brand-sand-light) !important;
  border-bottom: 2px solid var(--brand-sand) !important;
  color: var(--brand-espresso) !important;
  font-weight: 500;
  border-top-left-radius: var(--bs-border-radius-lg) !important;
  border-top-right-radius: var(--bs-border-radius-lg) !important;
}

.card-header-boutique h1,
.card-header-boutique h2,
.card-header-boutique h3,
.card-header-boutique h4,
.card-header-boutique h5,
.card-header-boutique h6,
.card-header h1,
.card-header h2,
.card-header h3,
.card-header h4,
.card-header h5,
.card-header h6 {
  color: var(--brand-espresso) !important;
  margin-bottom: 0.5rem;
}

/* ====== UTILITY CLASSES ====== */
.bg-cream { background-color: var(--brand-cream) !important; }
.bg-sand { background-color: var(--brand-sand) !important; }
.bg-blush { background-color: var(--brand-blush) !important; }
.bg-taupe { background-color: var(--brand-taupe) !important; }
.bg-camel { background-color: var(--brand-camel) !important; }
.bg-espresso { background-color: var(--brand-espresso) !important; }

.text-cream { color: var(--brand-cream) !important; }
.text-sand { color: var(--brand-sand) !important; }
.text-blush { color: var(--brand-blush) !important; }
.text-taupe { color: var(--brand-taupe) !important; }
.text-camel { color: var(--brand-camel) !important; }
.text-espresso { color: var(--brand-espresso) !important; }

/* ====== LINKI ====== */
a:not(.btn) {
  text-decoration: none;
  color: var(--brand-espresso);
  transition: all 0.2s ease;
}

a:not(.btn):hover {
  text-decoration: none;
  color: var(--brand-camel);
}

/* ====== RESPONSIVE TWEAKS ====== */
@media (max-width: 768px) {
  .section-header h2 {
    font-size: 2rem;
  }
  
  .carousel-caption {
    padding: 1rem;
  }
  
  .btn {
    padding: 0.625rem 1.25rem;
    font-size: 0.9rem;
  }
}

/* ====== SCROLL BEHAVIOR ====== */
html {
  scroll-behavior: smooth;
}

/* ====== SELECTION ====== */
::selection {
  background-color: var(--brand-camel);
  color: white;
}

::-moz-selection {
  background-color: var(--brand-camel);
  color: white;
}

/* ====== PRODUCT CARDS ====== */
/* Natural proportions with responsive max heights */
.product-card-img {
  width: 100%;
  height: auto;
  max-height: 250px;
}

.product-card-placeholder {
  height: 250px;
}

@media (min-width: 992px) {
  .product-card-img {
    max-height: 500px;
  }
  
  .product-card-placeholder {
    height: 500px;
  }
}

