/* Outer wrapper - full width, override block constraints */
.watp-wallarts-container {
  width: 100% !important;
  max-width: 100% !important;
}

/* Override WordPress block layout constraints */
.wp-block-group .watp-wallarts-container,
.is-layout-constrained > .watp-wallarts-container {
  max-width: none !important;
}

/* Base container - flex grid */
.watp-wallarts,
.watp-block-wallarts {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: var(--wp--style--block-gap, var(--wp--preset--spacing--30, 24px));
  transition: opacity 0.3s ease;
  position: relative;
  width: 100%;
}

/* Card style */
.watp-wallart,
.watp-block-wallart {
  flex: 0 0 auto;
  width: min(278px, 100%);
  border: 1px solid var(--wp--preset--color--accent-6, #19191933);
  padding: var(--wp--preset--spacing--30, 24px);
  border-radius: var(--wp--custom--radius--small, 6px);
  background: var(--wp--preset--color--accent-1, #ffffff);
  box-shadow: var(--wp--preset--shadow--natural, none);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
/* Image */
.watp-wallart img,
.watp-block-wallart img {
  max-width: 100%;
  height: 190px !important;
  object-fit: cover;
  display: block;
  border-radius: var(--wp--custom--radius--small, 6px);
}

/* Mobile: Two columns */
@media (max-width: 767px) {
  .watp-wallarts,
  .watp-block-wallarts {
    gap: 12px;
  }
  
  .watp-wallart,
  .watp-block-wallart {
    width: calc(50% - 16px);
    padding: 4px;
  }

  /* Image */
.watp-wallart img,
.watp-block-wallart img {
  height: 100px !important; 
  }
}

.watp-wallart:hover,
.watp-block-wallart:hover {
  transform: translateY(-4px);
  box-shadow: var(--wp--preset--shadow--natural, 0 8px 24px rgba(25, 25, 25, 0.18));
}

.watp-wallart { cursor: pointer; }



/* Title */
.watp-wallart-title,
.watp-block-wallart-title {
  font-size: var(--wp--preset--font-size--medium, 1rem);
  margin: var(--wp--preset--spacing--20, 16px) 0 var(--wp--preset--spacing--10, 8px);
  color: var(--wp--preset--color--contrast, #1d2327);
}

/* Buttons container */
.watp-wallart-buttons,
.watp-block-wallart-buttons {
  margin-top: var(--wp--preset--spacing--20, 16px);
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--20, 16px);
}

/* Buttons */
.watp-product-button,
.watp-block-product-button, .watp-reset-preview {
border-width: 0;
  display: inline-block;
  padding: var(--wp--preset--spacing--10, 12px) var(--wp--preset--spacing--30, 24px);
  background: var(--wp--preset--color--contrast, #ff7300);
  color: var(--wp--preset--color--accent-2, #ffffff);
  border-radius: var(--wp--custom--radius--pill, 999px);
  text-decoration: none;
  text-align: center;
  font-weight: 600;
  transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
  box-shadow: var(--wp--preset--shadow--natural, 0 4px 12px rgba(25, 25, 25, 0.18));
  margin-bottom: 10px;
}

/* Button hover */
.watp-product-button:hover,
.watp-block-product-button:hover, .watp-reset-preview:hover {
  background: var(--wp--preset--color--accent-3, #1d2327);
  transform: translateY(-1px);
  box-shadow: var(--wp--preset--shadow--natural, 0 6px 18px rgba(25, 25, 25, 0.24));
}

/* Order label */
.watp-order-label {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--wp--preset--color--contrast, #1d2327);
  margin-bottom: var(--wp--preset--spacing--10, 8px);
}

/* Category filter */
.watp-wallart-filter {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--20, 16px);
  margin-bottom: var(--wp--preset--spacing--30, 24px);
}

.watp-filter-button {
  border: 1px var(--wp--preset--color--accent-5) solid;
  padding: var(--wp--preset--spacing--10, 12px) var(--wp--preset--spacing--30, 24px);
  border-radius: var(--wp--custom--radius--pill, 999px);
  background: var(--wp--preset--color--accent-1, #F1EEE9);
  color: var(--wp--preset--color--accent-3, #1d2327);
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow: var(--wp--preset--shadow--natural, none);
}

.watp-filter-button:hover {
  background: var(--wp--preset--color--accent-6, #19191933);
  transform: translateY(-1px);
  box-shadow: var(--wp--preset--shadow--natural, 0 4px 12px rgba(25, 25, 25, 0.18));
}

.watp-filter-button.is-active {
  background: var(--wp--preset--color--accent-2, #ff7300);
  color: var(--wp--preset--color--accent-1, #ffffff);
  box-shadow: var(--wp--preset--shadow--natural, 0 6px 18px rgba(25, 25, 25, 0.24));
}

.watp-filter-button.is-active:hover{
  background: var(--wp--preset--color--accent-2, #ff7300);
}

/* Lightbox styles */
.watp-lightbox { 
  position: fixed !important; 
  z-index: 99999 !important; 
  left: 0 !important; 
  top: 0 !important; 
  width: 100% !important; 
  height: 100% !important; 
  display: none !important; 
  align-items: center !important; 
  justify-content: center !important; 
  overflow: hidden !important;
  box-sizing: border-box !important;
}
.watp-lightbox[aria-hidden="false"] { 
  display: flex !important; 
  visibility: visible !important;
}
.watp-lightbox-backdrop { 
  position: fixed !important; 
  inset: 0 !important; 
  background: rgba(0,0,0,0.7) !important; 
}
.watp-lightbox-content { 
  position: relative !important; 
  z-index: 2 !important; 
  background: #fff !important; 
  width: calc(100vw - 40px) !important; 

  overflow: hidden !important; 
  padding: 20px !important; 
  border-radius: 8px !important; 
  display: flex !important; 
  flex-direction: column !important; 
  gap: 16px !important;
  box-sizing: border-box !important;
  max-width: none !important;
}
.watp-lightbox-image { 
  flex: 1 1 auto !important; 
  display: flex !important; 
  align-items: center !important; 
  justify-content: center !important; 
  min-height: 0 !important;
  min-width: 0 !important;
  overflow: hidden !important; 
}
.watp-lightbox-image img { 
  max-width: 100% !important; 
  max-height: 100% !important; 
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}
.watp-lightbox-products { 
  display: flex !important; 
  flex-direction: column !important; 
  gap: 12px !important; 
  max-height: 160px !important; 
  /*overflow-y: auto !important;*/
  align-items: center !important;
  justify-content: center !important;
}
.watp-lightbox-close { 
  position: absolute !important; 
  right: 16px !important; 
  top: 16px !important; 
  z-index: 10 !important; 
  border: none !important; 
  background: rgba(255,255,255,0.9) !important; 
  font-size: 32px !important; 
  line-height: 1 !important; 
  cursor: pointer !important; 
  width: 40px !important; 
  height: 40px !important; 
  border-radius: 50% !important; 
  display: flex !important; 
  align-items: center !important; 
  justify-content: center !important; 
  transition: background 0.2s ease !important;
  padding: 0 !important;
}
.watp-lightbox-close:hover { 
  background: #fff !important; 
}

/* Desktop fullscreen layout */
@media (min-width: 1024px) {
  .watp-lightbox-content { 
    flex-direction: row !important;
    gap: 24px !important;
        max-height: 90vh;

  }
  .watp-lightbox-image { 
    flex: 1 1 auto !important;
  }
  .watp-lightbox-products { 
      flex-direction: column !important; 

    flex: 0 0 280px !important;
    max-height: 100% !important;
    overflow-y: auto !important;
  }
}

/* Mobile responsive */
@media (max-width: 1023px) {
  .watp-lightbox-content { 
    width: 100% !important; 
    height: unset !important; 
    padding: 16px !important;
    gap: 12px !important;
  }
  .watp-lightbox-image { 
    flex: 1 1 auto !important;
  }
  .watp-lightbox-products { 
    flex-direction: row !important;
    max-height: 160px !important;
    scale: 0.9;
  }
}

.watp-wallart-products { display: none; }

/* Break out of theme's constrained layout */
.watp-lightbox {
  width: 100vw !important;
  height: 100vh !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ── Wall Art Crop Area (standalone, below gallery) ────────── */
#watp-crop-area {
  max-width: 100%;
  overflow: hidden;  /* clip any Cropper.js overflow */
  margin-bottom: 1em;
}

#watp-crop-image {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Ensure touch events work for Cropper.js on mobile */
#watp-crop-area .cropper-container {
  touch-action: none;
}

#watp-crop-area .cropper-crop-box {
  touch-action: none;
}

/* Hide the Cropper.js checkerboard pattern — use a neutral background instead */
#watp-crop-area .cropper-bg {
  background-image: none !important;
  background-color: #f0f0f0 !important;
}

/* Orientation toggle button — pill style, matching CWAL */
.watp-toggle-orientation {
  display: inline-block;
  width: auto;
  justify-self: start;
  margin-bottom: 1em;
  padding: 0.75em 1.5em;
  background: var(--wp--preset--color--accent-2, #ff7300);
  border: none;
  color: white;
  cursor: pointer;
  font-size: 0.95em;
  border-radius: var(--wp--custom--radius--pill, 999px);
  font-weight: 500;
  transition: all 0.3s ease;
}

.watp-toggle-orientation:hover {
  background: var(--wp--preset--color--accent-2, #ff7300);
  box-shadow: var(--wp--preset--shadow--natural, 0 2px 8px rgba(0,0,0,0.15));
}

/* Pagination Styles */
.watp-pagination {
  margin-top: 30px;
  text-align: center;
  clear: both;
  transition: opacity 0.3s ease;
  width: 100%;
}

.watp-pagination .page-numbers {
  display: inline-flex;
  justify-content: center;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
}

.watp-pagination .page-numbers li {
  list-style: none;
}

.watp-pagination a.page-numbers,
.watp-pagination span.page-numbers {
  display: inline-block;
  padding: 8px 12px;
  min-width: 40px;
  text-align: center;
  border: 1px solid var(--wp--preset--color--accent-6, #ddd);
  border-radius: 4px;
  background: var(--wp--preset--color--accent-1, #fff);
  color: var(--wp--preset--color--contrast, #333);
  text-decoration: none;
  transition: all 0.2s ease;
}

.watp-pagination a.page-numbers:hover {
  background: var(--wp--preset--color--accent-2, #f5f5f5);
  border-color: var(--wp--preset--color--accent-5, #999);
}

.watp-pagination span.current {
  background: var(--wp--preset--color--accent-2, #0073aa);
  color: #fff;
  border-color: var(--wp--preset--color--accent-2, #0073aa);
  font-weight: bold;
}

.watp-pagination .dots {
  border: none;
  background: transparent;
  cursor: default;
}

@media (max-width: 767px) {
  .watp-pagination {
    padding: 0 5px;
  }
  
  .watp-pagination .page-numbers {
    gap: 4px;
    padding: 0;
  }
  
  .watp-pagination a.page-numbers,
  .watp-pagination span.page-numbers {
    padding: 6px 8px;
    min-width: 36px;
    font-size: 13px;
  }
  
  .watp-pagination a.prev,
  .watp-pagination a.next {
    padding: 6px 10px;
    font-size: 12px;
  }
}