/* ================================================================
   woocommerce.css — WooCommerce overrides for Coatings Hub NorCal
   Maps WC's native classes/markup to our design system.
   ================================================================ */

/* ── Suppress WC default layout wrappers ── */
.woocommerce-page .woocommerce,
.woocommerce .woocommerce-notices-wrapper { margin: 0; padding: 0; }

/* ── Pagination: map WC paginate_links list → our .page-btn design ── */
.shop-pagination ul {
  list-style: none;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .4rem;
  margin: 2.5rem 0 0;
  padding: 0;
  flex-wrap: wrap;
}
.shop-pagination ul li { display: flex; }
.shop-pagination ul li a,
.shop-pagination ul li span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 .5rem;
  background: #fff;
  border: 1.5px solid #e2e8f0;
  border-radius: 9px;
  font-family: var(--font-sans);
  font-size: .85rem;
  font-weight: 600;
  color: #475569;
  text-decoration: none;
  transition: all .15s;
}
.shop-pagination ul li a:hover {
  border-color: var(--blue);
  color: var(--blue);
  background: #eff6ff;
}
.shop-pagination ul li span.current {
  background: var(--blue);
  border-color: var(--blue);
  color: #fff;
}
.shop-pagination ul li .dots {
  border: none;
  background: transparent;
  color: #94a3b8;
}
.shop-pagination ul li a svg { width: 16px; height: 16px; }

/* ── WC Price HTML ── */
.product-card__price .woocommerce-Price-amount { /* same as .price */ }
.product-card__price ins {
  text-decoration: none;
  font-size: 1.1rem;
  font-weight: 800;
  color: #e53e3e;
}
.product-card__price del {
  font-size: .85rem;
  font-weight: 500;
  color: #94a3b8;
  text-decoration: line-through;
}
.product-card__price .woocommerce-Price-currencySymbol { font-weight: inherit; }

/* ── WC Sort form ── */
.woocommerce-ordering {
  margin: 0;
}
.woocommerce-ordering .sort-select { margin: 0; }

/* ── WC Notices ── */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  padding: .85rem 1.2rem;
  border-radius: 10px;
  margin-bottom: 1.25rem;
  font-size: .875rem;
  list-style: none;
  display: flex;
  align-items: center;
  gap: .75rem;
}
.woocommerce-message { background: #f0fdf4; border: 1px solid #86efac; color: #166534; }
.woocommerce-error   { background: #fff5f5; border: 1px solid #fecaca; color: #c53030; }
.woocommerce-info    { background: #eff6ff; border: 1px solid #bfdbfe; color: #1d4ed8; }
.woocommerce-message a.button,
.woocommerce-info a.button {
  margin-left: auto;
  padding: .4rem .9rem;
  background: var(--blue);
  color: #fff;
  border-radius: 7px;
  text-decoration: none;
  font-size: .78rem;
  font-weight: 700;
  white-space: nowrap;
}

/* ── WC Widget: Product Categories (sidebar) ── */
.widget_product_categories .product-categories {
  list-style: none;
  margin: 0; padding: 0;
  display: flex;
  flex-direction: column;
  gap: .2rem;
}
.widget_product_categories .product-categories li { margin: 0; }
.widget_product_categories .product-categories a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: .55rem .75rem;
  font-size: .875rem;
  font-weight: 500;
  color: #475569;
  text-decoration: none;
  border-radius: 8px;
  transition: background .15s, color .15s;
}
.widget_product_categories .product-categories a:hover { background: #f1f5f9; color: var(--blue); }
.widget_product_categories .product-categories .current-cat > a { background: #eff6ff; color: var(--blue); font-weight: 700; }
.widget_product_categories .count {
  font-size: .7rem; font-weight: 600;
  background: #e2e8f0; color: #64748b;
  padding: .15rem .45rem; border-radius: 99px;
}
.widget_product_categories .current-cat .count { background: var(--blue); color: #fff; }
.widget_product_categories .children {
  list-style: none;
  margin: .2rem 0 0 1rem;
  padding: 0;
}

/* ── WC Widget: Price Filter ── */
.widget_price_filter .price_slider_wrapper { margin-top: .5rem; }
.widget_price_filter .price_slider {
  height: 4px;
  background: #e2e8f0;
  border-radius: 99px;
  margin: 18px 0;
  position: relative;
}
.widget_price_filter .ui-slider-range {
  background: var(--blue);
  height: 100%;
  border-radius: 99px;
  position: absolute;
}
.widget_price_filter .ui-slider-handle {
  width: 18px; height: 18px;
  border-radius: 50%;
  background: #fff;
  border: 2.5px solid var(--blue);
  box-shadow: 0 2px 6px rgba(2,116,190,.3);
  position: absolute;
  top: -7px;
  margin-left: -9px;
  cursor: pointer;
  outline: none;
}
.widget_price_filter .price_label {
  display: flex;
  justify-content: space-between;
  font-size: .82rem;
  color: #475569;
  margin-bottom: .75rem;
}
.widget_price_filter .price_label span { font-weight: 600; }
.widget_price_filter .button {
  padding: .35rem .9rem;
  background: var(--blue); color: #fff;
  border: none; border-radius: 7px;
  font-family: var(--font-sans); font-size: .75rem; font-weight: 700;
  cursor: pointer; letter-spacing: .06em;
  transition: background .2s;
}
.widget_price_filter .button:hover { background: var(--blue-d); }

/* ── WC Widget: Layered Nav (Attribute filter — Brand) ── */
.widget_layered_nav ul,
.widget_layered_nav_filters ul {
  list-style: none;
  margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: .5rem;
}
.widget_layered_nav ul li a,
.widget_layered_nav_filters ul li a {
  display: flex; align-items: center; gap: .65rem;
  font-size: .875rem; color: #475569; text-decoration: none;
}
.widget_layered_nav ul li a::before {
  content: '';
  width: 16px; height: 16px;
  border: 1.5px solid #cbd5e1;
  border-radius: 4px;
  background: #f8fafc;
  flex-shrink: 0;
  transition: border-color .15s, background .15s;
}
.widget_layered_nav ul li.chosen a::before { background: var(--blue); border-color: var(--blue); }
.widget_layered_nav ul li a:hover::before { border-color: var(--blue); }
.widget_layered_nav ul li .count {
  margin-left: auto;
  color: #94a3b8; font-size: .75rem;
}

/* ── WC Widget: Product Search ── */
.widget_product_search { margin-bottom: 1.5rem; }
.widget_product_search .woocommerce-product-search {
  display: flex;
  align-items: center;
  background: #f8fafc;
  border: 1.5px solid #e2e8f0;
  border-radius: 12px;
  overflow: hidden;
  transition: border-color .2s, box-shadow .2s;
  padding: 0;
}
.widget_product_search .woocommerce-product-search:focus-within {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(1,94,160,.1);
  background: #fff;
}
.widget_product_search .woocommerce-product-search::before {
  content: '';
  flex-shrink: 0;
  width: 16px; height: 16px;
  margin-left: .85rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");
  background-size: contain; background-repeat: no-repeat;
  pointer-events: none;
}
.widget_product_search .search-field {
  flex: 1;
  padding: .75rem .75rem .75rem .55rem;
  border: none;
  background: transparent;
  font-size: .875rem;
  color: #0d1b2a;
  font-family: var(--font-sans);
  outline: none;
  min-width: 0;
}
.widget_product_search .search-field::placeholder { color: #94a3b8; }
.widget_product_search button[type="submit"] {
  flex-shrink: 0;
  margin: .35rem .35rem .35rem 0;
  padding: .5rem .9rem;
  background: var(--blue);
  color: #fff;
  border: none;
  border-radius: 8px;
  font-family: var(--font-sans);
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .04em;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  transition: background .18s;
  white-space: nowrap;
}
.widget_product_search button[type="submit"]:hover { background: var(--blue-d); }
.widget_product_search button[type="submit"]::before {
  content: '';
  display: inline-block;
  width: 13px; height: 13px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");
  background-size: contain; background-repeat: no-repeat;
}

/* ── WC Widget: Tag Cloud ── */
.widget_product_tag_cloud .tagcloud {
  display: flex; flex-wrap: wrap; gap: .5rem;
}
.widget_product_tag_cloud .tagcloud a {
  display: inline-block;
  padding: .3rem .8rem;
  border: 1.5px solid #e2e8f0; border-radius: 99px;
  background: #f8fafc;
  font-size: .75rem !important; font-weight: 600;
  color: #64748b; text-decoration: none;
  transition: all .15s;
}
.widget_product_tag_cloud .tagcloud a:hover {
  border-color: var(--blue); background: #eff6ff; color: var(--blue);
}

/* ── Widget wrapper styling ── */
.shop-sidebar .woocommerce-widget-layered-nav,
.shop-sidebar .widget {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 1.4rem 1.5rem;
}
.shop-sidebar .widget-title,
.shop-sidebar .widgettitle {
  font-size: .72rem; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase;
  color: #64748b;
  margin-bottom: 1rem;
  padding-bottom: .75rem;
  border-bottom: 1px solid #f1f5f9;
}

/* ── Cart page & checkout ── */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
  background: #f1f5fb;
  padding: 3.5rem 0 5rem;
}
.woocommerce table.shop_table {
  border-collapse: collapse;
  width: 100%;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  overflow: hidden;
}
.woocommerce table.shop_table th {
  background: #f8fafc;
  font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: #64748b; padding: .85rem 1.2rem;
  border-bottom: 1px solid #e2e8f0;
}
.woocommerce table.shop_table td {
  padding: 1rem 1.2rem;
  border-bottom: 1px solid #f1f5f9;
  font-size: .875rem; color: #475569;
  vertical-align: middle;
}
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  display: inline-flex; align-items: center; justify-content: center;
  gap: .45rem;
  padding: .75rem 1.5rem;
  background: var(--blue); color: #fff;
  border: none; border-radius: 9px;
  font-family: var(--font-sans); font-size: .85rem; font-weight: 700;
  letter-spacing: .04em; text-transform: uppercase;
  text-decoration: none; cursor: pointer;
  transition: background .2s, transform .15s;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background: var(--blue-d);
  transform: translateY(-1px);
  color: #fff;
}
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce #place_order {
  background: linear-gradient(108deg, var(--blue) 0%, #1a7fc9 100%);
  box-shadow: 0 4px 18px rgba(1,94,160,.3);
}

/* ── WC product images ── */
.product-card__img img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  transition: transform .45s ease;
}
.product-card:hover .product-card__img img { transform: scale(1.06); }

/* ── WC stars on product cards ── */
.star-rating {
  display: none; /* we use our own .stars element */
}

/* ══════════════════════════════════════════════════
   SINGLE PRODUCT PAGE — WooCommerce form overrides
   ══════════════════════════════════════════════════ */

/* Suppress WC's default single-product layout wrappers */
.woocommerce div.product { margin: 0; }
.woocommerce div.product .woocommerce-product-gallery,
.woocommerce div.product .summary { display: none !important; }

/* Hide WC breadcrumb — we render our own inside inner-hero */
.woocommerce .woocommerce-breadcrumb { display: none; }

/* Suppress WC's default product summary hook output (title, price, rating etc)
   since we render them manually in single-product.php */
.pd-wc-form .woocommerce-product-details__short-description,
.pd-wc-form .product_title,
.pd-wc-form .price,
.pd-wc-form .woocommerce-product-rating,
.pd-wc-form .product_meta { display: none; }

/* ── WC Quantity field — match pd-qty design ── */
.pd-wc-form .quantity {
  display: flex;
  align-items: center;
  border: 1.5px solid #e2e8f0;
  border-radius: 10px;
  overflow: hidden;
  flex-shrink: 0;
}
.pd-wc-form .quantity .qty {
  width: 52px;
  height: 50px;
  border: none;
  border-left: 1.5px solid #e2e8f0;
  border-right: 1.5px solid #e2e8f0;
  text-align: center;
  font-family: var(--font-sans);
  font-size: .95rem;
  font-weight: 700;
  color: #0d1b2a;
  background: #fff;
  -moz-appearance: textfield;
  outline: none;
}
.pd-wc-form .quantity .qty::-webkit-inner-spin-button,
.pd-wc-form .quantity .qty::-webkit-outer-spin-button { appearance: none; }

/* +/- buttons — WC renders <input type="button"> or <button> depending on theme */
.pd-wc-form .quantity .plus,
.pd-wc-form .quantity .minus {
  width: 40px;
  height: 50px;
  background: #f8fafc;
  border: none;
  cursor: pointer;
  color: #475569;
  font-size: 1.2rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .15s, color .15s;
  font-family: var(--font-sans);
}
.pd-wc-form .quantity .plus:hover,
.pd-wc-form .quantity .minus:hover { background: #e2e8f0; color: #0d1b2a; }

/* ── WC Add-to-cart form layout ── */
.pd-wc-form form.cart {
  display: flex;
  align-items: center;
  gap: .85rem;
  flex-wrap: wrap;
  margin: 0;
}

/* ── WC Add-to-cart button ── */
.pd-wc-form .single_add_to_cart_button {
  flex: 1;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  padding: .9rem 1.5rem !important;
  background: var(--blue) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  font-family: var(--font-sans) !important;
  font-size: .85rem !important;
  font-weight: 700 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background .2s, transform .15s !important;
  min-width: 180px;
}
.pd-wc-form .single_add_to_cart_button:hover {
  background: var(--blue-d) !important;
  transform: translateY(-1px) !important;
}
.pd-wc-form .single_add_to_cart_button.loading {
  opacity: .75;
}
.pd-wc-form .single_add_to_cart_button.added {
  background: #16a34a !important;
}

/* ── WC variation select / swatches ── */
.pd-wc-form .variations {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  margin-bottom: 1rem;
}
.pd-wc-form .variations td,
.pd-wc-form .variations th {
  padding: .4rem 0;
  text-align: left;
  font-family: var(--font-sans);
  font-size: .85rem;
}
.pd-wc-form .variations label {
  font-weight: 700;
  color: #475569;
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.pd-wc-form .variations select {
  width: 100%;
  padding: .6rem .85rem;
  border: 1.5px solid #e2e8f0;
  border-radius: 9px;
  font-family: var(--font-sans);
  font-size: .85rem;
  color: #0d1b2a;
  background: #f8fafc;
  cursor: pointer;
  outline: none;
  appearance: auto;
  transition: border-color .2s;
}
.pd-wc-form .variations select:focus { border-color: var(--blue); }
.pd-wc-form .reset_variations {
  display: block;
  margin-top: .3rem;
  font-size: .72rem;
  color: #94a3b8;
  text-decoration: none;
}
.pd-wc-form .reset_variations:hover { color: var(--blue); }

/* ── WC variation price update ── */
.pd-wc-form .woocommerce-variation-price .price {
  font-size: 1.6rem;
  font-weight: 900;
  color: var(--blue);
}
.pd-wc-form .woocommerce-variation-availability { margin-bottom: .5rem; }

/* ── WC out-of-stock message ── */
.pd-wc-form .out-of-stock {
  display: inline-block;
  padding: .4rem .9rem;
  background: #fff5f5;
  border: 1px solid #fecaca;
  color: #c53030;
  border-radius: 8px;
  font-size: .82rem;
  font-weight: 600;
}

/* ── WC reviews (comments_template) overrides ── */
.pd-wc-reviews .woocommerce-Reviews-title { display: none; }
.pd-wc-reviews #reviews { margin: 0; }
.pd-wc-reviews .commentlist {
  list-style: none;
  margin: 0 0 1.5rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.pd-wc-reviews .commentlist .comment_container {
  display: flex;
  gap: 1rem;
  padding: 1.25rem;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #f8fafc;
}
.pd-wc-reviews .commentlist img.avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  flex-shrink: 0;
  object-fit: cover;
}
.pd-wc-reviews .commentlist .comment-text { flex: 1; }
.pd-wc-reviews .commentlist .meta {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: .5rem;
  flex-wrap: wrap;
}
.pd-wc-reviews .commentlist .meta .woocommerce-review__author {
  font-weight: 700;
  font-size: .9rem;
  color: #0d1b2a;
}
.pd-wc-reviews .commentlist .meta time {
  font-size: .72rem;
  color: #94a3b8;
}
.pd-wc-reviews .commentlist .meta .star-rating {
  display: flex !important;
}
.pd-wc-reviews .commentlist .description p {
  font-size: .875rem;
  color: #475569;
  line-height: 1.75;
  margin: 0;
}

/* Review form */
.pd-wc-reviews #review_form_wrapper {
  margin-top: 1.5rem;
  padding: 1.75rem;
  border: 1.5px solid #bfdbfe;
  border-radius: 14px;
  background: #eff6ff;
}
.pd-wc-reviews #review_form_wrapper h3 {
  font-family: var(--font-serif);
  font-size: 1.2rem;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #0d1b2a;
  margin-bottom: 1rem;
}
.pd-wc-reviews #review_form .comment-form-rating label,
.pd-wc-reviews #review_form label {
  display: block;
  font-size: .72rem;
  font-weight: 700;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: .07em;
  margin-bottom: .3rem;
}
.pd-wc-reviews #review_form input[type="text"],
.pd-wc-reviews #review_form input[type="email"],
.pd-wc-reviews #review_form textarea {
  width: 100%;
  padding: .6rem .85rem;
  border: 1.5px solid #bfdbfe;
  border-radius: 9px;
  font-family: var(--font-sans);
  font-size: .85rem;
  color: #0d1b2a;
  background: #fff;
  outline: none;
  box-sizing: border-box;
  transition: border-color .2s;
}
.pd-wc-reviews #review_form input:focus,
.pd-wc-reviews #review_form textarea:focus { border-color: var(--blue); }
.pd-wc-reviews #review_form .stars a {
  font-size: 1.5rem;
  color: #e2e8f0;
  text-decoration: none;
  transition: color .1s;
}
.pd-wc-reviews #review_form .stars.selected a,
.pd-wc-reviews #review_form .stars a:hover { color: #f59e0b; }
.pd-wc-reviews #review_form .form-submit input[type="submit"] {
  padding: .7rem 1.75rem;
  background: var(--blue);
  color: #fff;
  border: none;
  border-radius: 9px;
  font-family: var(--font-sans);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .2s;
}
.pd-wc-reviews #review_form .form-submit input[type="submit"]:hover { background: var(--blue-d); }

/* ── Related products section ── */
.pd-related-section {
  padding: 4rem 0 5rem;
  background: #f8fafc;
  border-top: 1px solid #e2e8f0;
}
.pd-related-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 2rem;
  flex-wrap: wrap;
  gap: 1rem;
}
.pd-related-title {
  font-family: var(--font-serif);
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 400;
  color: #0d1b2a;
  letter-spacing: .04em;
  text-transform: uppercase;
  margin: 0;
}
.pd-related-all {
  font-size: .82rem;
  font-weight: 700;
  color: var(--blue);
  text-decoration: none;
  letter-spacing: .04em;
  transition: opacity .15s;
}
.pd-related-all:hover { opacity: .75; }
.pd-related-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (max-width: 1100px) { .pd-related-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .pd-related-grid { grid-template-columns: repeat(2, 1fr); gap: .75rem; } }

/* ══════════════════════════════════════════════════
   CART / CHECKOUT / THANK YOU — shared page styles
   ══════════════════════════════════════════════════ */

/* ── Short hero variant ── */
.inner-hero--short { min-height: 220px; padding-top: 20px; }

/* ── Page wrapper ── */
.wc-page-wrap { background: #f1f5fb; }

/* ── Section wrapper ── */
.wc-section {
  padding: 3.5rem 0 5rem;
  background: #f1f5fb;
}
.wc-thankyou-section { padding-top: 2.5rem; }

/* ── Shared button styles ── */
.wc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  padding: .8rem 1.75rem;
  font-family: var(--font-sans); font-size: .82rem; font-weight: 700;
  letter-spacing: .07em; text-transform: uppercase;
  border-radius: 10px; border: none; cursor: pointer;
  text-decoration: none; transition: background .2s, transform .15s, border-color .2s;
}
.wc-btn svg { width: 16px; height: 16px; flex-shrink: 0; }
.wc-btn--primary {
  background: var(--blue); color: #fff;
  box-shadow: 0 4px 16px rgba(1,94,160,.28);
}
.wc-btn--primary:hover { background: var(--blue-d); transform: translateY(-1px); color: #fff; }
.wc-btn--outline {
  background: #fff; color: var(--blue);
  border: 2px solid var(--blue);
}
.wc-btn--outline:hover { background: #eff6ff; }
.wc-btn--ghost {
  background: #f1f5f9; color: #475569;
  border: 1.5px solid #e2e8f0;
}
.wc-btn--ghost:hover { background: #e2e8f0; color: #0d1b2a; }
.wc-btn--sm { padding: .45rem 1rem; font-size: .72rem; }

/* ── Shared card ── */
.wc-checkout-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 1.75rem 2rem;
  margin-bottom: 1.25rem;
}
.wc-checkout-card__title {
  display: flex; align-items: center; gap: .6rem;
  font-family: var(--font-sans); font-size: .82rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; color: #64748b;
  margin-bottom: 1.4rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #f1f5f9;
}
.wc-checkout-card__title svg { width: 16px; height: 16px; flex-shrink: 0; }
.wc-edit-cart {
  margin-left: auto; font-size: .72rem; color: var(--blue);
  text-decoration: none; letter-spacing: .04em;
}
.wc-edit-cart:hover { text-decoration: underline; }

/* ── Notices ── */
.woocommerce-notices-wrapper { margin-bottom: 1.5rem; }

/* ════════════════
   CART PAGE
   ════════════════ */

/* Layout */
.wc-cart-layout {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 2rem;
  align-items: start;
}

/* Empty cart */
.wc-empty-cart {
  text-align: center;
  padding: 5rem 1rem;
  background: #fff;
  border-radius: 18px;
  border: 1px solid #e2e8f0;
}
.wc-empty-cart svg { width: 64px; height: 64px; color: #cbd5e1; margin-bottom: 1.5rem; }
.wc-empty-cart h2 { font-family: var(--font-serif); font-size: 2rem; font-weight: 400; text-transform: uppercase; color: #0d1b2a; margin-bottom: .75rem; }
.wc-empty-cart p { color: #64748b; margin-bottom: 2rem; }

/* Cart items head */
.cart-items-head {
  display: grid;
  grid-template-columns: 1fr 100px 120px 100px;
  gap: 1rem;
  padding: .65rem 1.5rem;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  margin-bottom: .75rem;
  font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #64748b;
}

/* Cart item row */
.cart-item {
  display: grid;
  grid-template-columns: 1fr 100px 120px 100px;
  gap: 1rem;
  align-items: center;
  padding: 1.25rem 1.5rem;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  margin-bottom: .65rem;
  transition: box-shadow .2s;
}
.cart-item:hover { box-shadow: 0 4px 20px rgba(0,0,0,.06); }

/* Product cell */
.cart-item__product { display: flex; gap: 1rem; align-items: flex-start; }
.cart-item__img {
  width: 72px; height: 72px; flex-shrink: 0;
  border-radius: 10px; overflow: hidden;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
}
.cart-item__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cart-item__img a { display: block; width: 100%; height: 100%; }
.cart-item__details { flex: 1; min-width: 0; }
.cart-item__name { font-weight: 700; font-size: .9rem; color: #0d1b2a; margin-bottom: .25rem; line-height: 1.4; }
.cart-item__name a { color: inherit; text-decoration: none; }
.cart-item__name a:hover { color: var(--blue); }
.cart-item__sku { font-size: .7rem; color: #94a3b8; margin-bottom: .35rem; }
.cart-item__remove {
  display: inline-flex; align-items: center; gap: .3rem;
  font-size: .7rem; font-weight: 600; color: #94a3b8; text-decoration: none;
  transition: color .15s; margin-top: .2rem;
}
.cart-item__remove svg { width: 12px; height: 12px; }
.cart-item__remove:hover { color: #e53e3e; }

/* Price / qty / total cells */
.cart-item__price,
.cart-item__total { font-size: .95rem; font-weight: 700; color: #0d1b2a; }
.cart-item__total { color: var(--blue); }
.cart-item__qty-single { font-weight: 700; color: #0d1b2a; }

/* WC quantity in cart */
.cart-item__qty .quantity {
  display: flex; align-items: center;
  border: 1.5px solid #e2e8f0; border-radius: 9px; overflow: hidden;
  width: fit-content;
}
.cart-item__qty .quantity .plus,
.cart-item__qty .quantity .minus {
  width: 32px; height: 40px;
  background: #f8fafc; border: none;
  cursor: pointer; font-size: 1rem; font-weight: 700;
  color: #475569; display: flex; align-items: center; justify-content: center;
  transition: background .15s;
}
.cart-item__qty .quantity .plus:hover,
.cart-item__qty .quantity .minus:hover { background: #e2e8f0; }
.cart-item__qty .quantity .qty {
  width: 44px; height: 40px;
  border: none; border-left: 1.5px solid #e2e8f0; border-right: 1.5px solid #e2e8f0;
  text-align: center; font-family: var(--font-sans); font-size: .9rem; font-weight: 700;
  color: #0d1b2a; background: #fff;
  -moz-appearance: textfield; outline: none;
}
.cart-item__qty .quantity .qty::-webkit-inner-spin-button,
.cart-item__qty .quantity .qty::-webkit-outer-spin-button { appearance: none; }

/* Cart actions bar */
.cart-actions {
  display: flex; align-items: center; gap: 1rem; flex-wrap: wrap;
  padding: 1.25rem 1.5rem;
  background: #f8fafc; border: 1px solid #e2e8f0;
  border-radius: 12px; margin-top: .5rem;
}
.coupon-wrap { display: flex; gap: .5rem; flex: 1; min-width: 200px; }
.coupon-input {
  flex: 1; padding: .6rem .85rem;
  border: 1.5px solid #e2e8f0; border-radius: 9px;
  font-family: var(--font-sans); font-size: .85rem; color: #0d1b2a;
  background: #fff; outline: none; transition: border-color .2s;
}
.coupon-input:focus { border-color: var(--blue); }
.coupon-input::placeholder { color: #94a3b8; }
.wc-continue-link {
  display: inline-flex; align-items: center; gap: .4rem;
  font-size: .8rem; font-weight: 600; color: #64748b;
  text-decoration: none; margin-top: 1rem;
  transition: color .15s;
}
.wc-continue-link svg { width: 14px; height: 14px; }
.wc-continue-link:hover { color: var(--blue); }

/* ── Cart totals sidebar ── */
.wc-cart-sidebar { position: sticky; top: 110px; }
.wc-totals-card {
  background: #fff; border: 1px solid #e2e8f0; border-radius: 16px;
  padding: 1.75rem;
}
.wc-totals-title {
  font-size: .82rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: #64748b; margin-bottom: 1.25rem; padding-bottom: 1rem;
  border-bottom: 1px solid #f1f5f9;
}
.wc-totals-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: .55rem 0;
  font-size: .875rem; color: #475569;
  border-bottom: 1px solid #f8fafc;
}
.wc-totals-row--discount { color: #16a34a; font-weight: 600; }
.wc-totals-row--total {
  font-size: 1.05rem; font-weight: 800; color: #0d1b2a;
  border-bottom: none; margin-top: .5rem; padding-top: .75rem;
  border-top: 2px solid #0d1b2a;
}
.wc-totals-row--total span:last-child { color: var(--blue); font-size: 1.2rem; }
.wc-remove-coupon { margin-left: .5rem; font-size: .7rem; color: #94a3b8; text-decoration: none; }
.wc-remove-coupon:hover { color: #e53e3e; }

/* Shipping options in totals */
.wc-shipping-options { font-size: .82rem; }
.wc-shipping-options ul { list-style: none; margin: 0; padding: 0; }
.wc-shipping-options li { display: flex; align-items: center; gap: .4rem; padding: .2rem 0; }
.wc-shipping-options label { cursor: pointer; }

/* Checkout button in cart totals */
.wc-checkout-btn-wrap { margin-top: 1.25rem; }
.wc-checkout-btn-wrap .checkout-button,
.wc-checkout-btn-wrap a.checkout-button {
  display: flex !important; align-items: center; justify-content: center;
  width: 100%; padding: 1rem 1.5rem !important;
  background: linear-gradient(108deg, var(--blue) 0%, #1a7fc9 100%) !important;
  color: #fff !important; border: none !important;
  border-radius: 12px !important; font-family: var(--font-sans) !important;
  font-size: .9rem !important; font-weight: 700 !important;
  letter-spacing: .07em !important; text-transform: uppercase !important;
  text-decoration: none; cursor: pointer;
  box-shadow: 0 6px 24px rgba(1,94,160,.35) !important;
  transition: transform .15s, box-shadow .15s !important;
}
.wc-checkout-btn-wrap .checkout-button:hover { transform: translateY(-2px) !important; box-shadow: 0 8px 32px rgba(1,94,160,.45) !important; }

/* Trust badges */
.wc-trust-badges {
  display: flex; flex-direction: column; gap: .5rem;
  margin-top: 1.25rem; padding-top: 1.25rem;
  border-top: 1px solid #f1f5f9;
}
.wc-trust-badge {
  display: flex; align-items: center; gap: .55rem;
  font-size: .75rem; font-weight: 600; color: #15803d;
}
.wc-trust-badge svg { width: 14px; height: 14px; flex-shrink: 0; }

/* ════════════════
   CHECKOUT PAGE
   ════════════════ */

.wc-checkout-layout {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 2rem;
  align-items: start;
}

/* Steps */
.checkout-steps {
  display: flex; align-items: center; gap: 0;
  margin-bottom: 1.5rem;
  background: #fff; border: 1px solid #e2e8f0;
  border-radius: 12px; padding: 1rem 1.5rem;
}
.checkout-step {
  display: flex; align-items: center; gap: .6rem;
  font-size: .78rem; font-weight: 600; color: #94a3b8;
}
.checkout-step--active { color: var(--blue); }
.checkout-step--active .checkout-step__num { background: var(--blue); border-color: var(--blue); color: #fff; }
.checkout-step__num {
  width: 24px; height: 24px;
  border-radius: 50%; border: 2px solid #cbd5e1;
  display: flex; align-items: center; justify-content: center;
  font-size: .7rem; font-weight: 800; color: #94a3b8;
  flex-shrink: 0;
}
.checkout-step-divider {
  flex: 1; height: 1px; background: #e2e8f0; margin: 0 .75rem;
}

/* WC form fields in checkout card */
.wc-checkout-card .form-row {
  margin-bottom: 1rem;
}
.wc-checkout-card .form-row label {
  display: block;
  font-size: .72rem; font-weight: 700;
  letter-spacing: .07em; text-transform: uppercase;
  color: #64748b; margin-bottom: .35rem;
}
.wc-checkout-card .form-row label abbr { color: #e53e3e; text-decoration: none; }
.wc-checkout-card .form-row input[type="text"],
.wc-checkout-card .form-row input[type="email"],
.wc-checkout-card .form-row input[type="tel"],
.wc-checkout-card .form-row input[type="number"],
.wc-checkout-card .form-row input[type="password"],
.wc-checkout-card .form-row select,
.wc-checkout-card .form-row textarea {
  width: 100%; padding: .7rem .9rem;
  border: 1.5px solid #e2e8f0; border-radius: 9px;
  font-family: var(--font-sans); font-size: .875rem; color: #0d1b2a;
  background: #f8fafc; outline: none; box-sizing: border-box;
  transition: border-color .2s, background .2s;
  appearance: auto;
}
.wc-checkout-card .form-row input:focus,
.wc-checkout-card .form-row select:focus,
.wc-checkout-card .form-row textarea:focus {
  border-color: var(--blue); background: #fff;
}
.wc-checkout-card .form-row.woocommerce-invalid input,
.wc-checkout-card .form-row.woocommerce-invalid select {
  border-color: #e53e3e;
}
.wc-checkout-card .form-row.form-row-first,
.wc-checkout-card .form-row.form-row-last {
  display: inline-block; width: calc(50% - .4rem);
}
.wc-checkout-card .form-row.form-row-first { margin-right: .4rem; }
.wc-checkout-card .form-row .woocommerce-input-wrapper { display: block; }
.wc-checkout-card .form-row .optional { color: #94a3b8; font-size: .65rem; }
.wc-checkout-card textarea { resize: vertical; min-height: 90px; }

/* Ship to different address toggle */
#ship-to-different-address label {
  display: flex; align-items: center; gap: .6rem;
  font-size: .9rem; font-weight: 600; cursor: pointer; color: #0d1b2a;
}
#ship-to-different-address input[type="checkbox"] {
  width: 18px; height: 18px; accent-color: var(--blue);
}

/* Order items in checkout sidebar */
.wc-order-items { margin-bottom: 1rem; }
.wc-order-item {
  display: flex; align-items: center; gap: .85rem;
  padding: .65rem 0; border-bottom: 1px solid #f1f5f9;
}
.wc-order-item:last-child { border-bottom: none; }
.wc-order-item__img {
  position: relative; width: 52px; height: 52px; flex-shrink: 0;
  border-radius: 8px; overflow: hidden; background: #f1f5f9;
  border: 1px solid #e2e8f0;
}
.wc-order-item__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wc-order-item__qty {
  position: absolute; top: -6px; right: -6px;
  width: 20px; height: 20px;
  background: var(--blue); color: #fff;
  font-size: .6rem; font-weight: 800;
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
}
.wc-order-item__info { flex: 1; min-width: 0; }
.wc-order-item__name { font-size: .82rem; font-weight: 600; color: #0d1b2a; display: block; }
.wc-order-item__price { font-size: .875rem; font-weight: 700; color: #0d1b2a; flex-shrink: 0; }

/* Order totals in checkout sidebar */
.wc-order-totals { border-top: 1px solid #f1f5f9; margin-top: .75rem; padding-top: .5rem; }

/* Coupon in checkout */
.wc-coupon-row {
  display: flex; gap: .5rem;
  margin-bottom: 1rem; padding-bottom: 1rem;
  border-bottom: 1px solid #f1f5f9;
}

/* Payment methods */
.wc-payment-methods {
  list-style: none; margin: 0 0 1rem; padding: 0;
  display: flex; flex-direction: column; gap: .6rem;
}
.wc-payment-methods li {
  padding: 1rem 1.1rem;
  border: 1.5px solid #e2e8f0; border-radius: 10px;
  background: #f8fafc; cursor: pointer;
  transition: border-color .15s, background .15s;
}
.wc-payment-methods li.payment_method_active,
.wc-payment-methods li:has(input:checked) {
  border-color: var(--blue); background: #eff6ff;
}
.wc-payment-methods li label {
  display: flex; align-items: center; gap: .75rem;
  font-weight: 600; font-size: .875rem; color: #0d1b2a; cursor: pointer;
}
.wc-payment-methods li input[type="radio"] {
  width: 16px; height: 16px; accent-color: var(--blue); flex-shrink: 0;
}
.payment_box {
  margin-top: .75rem; padding: .85rem 1rem;
  background: #fff; border-radius: 8px;
  border: 1px solid #e2e8f0;
  font-size: .82rem; color: #475569; line-height: 1.6;
}

/* Place order button */
.wc-place-order-btn {
  display: flex !important; align-items: center; justify-content: center;
  width: 100%; padding: 1.05rem 1.5rem !important;
  background: linear-gradient(108deg, var(--blue) 0%, #1a7fc9 100%) !important;
  color: #fff !important; border: none !important;
  border-radius: 12px !important; font-family: var(--font-sans) !important;
  font-size: .95rem !important; font-weight: 700 !important;
  letter-spacing: .07em !important; text-transform: uppercase !important;
  cursor: pointer; box-shadow: 0 6px 24px rgba(1,94,160,.35) !important;
  transition: transform .15s, box-shadow .15s !important;
  margin-top: 1.25rem;
}
.wc-place-order-btn:hover { transform: translateY(-2px) !important; box-shadow: 0 8px 32px rgba(1,94,160,.45) !important; }
.wc-place-order-btn.loading { opacity: .75; cursor: wait; }

/* Secure note */
.wc-secure-note {
  display: flex; align-items: center; gap: .45rem;
  font-size: .72rem; color: #94a3b8; margin-top: .85rem;
  justify-content: center;
}
.wc-secure-note svg { width: 12px; height: 12px; }

/* ════════════════
   THANK YOU PAGE
   ════════════════ */

.wc-thankyou-wrap { max-width: 1000px; margin: 0 auto; }

.wc-thankyou-banner {
  display: flex; align-items: center; gap: 1.5rem;
  padding: 1.75rem 2rem;
  background: linear-gradient(108deg, #0d2137 0%, #015ea0 100%);
  border-radius: 16px; margin-bottom: 1.75rem;
  color: #fff;
}
.wc-thankyou-icon {
  width: 56px; height: 56px; flex-shrink: 0;
  background: rgba(255,255,255,.15); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
}
.wc-thankyou-icon svg { width: 26px; height: 26px; color: #fff; }
.wc-thankyou-banner__body h2 {
  font-family: var(--font-serif); font-size: clamp(1.4rem, 3vw, 2rem);
  font-weight: 400; text-transform: uppercase; letter-spacing: .04em; margin-bottom: .3rem;
}
.wc-thankyou-banner__body p { color: rgba(255,255,255,.78); font-size: .9rem; margin: 0; }

.wc-order-meta-chips {
  display: flex; flex-wrap: wrap; gap: .75rem;
  margin-bottom: 1.75rem;
}
.wc-order-chip {
  display: flex; flex-direction: column; gap: .15rem;
  padding: .85rem 1.25rem;
  background: #fff; border: 1px solid #e2e8f0; border-radius: 12px;
  flex: 1; min-width: 120px;
}
.wc-order-chip__label { font-size: .65rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #94a3b8; }
.wc-order-chip__val { font-size: .9rem; font-weight: 700; color: #0d1b2a; }

.wc-thankyou-layout {
  display: grid; grid-template-columns: 1fr 320px; gap: 1.5rem; align-items: start;
}
.wc-order-details-wrap { display: flex; flex-direction: column; gap: 1.25rem; }

.wc-address { font-style: normal; font-size: .875rem; color: #475569; line-height: 1.8; }

/* What's next */
.wc-next-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1rem; }
.wc-next-list li { display: flex; align-items: flex-start; gap: 1rem; }
.wc-next-num {
  width: 30px; height: 30px; flex-shrink: 0;
  background: var(--blue); color: #fff; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: .75rem; font-weight: 800;
}
.wc-next-list strong { display: block; font-size: .875rem; font-weight: 700; color: #0d1b2a; margin-bottom: .2rem; }
.wc-next-list p { font-size: .8rem; color: #64748b; margin: 0; line-height: 1.5; }

.wc-help-card { text-align: center; }
.wc-help-card svg { width: 36px; height: 36px; margin-bottom: .75rem; }
.wc-help-card p { font-size: .85rem; color: #475569; margin-bottom: .65rem; }
.callout-phone {
  display: block; font-size: 1.2rem; font-weight: 800; color: var(--blue);
  text-decoration: none; margin-bottom: .65rem; letter-spacing: .02em;
}
.callout-phone:hover { text-decoration: underline; }

.wc-thankyou-actions { display: flex; flex-direction: column; gap: .65rem; margin-top: 1rem; }
.wc-thankyou-actions .wc-btn { text-align: center; width: 100%; }

/* ════════════════
   RESPONSIVE
   ════════════════ */
@media (max-width: 1024px) {
  .wc-cart-layout { grid-template-columns: 1fr; }
  .wc-cart-sidebar { position: static; }
  .wc-checkout-layout { grid-template-columns: 1fr; }
  .wc-checkout-sidebar { position: static; }
  .wc-thankyou-layout { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .wc-section { padding: 2rem 0 3.5rem; }
  .cart-items-head { display: none; }
  .cart-item { grid-template-columns: 1fr; gap: .75rem; }
  .cart-item__product { flex-direction: row; }
  .cart-item__price::before { content: 'Price: '; font-weight: 500; color: #94a3b8; font-size: .72rem; display: block; }
  .cart-item__total::before { content: 'Total: '; font-weight: 500; color: #94a3b8; font-size: .72rem; display: block; }
  .cart-actions { flex-direction: column; align-items: stretch; }
  .coupon-wrap { flex-direction: column; }
  .checkout-steps { gap: .5rem; }
  .checkout-step__label { display: none; }
  .wc-checkout-card .form-row.form-row-first,
  .wc-checkout-card .form-row.form-row-last { width: 100%; margin-right: 0; display: block; }
  .wc-thankyou-banner { flex-direction: column; text-align: center; }
  .wc-order-meta-chips { flex-direction: column; }
}

@media (max-width: 480px) {
  .wc-checkout-card { padding: 1.25rem; }
  .wc-totals-card { padding: 1.25rem; }
}

/* ══════════════════════════════════════════════════
   PAGE.PHP INTEGRATION — cart / checkout / account
   Content sits inside page.php's .container so the
   1200px max-width is inherited automatically.
   ══════════════════════════════════════════════════ */

/* Full-width background on WC pages */
.woocommerce-cart .main-wrap,
.woocommerce-checkout .main-wrap,
.woocommerce-account .main-wrap {
  background: #f1f5fb;
}

/* Reset article/page-content wrappers — no extra padding */
.woocommerce-cart .page-content,
.woocommerce-checkout .page-content,
.woocommerce-account .page-content {
  padding: 0;
}

/* Cart/checkout content padding (inside the container) */
.wc-cart-wrap,
.wc-checkout-wrap {
  padding: 3rem 0 4.5rem;
}

/* Suppress WC's default breadcrumb — hero has ours */
.woocommerce-cart .woocommerce-breadcrumb,
.woocommerce-checkout .woocommerce-breadcrumb,
.woocommerce-account .woocommerce-breadcrumb {
  display: none !important;
}

/* WC notices */
.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-checkout .woocommerce-notices-wrapper {
  padding: 0 0 1rem;
}

/* Resets any article/page default margins */
.woocommerce-cart article.page-content,
.woocommerce-checkout article.page-content {
  margin: 0;
  padding: 0;
}

/* ══════════════════════════════════════════════════
   MY ACCOUNT — Login / Register / Dashboard
   ══════════════════════════════════════════════════ */

/* Page background */
.woocommerce-account .main-wrap { background: #f1f5fb; }
.woocommerce-account .page-layout { padding: 0; }
.woocommerce-account article.page-content { margin: 0; padding: 0; }

/* Breadcrumb — hide WC's numbered one, hero has ours */
.woocommerce-account .woocommerce-breadcrumb { display: none !important; }

/* ── LOGIN / REGISTER page ── */
.wc-account-wrap { padding: 3rem 0 4.5rem; }

.wc-account-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  align-items: start;
}

.wc-account-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 2rem 2.25rem;
}
.wc-account-card__title {
  display: flex; align-items: center; gap: .6rem;
  font-family: var(--font-sans); font-size: .82rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; color: #64748b;
  margin-bottom: .5rem; padding-bottom: 1rem;
  border-bottom: 1px solid #f1f5f9;
}
.wc-account-card__title svg { width: 16px; height: 16px; flex-shrink: 0; }
.wc-account-card__sub { font-size: .875rem; color: #64748b; margin-bottom: 1.5rem; }

.wc-field { margin-bottom: 1.1rem; }
.wc-field label {
  display: block; font-size: .72rem; font-weight: 700;
  letter-spacing: .07em; text-transform: uppercase; color: #64748b; margin-bottom: .35rem;
}
.wc-field .required { color: #e53e3e; }
.wc-input {
  width: 100%; padding: .75rem .9rem;
  border: 1.5px solid #e2e8f0; border-radius: 10px;
  font-family: var(--font-sans); font-size: .9rem; color: #0d1b2a;
  background: #f8fafc; outline: none; box-sizing: border-box;
  transition: border-color .2s, background .2s;
}
.wc-input:focus { border-color: var(--blue); background: #fff; }

.wc-password-wrap { position: relative; }
.wc-password-wrap .wc-input { padding-right: 2.75rem; }
.wc-show-pass {
  position: absolute; right: .75rem; top: 50%; transform: translateY(-50%);
  background: none; border: none; cursor: pointer; padding: 0;
  color: #94a3b8; display: flex; align-items: center; transition: color .15s;
}
.wc-show-pass:hover { color: var(--blue); }
.wc-show-pass svg { width: 18px; height: 18px; }

.wc-login-meta {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 1.25rem; font-size: .82rem;
}
.wc-remember { display: flex; align-items: center; gap: .45rem; cursor: pointer; color: #475569; }
.wc-remember input { width: 16px; height: 16px; accent-color: var(--blue); }
.wc-forgot-link { color: var(--blue); text-decoration: none; font-weight: 600; }
.wc-forgot-link:hover { text-decoration: underline; }
.wc-btn--full { width: 100%; }

.wc-info-note {
  font-size: .82rem; color: #64748b; background: #f1f5f9;
  border-radius: 8px; padding: .65rem .9rem; margin-bottom: 1.1rem;
}
.wc-account-perks {
  list-style: none; margin: 1.25rem 0 0; padding: 0;
  display: flex; flex-direction: column; gap: .65rem;
}
.wc-account-perks li { display: flex; align-items: center; gap: .6rem; font-size: .875rem; color: #475569; font-weight: 500; }
.wc-account-perks li svg { width: 16px; height: 16px; flex-shrink: 0; }
.wc-account-contact { margin-top: 1.5rem; text-align: center; }
.wc-account-contact p { font-size: .875rem; color: #64748b; margin-bottom: .35rem; }

/* ── LOGGED-IN DASHBOARD ── */

.woocommerce-account .woocommerce-notices-wrapper { margin-bottom: 1rem; }

/* Override WC default flex wrapper */
.woocommerce-account .woocommerce { display: block; }

/* Our custom dashboard layout */
.wc-dashboard-wrap {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 1.75rem;
  align-items: start;
  padding: 3rem 0 4.5rem;
}

/* ── Sidebar ── */
.wc-dashboard-sidebar { position: sticky; top: 110px; }

/* User card */
.wc-user-card {
  display: flex; align-items: center; gap: .85rem;
  background: linear-gradient(108deg, #0d2137 0%, #015ea0 100%);
  border-radius: 16px 16px 0 0;
  padding: 1.25rem 1.5rem;
}
.wc-user-card__img {
  width: 48px; height: 48px; border-radius: 50%;
  border: 2.5px solid rgba(255,255,255,.35); flex-shrink: 0;
  display: block;
}
.wc-user-card__info { flex: 1; min-width: 0; }
.wc-user-card__name {
  display: block; font-weight: 700; font-size: .9rem; color: #fff;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.wc-user-card__email {
  display: block; font-size: .72rem; color: rgba(255,255,255,.6);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* Nav */
.wc-account-nav {
  background: #fff;
  border: 1px solid #e2e8f0; border-top: none;
  border-radius: 0 0 16px 16px;
  overflow: hidden;
}
.wc-account-nav ul { list-style: none; margin: 0; padding: 0; }
.wc-account-nav ul li a {
  display: flex; align-items: center; gap: .65rem;
  padding: .85rem 1.35rem;
  font-size: .875rem; font-weight: 500; color: #475569;
  text-decoration: none;
  border-bottom: 1px solid #f1f5f9;
  transition: background .15s, color .15s;
}
.wc-account-nav ul li:last-child a { border-bottom: none; }
.wc-account-nav ul li a svg { width: 16px; height: 16px; flex-shrink: 0; color: #94a3b8; transition: color .15s; }
.wc-account-nav ul li a:hover { background: #f8fafc; color: var(--blue); }
.wc-account-nav ul li a:hover svg { color: var(--blue); }
.wc-account-nav ul li.is-active a {
  background: #eff6ff; color: var(--blue); font-weight: 700;
  border-left: 3px solid var(--blue);
  padding-left: calc(1.35rem - 3px);
}
.wc-account-nav ul li.is-active a svg { color: var(--blue); }
/* Log out — red tint */
.wc-account-nav ul li.woocommerce-MyAccount-navigation-link--customer-logout a { color: #dc2626; }
.wc-account-nav ul li.woocommerce-MyAccount-navigation-link--customer-logout a svg { color: #dc2626; }
.wc-account-nav ul li.woocommerce-MyAccount-navigation-link--customer-logout a:hover { background: #fff5f5; color: #b91c1c; }

/* ── Content area ── */
.wc-dashboard-content {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 2rem 2.25rem;
  min-height: 420px;
}

/* WC content headings */
.wc-dashboard-content h2 {
  font-family: var(--font-sans); font-size: 1.15rem; font-weight: 700;
  color: #0d1b2a; margin-bottom: 1.25rem;
  padding-bottom: .85rem; border-bottom: 1px solid #f1f5f9;
}
.wc-dashboard-content h3 { font-family: var(--font-sans); font-size: 1rem; font-weight: 700; color: #0d1b2a; margin-bottom: .75rem; }

/* Dashboard welcome text */
.woocommerce-MyAccount-content p { font-size: .9rem; color: #475569; line-height: 1.7; margin-bottom: .75rem; }
.woocommerce-MyAccount-content a { color: var(--blue); text-decoration: none; }
.woocommerce-MyAccount-content a:hover { text-decoration: underline; }

/* Orders table */
.woocommerce-orders-table { width: 100%; border-collapse: collapse; font-size: .875rem; }
.woocommerce-orders-table th {
  text-align: left; padding: .65rem .85rem;
  font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: #64748b; background: #f8fafc; border-bottom: 1px solid #e2e8f0;
}
.woocommerce-orders-table td { padding: .9rem .85rem; border-bottom: 1px solid #f1f5f9; color: #475569; }
.woocommerce-orders-table tr:last-child td { border-bottom: none; }
.woocommerce-orders-table .woocommerce-button { padding: .35rem .9rem; font-size: .75rem; }

/* Order status badges */
.wc-dashboard-content mark.order-status {
  background: none; padding: .2rem .65rem; border-radius: 99px;
  font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
}
.wc-dashboard-content mark.order-status.processing { background: #dbeafe; color: #1d4ed8; }
.wc-dashboard-content mark.order-status.completed { background: #dcfce7; color: #15803d; }
.wc-dashboard-content mark.order-status.on-hold { background: #fef3c7; color: #92400e; }
.wc-dashboard-content mark.order-status.cancelled { background: #fee2e2; color: #b91c1c; }

/* Address boxes */
.woocommerce-Addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.woocommerce-Address {
  border: 1px solid #e2e8f0; border-radius: 12px; padding: 1.5rem;
}
.woocommerce-Address-title { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; }
.woocommerce-Address-title h3 { font-size: .9rem; font-weight: 700; color: #0d1b2a; margin: 0; }
.woocommerce-Address address { font-style: normal; font-size: .875rem; color: #475569; line-height: 1.75; }

/* Form fields inside dashboard content */
.wc-dashboard-content .form-row { margin-bottom: 1rem; }
.wc-dashboard-content .form-row label {
  display: block; font-size: .72rem; font-weight: 700;
  letter-spacing: .07em; text-transform: uppercase; color: #64748b; margin-bottom: .35rem;
}
.wc-dashboard-content .form-row input[type="text"],
.wc-dashboard-content .form-row input[type="email"],
.wc-dashboard-content .form-row input[type="tel"],
.wc-dashboard-content .form-row input[type="password"],
.wc-dashboard-content .form-row select,
.wc-dashboard-content .form-row textarea {
  width: 100%; padding: .7rem .9rem;
  border: 1.5px solid #e2e8f0; border-radius: 9px;
  font-family: var(--font-sans); font-size: .875rem; color: #0d1b2a;
  background: #f8fafc; outline: none; box-sizing: border-box;
  transition: border-color .2s, background .2s;
}
.wc-dashboard-content .form-row input:focus,
.wc-dashboard-content .form-row select:focus { border-color: var(--blue); background: #fff; }
.wc-dashboard-content .form-row.form-row-first,
.wc-dashboard-content .form-row.form-row-last { display: inline-block; width: calc(50% - .4rem); vertical-align: top; }
.wc-dashboard-content .form-row.form-row-first { margin-right: .4rem; }
.wc-dashboard-content .button {
  display: inline-flex; align-items: center; gap: .4rem;
  padding: .7rem 1.5rem; background: var(--blue); color: #fff;
  border: none; border-radius: 9px; font-family: var(--font-sans);
  font-size: .82rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  cursor: pointer; text-decoration: none; transition: background .2s;
}
.wc-dashboard-content .button:hover { background: var(--blue-d); color: #fff; }

/* ── Responsive ── */
@media (max-width: 900px) {
  .wc-dashboard-wrap { grid-template-columns: 1fr; }
  .wc-dashboard-sidebar { position: static; }
  .woocommerce-Addresses { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .wc-account-grid { grid-template-columns: 1fr; }
  .wc-dashboard-content .form-row.form-row-first,
  .wc-dashboard-content .form-row.form-row-last { width: 100%; display: block; margin-right: 0; }
}

/* ══════════════════════════════════════════════════
   CHECKOUT — suppress WC default UI / polish
   ══════════════════════════════════════════════════ */

/* Hide WC's own headings — our cards have their own titles */
.wc-checkout-form h3#order_review_heading,
.wc-checkout-form .woocommerce-billing-fields h3,
.wc-checkout-form .woocommerce-shipping-fields h3,
.wc-checkout-form .woocommerce-additional-fields h3,
.wc-checkout-card > .woocommerce-billing-fields > h3,
.wc-checkout-card > .woocommerce-shipping-fields > h3 {
  display: none !important;
}

/* Hide WC coupon/login toggle notices — we have coupon in sidebar */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-info.wc-apply-coupon-notice,
.woocommerce-checkout .checkout_coupon,
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-login {
  display: none !important;
}

/* "Ship to different address?" checkbox row */
.wc-checkout-card #ship-to-different-address {
  margin-bottom: 1rem;
}
.wc-checkout-card #ship-to-different-address label {
  display: flex; align-items: center; gap: .65rem;
  font-size: .9rem; font-weight: 600; color: #0d1b2a; cursor: pointer;
}
.wc-checkout-card #ship-to-different-address input[type="checkbox"] {
  width: 18px; height: 18px; accent-color: var(--blue); flex-shrink: 0;
}

/* Shipping fields hidden by default (WC shows on checkbox tick) */
.woocommerce-shipping-fields .shipping_address { margin-top: 1rem; }

/* Checkout sidebar sticky */
.wc-checkout-sidebar { position: sticky; top: 110px; }

/* Checkout layout gap */
.wc-checkout-layout { gap: 1.75rem; }

/* Place order button full-width inside payment card */
.wc-payment-card .wc-place-order-btn { margin-top: 1rem; }

/* Field row styling — WC outputs form-row-first / form-row-last as inline-block */
.wc-checkout-card .form-row-first,
.wc-checkout-card .form-row-last {
  display: inline-block;
  width: calc(50% - .5rem);
  vertical-align: top;
}
.wc-checkout-card .form-row-first { margin-right: .5rem; }

/* Validation error highlight */
.wc-checkout-card .form-row.woocommerce-invalid input,
.wc-checkout-card .form-row.woocommerce-invalid select {
  border-color: #e53e3e !important;
}
.wc-checkout-card .form-row.woocommerce-validated input,
.wc-checkout-card .form-row.woocommerce-validated select {
  border-color: #16a34a !important;
}

/* Select2 override (WC uses select2 for country/state dropdowns) */
.wc-checkout-card .select2-container--default .select2-selection--single {
  height: 44px; border: 1.5px solid #e2e8f0; border-radius: 9px;
  background: #f8fafc; outline: none;
  display: flex; align-items: center; padding: 0 .9rem;
}
.wc-checkout-card .select2-container--default .select2-selection--single:focus,
.wc-checkout-card .select2-container--default.select2-container--open .select2-selection--single {
  border-color: var(--blue); background: #fff;
}
.wc-checkout-card .select2-container--default .select2-selection--single .select2-selection__rendered {
  font-family: var(--font-sans); font-size: .875rem; color: #0d1b2a; line-height: 1;
  padding: 0;
}
.wc-checkout-card .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 44px; top: 0; right: .75rem;
}
.select2-dropdown { border: 1.5px solid #e2e8f0 !important; border-radius: 9px !important; overflow: hidden; }
.select2-results__option { font-family: var(--font-sans); font-size: .875rem; padding: .55rem .9rem; }
.select2-results__option--highlighted { background: var(--blue) !important; }

/* Checkout page notices at top */
.wc-checkout-wrap .woocommerce-notices-wrapper { margin-bottom: 1.25rem; }

/* ══════════════════════════════════════════════════
   ACCOUNT DETAILS — form-edit-account polish
   ══════════════════════════════════════════════════ */

/* Password change fieldset — replace border/legend with card style */
.wc-dashboard-content fieldset {
  border: none;
  margin: 1.5rem 0 0;
  padding: 0;
}
.wc-dashboard-content fieldset legend {
  display: block;
  width: 100%;
  font-size: .72rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase;
  color: #64748b;
  padding: 0 0 .75rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid #f1f5f9;
}

/* Password strength meter dots / bar */
.wc-dashboard-content .woocommerce-password-strength,
.wc-dashboard-content .woocommerce-password-hint {
  display: none;
}

/* Fix password input height — WC sometimes renders them taller */
.wc-dashboard-content .form-row input[type="password"] {
  height: 44px;
  padding: 0 .9rem;
  line-height: 44px;
}

/* Remove stray list bullets WC injects */
.wc-dashboard-content .woocommerce-account-fields ul,
.wc-dashboard-content fieldset ul { list-style: none; padding: 0; margin: 0; }

/* Section title above form (e.g. "Account details") */
.wc-dashboard-content .woocommerce-EditAccountForm .form-row label abbr {
  color: #e53e3e; text-decoration: none;
}

/* Save Changes button */
.wc-dashboard-content .woocommerce-Button,
.wc-dashboard-content input[type="submit"],
.wc-dashboard-content button[type="submit"] {
  display: inline-flex; align-items: center; justify-content: center;
  padding: .75rem 2rem;
  background: var(--blue); color: #fff;
  border: none; border-radius: 10px;
  font-family: var(--font-sans); font-size: .82rem; font-weight: 700;
  letter-spacing: .07em; text-transform: uppercase;
  cursor: pointer; transition: background .2s, transform .15s;
  box-shadow: 0 4px 14px rgba(1,94,160,.28);
  margin-top: .5rem;
}
.wc-dashboard-content .woocommerce-Button:hover,
.wc-dashboard-content input[type="submit"]:hover,
.wc-dashboard-content button[type="submit"]:hover {
  background: var(--blue-d); transform: translateY(-1px); color: #fff;
}

/* Password strength bar (shown inline by WC JS) */
.wc-dashboard-content #password_strength {
  display: block; height: 4px; border-radius: 99px;
  background: #e2e8f0; margin-top: .4rem; overflow: hidden;
}

/* Description text below fields */
.wc-dashboard-content .description {
  font-size: .78rem; color: #94a3b8; font-style: italic;
  display: block; margin-top: .3rem;
}
