/* Cudowne Kwiaty - restored CSS */
/* Fonts: Poppins (headings), Roboto (body) */
/* Colors: navy #031d44 / #074568, green #23a455 / #61ce70, light bg #dcebf2 / #f5f5f5 */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --color-primary: #074568;
  --color-primary-dark: #031d44;
  --color-accent: #23a455;
  --color-accent-light: #61ce70;
  --color-text: #3a3a3a;
  --color-text-light: #4b4f58;
  --color-bg: #fff;
  --color-bg-light: #f5f5f5;
  --color-bg-blue: #dcebf2;
  --color-border: #e5e5e5;
  --color-olive: #849c4a;
}

html { scroll-behavior: smooth; }

body {
  font-family: 'Roboto', 'Open Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: var(--color-text);
  background: var(--color-bg);
  -webkit-font-smoothing: antialiased;
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Poppins', 'Roboto', sans-serif;
  font-weight: 600;
  color: var(--color-primary-dark);
  line-height: 1.3;
  margin-bottom: 0.5em;
}
h1 { font-size: 2rem; }
h2 { font-size: 1.6rem; }
h3 { font-size: 1.3rem; }
h4 { font-size: 1.1rem; }

p { margin-bottom: 1em; }

a {
  color: var(--color-primary);
  text-decoration: none;
  transition: color 0.2s;
}
a:hover { color: var(--color-accent); }

img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* ===== HEADER / NAVIGATION ===== */
.ast-above-header, .ast-above-header-section-wrap { display: none; }

header, .site-header, .ast-primary-header-bar,
[data-elementor-type="header"] {
  background: var(--color-primary-dark);
  padding: 0;
}

.ast-primary-header-bar .ast-container,
.elementor-location-header .elementor-container {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 20px;
}

/* Logo */
.site-logo img, .ast-site-identity img, .custom-logo,
.elementor-widget-theme-site-logo img {
  max-height: 60px;
  width: auto;
}
.site-branding, .ast-site-identity { flex-shrink: 0; }

/* Navigation */
nav, .ast-header-menu-items, .main-navigation {
  display: flex;
  align-items: center;
}

nav ul, .ast-header-menu-items ul,
.elementor-nav-menu, .elementor-nav-menu--main {
  list-style: none;
  display: flex;
  gap: 0;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
}

nav li, .menu-item {
  position: relative;
}

nav a, .menu-item a, .ast-header-menu-items a,
.elementor-item {
  display: block;
  padding: 12px 16px;
  color: #fff;
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: background 0.2s, color 0.2s;
}
nav a:hover, .menu-item a:hover, .elementor-item:hover {
  background: rgba(255,255,255,0.1);
  color: var(--color-accent-light);
}

/* Dropdown submenus */
.sub-menu, .elementor-nav-menu--dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: var(--color-primary-dark);
  min-width: 200px;
  z-index: 1000;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  list-style: none;
  padding: 0;
}
li:hover > .sub-menu, .menu-item:hover > .sub-menu {
  display: block;
}
.sub-menu a {
  padding: 10px 20px;
  font-size: 13px;
  text-transform: none;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}

/* Mobile menu toggle */
.ast-mobile-menu-trigger, .ast-button-wrap,
.elementor-menu-toggle, .eicon-menu-bar {
  display: none;
  color: #fff;
  font-size: 24px;
  background: none;
  border: none;
  cursor: pointer;
}

/* ===== MAIN CONTENT ===== */
main, .site-main, .ast-container, .site-content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}

.entry-content, .page-content, .post-content {
  max-width: 100%;
}

/* Elementor sections */
.elementor-section {
  padding: 20px 0;
}
.elementor-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
.elementor-row {
  display: flex;
  flex-wrap: wrap;
}
.elementor-column {
  padding: 10px;
}
.elementor-col-100 { width: 100%; }
.elementor-col-50 { width: 50%; }
.elementor-col-33 { width: 33.33%; }
.elementor-col-25 { width: 25%; }
.elementor-col-20 { width: 20%; }
.elementor-col-16 { width: 16.66%; }
.elementor-col-66 { width: 66.66%; }

/* Elementor widgets */
.elementor-widget-wrap {
  display: flex;
  flex-direction: column;
}
.elementor-widget { margin-bottom: 15px; }

.elementor-heading-title {
  font-family: 'Poppins', sans-serif;
  color: var(--color-primary-dark);
}

.elementor-text-editor {
  font-size: 15px;
  line-height: 1.7;
  color: var(--color-text-light);
}

/* Elementor buttons */
.elementor-button {
  display: inline-block;
  padding: 12px 28px;
  background: var(--color-accent);
  color: #fff;
  border-radius: 4px;
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: background 0.3s;
  border: none;
  cursor: pointer;
}
.elementor-button:hover {
  background: var(--color-accent-light);
  color: #fff;
}

/* CTA / Call to Action */
.elementor-cta {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
}
.elementor-cta__bg {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background-size: cover;
  background-position: center;
}
.elementor-cta__bg-overlay {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(3, 29, 68, 0.6);
}
.elementor-cta__content {
  position: relative;
  z-index: 2;
  padding: 40px;
  color: #fff;
}
.elementor-cta__title {
  font-size: 1.8rem;
  color: #fff;
  margin-bottom: 10px;
}
.elementor-cta__description { color: rgba(255,255,255,0.9); }

/* ===== PRODUCT CARDS / GRID ===== */
.products, .woocommerce ul.products,
.ast-woocommerce-container ul.products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 24px;
  list-style: none;
  padding: 0;
}

.product, li.product, .wc-block-grid__product,
.ast-woo-product-gallery-layout {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  transition: box-shadow 0.3s, transform 0.2s;
}
.product:hover, li.product:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.12);
  transform: translateY(-2px);
}

.product img, .woocommerce-product-gallery img,
.attachment-woocommerce_thumbnail, .wp-post-image {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 1;
  background: var(--color-bg-light);
}

.woocommerce-loop-product__title, .product .woocommerce-loop-product__title,
h2.woocommerce-loop-product__title {
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  font-weight: 500;
  color: var(--color-primary-dark);
  padding: 12px 16px 4px;
  margin: 0;
}

/* Star ratings */
.star-rating, .woocommerce .star-rating {
  display: inline-block;
  color: #f5a623;
  font-size: 13px;
  padding: 0 16px;
}

/* ===== SINGLE PRODUCT ===== */
.product-type-simple, .single-product {
  max-width: 1200px;
  margin: 0 auto;
}

.woocommerce-product-gallery {
  max-width: 500px;
}
.woocommerce-product-gallery img {
  border-radius: 8px;
  aspect-ratio: auto;
}

.product_title, .entry-title {
  font-family: 'Poppins', sans-serif;
  font-size: 1.8rem;
  color: var(--color-primary-dark);
  margin-bottom: 15px;
}

.woocommerce-product-details__short-description,
.product-short-description {
  font-size: 15px;
  line-height: 1.7;
  color: var(--color-text-light);
  margin-bottom: 20px;
}

/* Product tabs */
.woocommerce-tabs, .wc-tabs-wrapper {
  margin-top: 30px;
  border-top: 1px solid var(--color-border);
}
.woocommerce-tabs ul.tabs, .wc-tabs {
  list-style: none;
  display: flex;
  gap: 0;
  padding: 0;
  border-bottom: 2px solid var(--color-border);
}
.woocommerce-tabs ul.tabs li, .wc-tabs li {
  padding: 12px 24px;
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
  font-size: 14px;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  color: var(--color-text-light);
}
.woocommerce-tabs ul.tabs li.active, .wc-tabs li.active {
  color: var(--color-primary);
  border-bottom-color: var(--color-primary);
}

/* Related products */
.related.products h2, .upsells h2 {
  font-size: 1.4rem;
  margin: 30px 0 15px;
  color: var(--color-primary-dark);
}

/* ===== CATEGORY / ARCHIVE PAGES ===== */
.woocommerce-result-count {
  font-size: 14px;
  color: var(--color-text-light);
  margin-bottom: 20px;
}

.page-title, .woocommerce-products-header__title {
  font-family: 'Poppins', sans-serif;
  font-size: 1.8rem;
  color: var(--color-primary-dark);
  margin-bottom: 20px;
}

.term-description {
  font-size: 15px;
  color: var(--color-text-light);
  margin-bottom: 20px;
  line-height: 1.7;
}

/* Pagination */
.woocommerce-pagination, .ast-pagination, .pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin: 30px 0;
  padding: 0;
  list-style: none;
}
.woocommerce-pagination a, .woocommerce-pagination span,
.page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  border: 1px solid var(--color-border);
  border-radius: 4px;
  font-size: 14px;
  color: var(--color-text);
  transition: all 0.2s;
}
.woocommerce-pagination .current, .page-numbers.current {
  background: var(--color-primary);
  color: #fff;
  border-color: var(--color-primary);
}

/* ===== FOOTER ===== */
footer, .site-footer, .ast-footer,
[data-elementor-type="footer"] {
  background: var(--color-primary-dark);
  color: rgba(255,255,255,0.8);
  padding: 30px 0 20px;
  margin-top: 40px;
}

footer .elementor-container,
.site-footer .ast-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

footer a, .site-footer a {
  color: rgba(255,255,255,0.8);
  transition: color 0.2s;
}
footer a:hover, .site-footer a:hover {
  color: var(--color-accent-light);
}

.ast-small-footer, .site-below-footer-wrap,
footer .ast-row {
  text-align: center;
  padding: 15px 0;
  font-size: 14px;
  border-top: 1px solid rgba(255,255,255,0.1);
}

/* Footer widget areas */
footer .elementor-widget-heading h2,
footer .elementor-heading-title {
  color: #fff;
  font-size: 1.1rem;
  margin-bottom: 12px;
}
footer .elementor-widget-text-editor {
  color: rgba(255,255,255,0.7);
  font-size: 14px;
}

footer .elementor-icon-list-items {
  list-style: none;
  padding: 0;
}
footer .elementor-icon-list-item {
  padding: 4px 0;
}

/* ===== SVG PLACEHOLDERS ===== */
img[src$=".svg"] {
  background: var(--color-bg-light);
  border-radius: 4px;
}

/* ===== BREADCRUMBS ===== */
.ast-breadcrumbs, .woocommerce-breadcrumb, .rank-math-breadcrumb {
  font-size: 13px;
  color: var(--color-text-light);
  padding: 10px 0;
  margin-bottom: 15px;
}
.ast-breadcrumbs a, .woocommerce-breadcrumb a {
  color: var(--color-primary);
}

/* ===== MISC ===== */
.wp-block-separator, hr {
  border: none;
  border-top: 1px solid var(--color-border);
  margin: 20px 0;
}

.elementor-divider-separator {
  border-top: 1px solid var(--color-border);
}

/* Elementor spacer */
.elementor-widget-spacer { display: block; }

/* Icons */
.elementor-icon, .elementor-social-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--color-primary);
  color: #fff;
  font-size: 18px;
  transition: background 0.2s;
}
.elementor-icon:hover, .elementor-social-icon:hover {
  background: var(--color-accent);
}

/* Image gallery */
.woocommerce-product-gallery__wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.woocommerce-product-gallery__image {
  flex: 0 0 auto;
}

/* Category header with background */
.elementor-section[data-settings*="background"] {
  background-size: cover;
  background-position: center;
}

/* Skip to content (accessibility) */
.skip-link, [href="#content"] {
  position: absolute;
  left: -9999px;
}

/* WooCommerce notices (hidden - no backend) */
.woocommerce-notices-wrapper,
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  display: none;
}

/* Hide Wayback/WP remnants */
#wm-ipp-base, .wm-ipp,
.powered-by-wordpress,
.ast-cookie-consent-bar,
[id*="cookie"], [class*="cookie-consent"],
.cli-modal-content, .cli-plugin-main-link {
  display: none !important;
}

/* ===== HOMEPAGE CATEGORIES (CTA grid) ===== */
.elementor-widget-call-to-action {
  margin-bottom: 20px;
}
/* CTA category boxes - grid for multiple side by side */
.elementor-section .elementor-container {
  display: flex;
  flex-wrap: wrap;
}
.elementor-cta {
  min-height: 160px;
  display: flex;
  align-items: flex-end;
  background: #607d8b;
  border-radius: 8px;
}
.elementor-cta__content {
  padding: 24px 30px;
}
.elementor-cta__title {
  font-size: 1.5rem;
  font-weight: 700;
  text-transform: uppercase;
}

/* ===== HERO SECTION ===== */
section[data-id="238ffa3"] {
  position: relative;
  min-height: 350px;
  display: flex;
  align-items: center;
}
section[data-id="238ffa3"]::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: linear-gradient(90deg, rgba(255,255,255,0.92) 0%, rgba(255,255,255,0.7) 50%, rgba(255,255,255,0) 100%);
  z-index: 1;
}
section[data-id="238ffa3"] > .elementor-container {
  position: relative;
  z-index: 2;
}

/* ===== PRODUCT SINGLE LAYOUT ===== */
.site-content .ast-container {
  padding: 30px 20px;
}
.site-content .ast-container .elementor-location-single {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  padding: 30px;
  margin-bottom: 30px;
}
/* Product title H1 */
.elementor-location-single h1 {
  font-size: 1.8rem;
  margin-bottom: 20px;
  padding-bottom: 15px;
  border-bottom: 2px solid var(--color-accent);
}
/* Product description / tabs */
.elementor-location-single .elementor-heading-title {
  font-size: 1.1rem;
  color: var(--color-primary);
  margin: 20px 0 10px;
}
/* Product image */
.woocommerce-product-gallery {
  opacity: 1 !important;
}
.elementor-location-single .woocommerce-product-gallery,
.elementor-location-single .elementor-widget-woocommerce-product-images {
  max-width: 100%;
  margin: 0 0 20px;
}
.elementor-widget-woocommerce-product-images .elementor-widget-container {
  overflow: visible;
  height: auto !important;
}
.woocommerce-product-gallery img,
.woocommerce-product-gallery__image img {
  width: 100%;
  height: auto;
  max-width: 400px;
  background: var(--color-bg-light);
  border-radius: 8px;
  object-fit: cover;
  display: block;
}
/* Only show first gallery image */
.woocommerce-product-gallery__image:not(:first-child) {
  display: none;
}

/* ===== FOOTER IMPROVEMENTS ===== */
.elementor-location-footer {
  background: var(--color-primary-dark);
  padding: 40px 0 20px;
}
.elementor-location-footer .elementor-heading-title {
  color: #fff;
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 15px;
}
.elementor-location-footer a {
  color: rgba(255,255,255,0.75);
  display: block;
  padding: 5px 0;
  font-size: 14px;
}
.elementor-location-footer a:hover {
  color: var(--color-accent-light);
}
.elementor-location-footer .elementor-icon-list-text {
  color: rgba(255,255,255,0.75);
}
/* Copyright section */
.elementor-location-footer + section,
section[data-id="a1c1b69"] {
  background: var(--color-primary-dark);
  text-align: center;
  padding: 15px 20px;
  border-top: 1px solid rgba(255,255,255,0.1);
  color: rgba(255,255,255,0.6);
  font-size: 13px;
}

/* ===== TESTIMONIALS ===== */
.elementor-testimonial {
  background: #fff;
  border-radius: 8px;
  padding: 20px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  margin-bottom: 15px;
}
.elementor-star-rating {
  color: #f5a623;
  font-size: 16px;
  margin-bottom: 10px;
}

/* ===== HEADER NAV IMPROVEMENT ===== */
.elementor-location-header .elementor-section {
  background: var(--color-primary-dark);
}
.elementor-location-header .elementor-container {
  justify-content: center;
}
.elementor-nav-menu--main .elementor-item {
  padding: 15px 18px;
  white-space: nowrap;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 921px) {
  .elementor-col-50, .elementor-col-33,
  .elementor-col-25, .elementor-col-20,
  .elementor-col-16, .elementor-col-66 {
    width: 100%;
  }
  .elementor-row { flex-direction: column; }

  .products {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  h1 { font-size: 1.6rem; }
  h2 { font-size: 1.3rem; }

  .ast-mobile-menu-trigger, .elementor-menu-toggle,
  .eicon-menu-bar { display: block; }

  nav ul, .ast-header-menu-items ul,
  .elementor-nav-menu { display: none; }

  .sub-menu { position: static; box-shadow: none; }
}

@media (max-width: 544px) {
  .products {
    grid-template-columns: 1fr;
  }
  body { font-size: 15px; }
  .elementor-cta__content { padding: 20px; }
}
