/* ==========================================================================
   pymees Tienda Virtual × Sprylo Design System
   Storefront visual language inspired by Sprylo, branded with pymees palette.
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400&display=swap');

:root {
  --sprylo-navy: #0E2368;
  --sprylo-primary: #0059C1;
  --sprylo-primary-hover: #00479A;
  --sprylo-accent: #FF8C00;
  --sprylo-accent-hover: #E07B00;
  --sprylo-gold: #FFB700;
  --sprylo-muted: #5C7298;
  --sprylo-bg: #F4F6FC;
  --sprylo-surface: #FFFFFF;
  --sprylo-border: #E4E9F2;
  --sprylo-card-radius: 20px;
  --sprylo-card-radius-sm: 14px;
  --sprylo-shadow: 0 4px 24px rgba(14, 35, 104, 0.06);
  --sprylo-shadow-hover: 0 12px 32px rgba(14, 35, 104, 0.12);
  --sprylo-font: 'Plus Jakarta Sans', 'Inter', system-ui, -apple-system, sans-serif;

  /* Bridge into Smartstore / Bootstrap tokens where possible */
  --primary: var(--sprylo-primary);
  --warning: var(--sprylo-accent);
  --dark: var(--sprylo-navy);
  --body-secondary-color: var(--sprylo-muted);
  --text-muted: var(--sprylo-muted);
}

/* --------------------------------------------------------------------------
   Base
   -------------------------------------------------------------------------- */

html {
  scroll-behavior: smooth;
}

body {
  background-color: var(--sprylo-bg) !important;
  font-family: var(--sprylo-font) !important;
  color: var(--sprylo-navy);
  -webkit-font-smoothing: antialiased;
}

a {
  color: var(--sprylo-primary);
  transition: color 0.2s ease, opacity 0.2s ease;
}

a:hover {
  color: var(--sprylo-primary-hover);
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--sprylo-font) !important;
  color: var(--sprylo-navy);
  font-weight: 700;
  letter-spacing: -0.02em;
}

.text-muted,
.page-title .subtitle,
.art-description,
.menubar .nav-link,
.breadcrumb {
  color: var(--sprylo-muted) !important;
}

#content-wrapper,
#content {
  background: transparent;
}

/* --------------------------------------------------------------------------
   Header – Sprylo light chrome + pymees accents
   -------------------------------------------------------------------------- */

#header {
  background: var(--sprylo-surface) !important;
  box-shadow: 0 1px 0 var(--sprylo-border), var(--sprylo-shadow);
  position: sticky;
  top: 0;
  z-index: 1030;
}

.menubar-section,
.shopbar-section,
.megamenu-section {
  background: var(--sprylo-surface) !important;
}

.menubar-section {
  border-bottom: 1px solid var(--sprylo-border);
}

.menubar-inverse,
.shopbar-inverse,
.navbar-inverse {
  color: var(--sprylo-navy) !important;
  background: var(--sprylo-surface) !important;
}

.menubar-inverse .nav-link,
.shopbar-inverse .shopbar-button,
.shopbar-inverse .shopbar-tool,
.navbar-inverse .nav-link,
.navbar-inverse .navbar-nav .nav-link {
  color: var(--sprylo-navy) !important;
}

.menubar-inverse .nav-link:hover,
.navbar-inverse .nav-link:hover {
  color: var(--sprylo-primary) !important;
}

.menubar-section .menubar-container {
  min-height: 40px;
  font-size: 0.8125rem;
}

.shopbar-section {
  padding: 0.85rem 0 !important;
}

.megamenu-section .navbar {
  background: transparent !important;
  border-top: 1px solid var(--sprylo-border);
}

.megamenu-section .nav-link {
  font-weight: 600 !important;
  font-size: 0.9375rem !important;
  color: var(--sprylo-navy) !important;
  padding: 0.9rem 1rem !important;
  border-radius: 999px;
  transition: background 0.2s ease, color 0.2s ease;
}

.megamenu-section .nav-link:hover,
.megamenu-section .nav-item.show > .nav-link,
.megamenu-section .nav-link.active {
  color: var(--sprylo-primary) !important;
  background: rgba(0, 89, 193, 0.06);
}

/* Brand wordmark – navy on light Sprylo header */
.pymes-brand__name {
  color: var(--sprylo-navy) !important;
  font-family: var(--sprylo-font) !important;
  font-weight: 800 !important;
  font-size: 1.4rem !important;
}

.pymes-brand__tagline {
  color: var(--sprylo-muted) !important;
  letter-spacing: 0.18em !important;
  font-size: 0.62rem !important;
  font-weight: 700 !important;
}

.pymes-brand--inverse .pymes-brand__name {
  color: var(--sprylo-navy) !important;
}

.pymes-brand--inverse .pymes-brand__tagline {
  color: var(--sprylo-muted) !important;
}

.shop-logo .brand.pymes-shop-brand {
  width: auto !important;
  max-width: none !important;
  max-height: none !important;
}

/* Search – Sprylo pill */
.instasearch-form .instasearch-term {
  border-radius: 999px !important;
  min-height: 3rem !important;
  background: var(--sprylo-bg) !important;
  border: 1px solid transparent !important;
  color: var(--sprylo-navy) !important;
  font-family: var(--sprylo-font) !important;
  font-weight: 500;
  padding-inline-start: 1.35rem !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
}

.instasearch-form .instasearch-term:hover,
.instasearch-form .instasearch-term:focus,
.instasearch-form .instasearch-term.active {
  background: var(--sprylo-surface) !important;
  border-color: var(--sprylo-primary) !important;
  box-shadow: 0 0 0 4px rgba(0, 89, 193, 0.12) !important;
  outline: none !important;
}

.instasearch-form .instasearch-icon,
.instasearch-form .instasearch-icon .fa,
.instasearch-form .instasearch-submit {
  color: var(--sprylo-primary) !important;
}

/* Cart / wishlist badges */
.shopbar .badge,
.shopbar-button .badge,
.shopbar-label {
  background: var(--sprylo-accent) !important;
  color: #fff !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  font-size: 0.65rem !important;
  min-width: 1.15rem;
  box-shadow: 0 2px 8px rgba(255, 140, 0, 0.35);
}

/* --------------------------------------------------------------------------
   Buttons – Sprylo CTAs
   -------------------------------------------------------------------------- */

.btn {
  font-family: var(--sprylo-font) !important;
  font-weight: 600 !important;
  border-radius: 999px !important;
  letter-spacing: -0.01em;
  transition: transform 0.15s ease, box-shadow 0.2s ease, background 0.2s ease, border-color 0.2s ease !important;
}

.btn:not(.btn-icon):not(.btn-flat):not(.btn-link):hover {
  transform: translateY(-1px);
}

.btn-primary {
  background: var(--sprylo-primary) !important;
  border-color: var(--sprylo-primary) !important;
  color: #fff !important;
  box-shadow: 0 6px 16px rgba(0, 89, 193, 0.22);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background: var(--sprylo-primary-hover) !important;
  border-color: var(--sprylo-primary-hover) !important;
  color: #fff !important;
}

.btn-warning,
.btn-add-to-cart,
.add-to-cart-button,
.btn-to-cart {
  background: var(--sprylo-accent) !important;
  border-color: var(--sprylo-accent) !important;
  color: #fff !important;
  box-shadow: 0 6px 18px rgba(255, 140, 0, 0.28);
}

.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active,
.btn-add-to-cart:hover,
.add-to-cart-button:hover {
  background: var(--sprylo-accent-hover) !important;
  border-color: var(--sprylo-accent-hover) !important;
  color: #fff !important;
}

.btn-secondary,
.btn-light,
.btn-gray {
  border-radius: 999px !important;
  border-color: var(--sprylo-border) !important;
  background: var(--sprylo-surface) !important;
  color: var(--sprylo-navy) !important;
}

.btn-secondary:hover,
.btn-light:hover {
  border-color: var(--sprylo-primary) !important;
  color: var(--sprylo-primary) !important;
  background: #fff !important;
}

/* --------------------------------------------------------------------------
   Cards / surfaces
   -------------------------------------------------------------------------- */

.card,
.block,
.block-body,
.offcanvas .offcanvas-body .cart,
.pd-offer-box {
  background: var(--sprylo-surface) !important;
  border: 1px solid var(--sprylo-border) !important;
  border-radius: var(--sprylo-card-radius) !important;
  box-shadow: var(--sprylo-shadow) !important;
}

.card-header,
.block-title,
.page-title {
  border: 0 !important;
  background: transparent !important;
  color: var(--sprylo-navy) !important;
  font-weight: 700;
}

.page-title {
  margin-bottom: 1.5rem;
}

.page-title h1,
.page-title .h1 {
  font-size: clamp(1.5rem, 2vw, 2rem);
}

/* --------------------------------------------------------------------------
   Product grid – Sprylo product cards
   -------------------------------------------------------------------------- */

.artlist {
  --art-border-radius: var(--sprylo-card-radius) !important;
  --art-box-shadow: var(--sprylo-shadow) !important;
  --art-active-bg-color: var(--sprylo-surface) !important;
  --art-active-border-color: transparent !important;
  --art-finalprice-color: var(--sprylo-navy) !important;
  --art-gutter: 1.25rem !important;
  gap: 0;
}

.artlist-grid > .art,
.artlist-boxed > .art {
  background: var(--sprylo-surface) !important;
  border: 1px solid var(--sprylo-border) !important;
  border-radius: var(--sprylo-card-radius) !important;
  box-shadow: var(--sprylo-shadow) !important;
  padding: 1.1rem !important;
  margin: 0.625rem !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
  overflow: hidden;
}

.artlist-grid > .art:hover,
.artlist-boxed > .art:hover,
.art.active {
  transform: translateY(-4px);
  box-shadow: var(--sprylo-shadow-hover) !important;
  border-color: rgba(0, 89, 193, 0.18) !important;
  border-radius: var(--sprylo-card-radius) !important;
}

.art-picture-block {
  border-radius: var(--sprylo-card-radius-sm);
  overflow: hidden;
  background: var(--sprylo-bg);
  margin-bottom: 1rem !important;
}

.art-picture img {
  transition: transform 0.35s ease;
}

.art:hover .art-picture img {
  transform: scale(1.04);
}

.art-badges {
  inset-inline-start: 0.75rem !important;
  inset-inline-end: auto !important;
  top: 0.75rem !important;
  bottom: auto !important;
  gap: 0.35rem;
}

.art-badge,
.art-badge.badge,
.badge {
  border-radius: 999px !important;
  font-weight: 700 !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.02em;
  padding: 0.4em 0.8em !important;
  border: 0 !important;
}

.art-badge.badge-warning,
.art-badge.badge-dark,
.badge-warning {
  background: var(--sprylo-accent) !important;
  color: #fff !important;
}

.art-badge.badge-danger,
.badge-danger {
  background: var(--sprylo-accent) !important;
  color: #fff !important;
}

.art-badge.badge-info,
.art-badge.badge-primary,
.art-badge.badge-success,
.badge-info,
.badge-primary {
  background: var(--sprylo-gold) !important;
  color: var(--sprylo-navy) !important;
}

.art-name,
.art-name-link {
  font-family: var(--sprylo-font) !important;
  font-weight: 700 !important;
  color: var(--sprylo-navy) !important;
  font-size: 1rem !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
}

.art-name-link:hover {
  color: var(--sprylo-primary) !important;
}

.art-price,
.art-price .price,
.pd-price {
  color: var(--sprylo-navy) !important;
  font-weight: 800 !important;
  font-size: 1.15rem !important;
}

.art-price .price-old,
.art-price .text-muted {
  color: var(--sprylo-muted) !important;
  font-weight: 500 !important;
}

.art-btn-group .btn {
  border-radius: 999px !important;
}

.art-btn-group .add-to-cart-button {
  flex: 1.4 1 auto;
}

/* --------------------------------------------------------------------------
   Product detail
   -------------------------------------------------------------------------- */

.pd-name,
.pd-name h1 {
  color: var(--sprylo-navy) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em;
}

.pd-price-block,
.pd-offer,
#AddToCart {
  border-radius: var(--sprylo-card-radius) !important;
  background: var(--sprylo-surface) !important;
  border: 1px solid var(--sprylo-border) !important;
  box-shadow: var(--sprylo-shadow) !important;
  padding: 1.25rem;
}

.gallery,
.pd-gallery,
.image-gallery {
  border-radius: var(--sprylo-card-radius);
  overflow: hidden;
  background: var(--sprylo-surface);
  border: 1px solid var(--sprylo-border);
  box-shadow: var(--sprylo-shadow);
}

/* --------------------------------------------------------------------------
   Filters / facets / sidebar
   -------------------------------------------------------------------------- */

.facet-group,
#content-left .block,
#content-right .block {
  background: var(--sprylo-surface) !important;
  border: 1px solid var(--sprylo-border) !important;
  border-radius: var(--sprylo-card-radius) !important;
  box-shadow: var(--sprylo-shadow) !important;
  padding: 1rem 1.15rem !important;
  margin-bottom: 1rem;
}

.facet-group-title,
.block-title {
  color: var(--sprylo-navy) !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
}

/* --------------------------------------------------------------------------
   Forms / inputs
   -------------------------------------------------------------------------- */

.form-control,
.form-select,
.custom-select,
.select2-container--default .select2-selection--single {
  border-radius: 14px !important;
  border-color: var(--sprylo-border) !important;
  min-height: 2.75rem;
  font-family: var(--sprylo-font) !important;
  color: var(--sprylo-navy) !important;
  background: var(--sprylo-surface) !important;
}

.form-control:focus,
.form-select:focus {
  border-color: var(--sprylo-primary) !important;
  box-shadow: 0 0 0 4px rgba(0, 89, 193, 0.12) !important;
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */

#footer,
.footer,
.footer-main {
  background: var(--sprylo-navy) !important;
  color: rgba(255, 255, 255, 0.85) !important;
  margin-top: 3rem;
  border-top: 0 !important;
}

#footer a,
.footer a {
  color: rgba(255, 255, 255, 0.78) !important;
}

#footer a:hover,
.footer a:hover {
  color: var(--sprylo-gold) !important;
}

#footer .h5,
#footer h5,
.footer-title {
  color: #fff !important;
  font-weight: 700;
}

/* --------------------------------------------------------------------------
   Misc Sprylo polish
   -------------------------------------------------------------------------- */

.breadcrumb {
  background: transparent !important;
  padding-inline: 0 !important;
  font-size: 0.875rem;
}

.breadcrumb-item + .breadcrumb-item::before {
  color: var(--sprylo-muted);
}

.breadcrumb-item.active {
  color: var(--sprylo-navy) !important;
  font-weight: 600;
}

.alert {
  border-radius: var(--sprylo-card-radius-sm) !important;
  border: 0 !important;
  box-shadow: var(--sprylo-shadow);
}

.dropdown-menu {
  border-radius: var(--sprylo-card-radius-sm) !important;
  border: 1px solid var(--sprylo-border) !important;
  box-shadow: var(--sprylo-shadow-hover) !important;
  padding: 0.5rem !important;
}

.dropdown-item {
  border-radius: 10px !important;
  font-weight: 500;
  color: var(--sprylo-navy) !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
  background: rgba(0, 89, 193, 0.06) !important;
  color: var(--sprylo-primary) !important;
}

.nav-tabs .nav-link {
  border-radius: 999px !important;
  font-weight: 600;
  color: var(--sprylo-muted) !important;
}

.nav-tabs .nav-link.active {
  color: var(--sprylo-primary) !important;
  background: rgba(0, 89, 193, 0.08) !important;
  border-color: transparent !important;
}

.pagination .page-link {
  border-radius: 999px !important;
  margin: 0 0.2rem;
  border: 0 !important;
  color: var(--sprylo-navy) !important;
  font-weight: 600;
}

.pagination .page-item.active .page-link {
  background: var(--sprylo-primary) !important;
  color: #fff !important;
}

/* Cart / checkout surfaces */
.cart-container,
.cart,
.checkout-data,
.order-summary-content {
  background: var(--sprylo-surface);
  border-radius: var(--sprylo-card-radius);
  border: 1px solid var(--sprylo-border);
  box-shadow: var(--sprylo-shadow);
  padding: 1.25rem;
}

/* Offcanvas */
.offcanvas {
  border-radius: var(--sprylo-card-radius) 0 0 var(--sprylo-card-radius);
}

.offcanvas-header {
  border-bottom: 1px solid var(--sprylo-border);
}

.offcanvas-title {
  color: var(--sprylo-navy);
  font-weight: 800;
}

/* Soft section rhythm */
.artlist-actions {
  background: var(--sprylo-surface);
  border: 1px solid var(--sprylo-border);
  border-radius: var(--sprylo-card-radius);
  padding: 1rem 1.15rem !important;
  margin-bottom: 1.25rem !important;
  box-shadow: var(--sprylo-shadow);
}

/* Homepage topic / CMS blocks */
.topic-block,
.html-widget,
.home-page .block {
  border-radius: var(--sprylo-card-radius);
}

/* Rating stars accent */
.rating .fa-star,
.rating .fas.fa-star,
.art-rating .fa-star {
  color: var(--sprylo-gold) !important;
}

/* Selection / focus ring */
::selection {
  background: rgba(0, 89, 193, 0.18);
  color: var(--sprylo-navy);
}

/* --------------------------------------------------------------------------
   Responsive tweaks
   -------------------------------------------------------------------------- */

@media (max-width: 767.98px) {
  .artlist-grid > .art,
  .artlist-boxed > .art {
    margin: 0.4rem !important;
    padding: 0.9rem !important;
    border-radius: 16px !important;
  }

  .pymes-brand__name {
    font-size: 1.15rem !important;
  }

  .pymes-brand__isotype {
    width: 40px !important;
  }
}
