/* ═══════════════════════════════════════════════════
   NIMBUS SLEEP — WooCommerce Style Overrides
   Replaces default WooCommerce styles with Nimbus theme.
═══════════════════════════════════════════════════ */

/* ── Shop Page Layout ── */
.nimbus-shop-wrap {
  max-width: 1280px; margin: 0 auto; padding: 60px 5%;
}

/* ── WooCommerce Notices ── */
.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
  padding: 16px 22px; border-radius: 12px; margin-bottom: 24px;
  font-size: 0.9rem; font-weight: 500;
  display: flex; align-items: center; gap: 12px;
  list-style: none;
}
.woocommerce-info    { background: #EEF7FC; border-left: 4px solid #95CBED; color: #4E6E87; }
.woocommerce-message { background: #D5EDF9; border-left: 4px solid #7ABFB0; color: #4E6E87; }
.woocommerce-error   { background: #FEF0EE; border-left: 4px solid #E88FA0; color: #7A4A55; }

/* ── Breadcrumbs ── */
.woocommerce-breadcrumb {
  font-size: 0.82rem; color: #7EA3BA;
  margin-bottom: 36px; padding: 12px 0;
}
.woocommerce-breadcrumb a { color: #95CBED; }
.woocommerce-breadcrumb a:hover { text-decoration: underline; }

/* ── Shop Page Header ── */
.woocommerce-products-header__title,
.woocommerce .page-title,
.woocommerce-page .page-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  color: #4E6E87; margin-bottom: 30px;
}

/* ── Ordering & Results Count ── */
.woocommerce-result-count {
  font-size: 0.85rem; color: #7EA3BA; font-weight: 500;
}
.woocommerce-ordering select {
  padding: 9px 16px; border-radius: 50px;
  border: 1.5px solid rgba(190,225,245,0.5);
  background: rgba(255,255,255,0.9);
  font-family: 'Nunito', sans-serif;
  font-size: 0.88rem; color: #4E6E87;
  outline: none; cursor: pointer;
  transition: border-color 0.2s;
}
.woocommerce-ordering select:focus { border-color: #95CBED; }

/* ── Product Cards (loop) ── */
.woocommerce ul.products li.product {
  text-align: left; padding: 0; float: none;
  width: auto; margin: 0;
}
.woocommerce ul.products li.product a img {
  width: 100%; height: 220px; object-fit: cover;
  display: block;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Playfair Display', serif;
  font-size: 1rem; font-weight: 500; color: #4E6E87;
  padding: 16px 18px 6px;
}
.woocommerce ul.products li.product .star-rating {
  padding: 0 18px 8px; color: #F0C040; font-size: 0.75rem;
}
.woocommerce ul.products li.product .price {
  font-family: 'Playfair Display', serif;
  font-size: 1.15rem; font-weight: 600; color: #4E6E87;
  padding: 0 18px 18px; display: block;
}
.woocommerce ul.products li.product del { color: #7EA3BA; font-size: 0.88rem; }
.woocommerce ul.products li.product ins { text-decoration: none; }

/* Add to Cart button in loop */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button {
  margin: 0 18px 18px;
  background: #95CBED; color: #fff;
  border-radius: 50px; padding: 10px 22px;
  font-family: 'Nunito', sans-serif;
  font-size: 0.85rem; font-weight: 700;
  letter-spacing: 0.04em; border: none;
  transition: all 0.2s; cursor: pointer;
  box-shadow: 0 4px 12px rgba(120,185,235,0.25);
}
.woocommerce ul.products li.product .button:hover { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(120,185,235,0.35); }

/* ── Product Sale Badge ── */
.woocommerce ul.products li.product .onsale {
  background: #74AFDF; color: #fff;
  border-radius: 50px; font-size: 0.72rem; font-weight: 700;
  letter-spacing: 0.05em; text-transform: uppercase;
  padding: 4px 12px; top: 12px; left: 12px;
  min-height: auto; min-width: auto; line-height: 1.6;
}

/* ── Single Product Page ── */
.single-product div.product {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 60px; align-items: start;
}

.single-product .woocommerce-product-gallery {
  border-radius: 24px; overflow: hidden;
}
.single-product .woocommerce-product-gallery__image img {
  border-radius: 24px;
}

.single-product .summary {
  padding: 10px 0;
}
.single-product .product_title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.6rem, 2.5vw, 2.2rem);
  color: #4E6E87; margin-bottom: 14px;
}
.single-product .woocommerce-product-rating { margin-bottom: 18px; }
.single-product .star-rating { color: #F0C040; font-size: 0.9rem; }
.single-product .price {
  font-family: 'Playfair Display', serif;
  font-size: 1.8rem; font-weight: 600; color: #4E6E87; margin-bottom: 22px;
}
.single-product .woocommerce-product-details__short-description {
  font-size: 0.95rem; line-height: 1.7; color: #7EA3BA; margin-bottom: 28px;
}

/* Cart/Buy buttons */
.single-product .single_add_to_cart_button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  background: #95CBED; color: #fff;
  border-radius: 50px; padding: 14px 36px;
  font-family: 'Nunito', sans-serif;
  font-size: 0.95rem; font-weight: 700;
  letter-spacing: 0.04em; border: none;
  box-shadow: 0 8px 30px rgba(120,185,235,0.35);
  transition: all 0.3s; cursor: pointer;
}
.single-product .single_add_to_cart_button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 38px rgba(120,185,235,0.45);
  color: #fff;
}

/* Quantity input */
.woocommerce .quantity input[type="number"] {
  border-radius: 50px; border: 1.5px solid rgba(190,225,245,0.5);
  padding: 10px 16px; font-family: 'Nunito', sans-serif;
  font-size: 0.95rem; color: #4E6E87; width: 80px; text-align: center;
}

/* ── Cart Page ── */
.woocommerce table.shop_table {
  border-collapse: collapse; width: 100%; border: none;
}
.woocommerce table.shop_table th {
  background: #F4FAFD; color: #4E6E87;
  font-family: 'Nunito', sans-serif;
  font-size: 0.82rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.06em; padding: 14px 18px;
  border-bottom: 1px solid rgba(190,225,245,0.3);
}
.woocommerce table.shop_table td {
  padding: 18px; vertical-align: middle;
  border-bottom: 1px solid rgba(190,225,245,0.2);
  font-size: 0.9rem; color: #4E6E87;
}
.woocommerce table.shop_table .product-name a { font-weight: 600; }
.woocommerce table.shop_table .product-price { font-family: 'Playfair Display', serif; font-size: 1.05rem; }

/* Cart totals */
.woocommerce .cart_totals {
  background: #F4FAFD; border-radius: 24px; padding: 32px;
  border: 1px solid rgba(190,225,245,0.25);
}
.woocommerce .cart_totals h2 {
  font-family: 'Playfair Display', serif;
  font-size: 1.3rem; color: #4E6E87; margin-bottom: 22px;
}

/* ── Checkout ── */
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 { float: none; width: 100%; }

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  border: 1.5px solid rgba(190,225,245,0.5);
  border-radius: 12px; padding: 12px 16px;
  font-family: 'Nunito', sans-serif; font-size: 0.9rem; color: #4E6E87;
  width: 100%; background: rgba(255,255,255,0.9);
  outline: none; transition: border-color 0.2s;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color: #95CBED;
  box-shadow: 0 0 0 3px rgba(149,203,237,0.15);
}

.woocommerce form .form-row label { font-size: 0.85rem; font-weight: 600; color: #4E6E87; margin-bottom: 6px; display: block; }

/* Order summary box */
.woocommerce-checkout #order_review_heading {
  font-family: 'Playfair Display', serif; font-size: 1.3rem; color: #4E6E87;
}
.woocommerce-checkout-review-order {
  background: #F4FAFD; border-radius: 24px; padding: 30px;
  border: 1px solid rgba(190,225,245,0.25);
}

/* ── My Account ── */
.woocommerce-MyAccount-navigation {
  background: #F4FAFD; border-radius: 20px; padding: 24px;
  border: 1px solid rgba(190,225,245,0.25);
}
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; }
.woocommerce-MyAccount-navigation li { margin-bottom: 4px; }
.woocommerce-MyAccount-navigation a {
  display: block; padding: 10px 16px; border-radius: 10px;
  font-size: 0.88rem; font-weight: 600; color: #4E6E87;
  transition: background 0.2s, color 0.2s;
}
.woocommerce-MyAccount-navigation a:hover,
.woocommerce-MyAccount-navigation .is-active a {
  background: #95CBED; color: #fff;
}

/* ── Reviews ── */
.woocommerce #reviews #comments ol.commentlist li .comment-text {
  border-radius: 16px; background: #F4FAFD;
  border: 1px solid rgba(190,225,245,0.25);
  padding: 20px 24px;
}
.woocommerce #reviews .star-rating { color: #F0C040; }

/* ── Related Products ── */
.related.products > h2,
.upsells.products > h2,
.cross-sells > h2 {
  font-family: 'Playfair Display', serif;
  font-size: 1.6rem; color: #4E6E87;
  margin-bottom: 28px;
}

/* ── Widgets (Shop sidebar) ── */
.nimbus-sidebar .widget {
  background: rgba(255,255,255,0.82); border-radius: 18px;
  padding: 24px; margin-bottom: 24px;
  border: 1px solid rgba(190,225,245,0.2);
}
.nimbus-sidebar .widget-title {
  font-family: 'Playfair Display', serif;
  font-size: 1rem; color: #4E6E87; margin-bottom: 18px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(190,225,245,0.3);
}

/* Price slider */
.woocommerce .widget_price_filter .ui-slider .ui-slider-range { background: #95CBED; }
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
  background: #fff; border: 2px solid #95CBED;
}
.woocommerce .widget_price_filter .price_slider_amount .button {
  border-radius: 50px; background: #95CBED; color: #fff; border: none;
  padding: 8px 18px; font-family: 'Nunito', sans-serif; font-size: 0.82rem;
  font-weight: 700; cursor: pointer;
}

@media (max-width: 768px) {
  .single-product div.product { grid-template-columns: 1fr; }
  .woocommerce-checkout #customer_details { margin-bottom: 30px; }
}
