/*
Theme Name: OceanWP Child
Theme URI: https://oceanwp.org/
Description: Child theme for OceanWP — custom styling and WooCommerce enhancements for Ocean CNC
Author: Farallon Arts
Author URI: https://ocean-cnc.com/
Template: oceanwp
Version: 1.0.14
*/

/* ========================================================================== */
/* 0. BASE STRUCTURE — WORDPRESS + WOOCOMMERCE OVERRIDES                      */
/* ========================================================================== */

html, body {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Global box-sizing normalization */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Hide WooCommerce add to cart + quantity for all custom-products */
.single-product.product_cat-custom-products .summary form.cart,
.single-product.product_cat-custom-products .summary .single_add_to_cart_button,
.single-product.product_cat-custom-products .summary .floating_add_to_cart_button,
.single-product.product_cat-custom-products .summary .quantity {
    display: none !important;
}

/* WooCommerce product grid normalization */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 18px !important;
  justify-items: center !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

.woocommerce ul.products li.product {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}

/* Responsive grid */
@media (max-width: 768px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
}

/* Normalize WooCommerce Block product image container height */
.wc-block-grid__product-image {
    height: 200px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

/* Normalize actual image scaling */
.wc-block-grid__product-image img {
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}


/* Quick View popup general container override */
#owp-qv-wrap.mfp-ready {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 100vh !important;
  padding: 20px !important;
  box-sizing: border-box !important;
}

#owp-qv-content {
  max-height: 100% !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

/* Hide Add to Cart & Quantity in Quick View for custom products */
#owp-qv-wrap .product_cat-custom-products .summary .single_add_to_cart_button,
#owp-qv-wrap .product_cat-custom-products .summary .quantity {
  display: none !important;
}

/* WooCommerce single product content wrapper */
.single-product .entry-content {
  background: #f8f9fa !important;
  padding: 30px !important;
  border-radius: 3px !important;
  margin: 30px 0 !important;
}

/* ================================
   HOME PAGE — CLEANUP
   ================================ */

/* Homepage — video column fill */
.home .wp-block-columns .wp-block-column:first-child video,
.home .wp-block-columns .wp-block-column:first-child iframe {
    height: 100%;
    width: 100%;
    object-fit: cover;
}
/* Homepage video column — remove extra bottom spacing */
.home .wp-block-columns .wp-block-column:first-child {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

.home .wp-block-columns .wp-block-column:first-child .wp-block-video,
.home .wp-block-columns .wp-block-column:first-child .wp-block-embed {
    margin-bottom: 0 !important;
}

/* Homepage — mobile padding for materials column only */
@media (max-width: 768px) {

    .home .wp-block-columns .wp-block-column:last-child {
        padding: 24px !important;
    }

}

/* ================================
   ABOUT PAGE — CLEANUP
   ================================ */

/* Main container padding */
.about-page-content {
  padding: 30px !important;
}

/* Paragraph indentation (default) */
.about-page-content p {
  text-indent: 2em !important;
  margin-top: 1em;
}

/* Remove indentation from FIRST paragraph (so it wraps the logo properly) */
.about-page-content p:first-of-type {
  text-indent: 0 !important;
}

/* Fix the left-aligned logo image */
.about-page-content .alignleft img {
  padding: 0 !important;
  margin-right: 20px !important;
  margin-left: 0 !important;
  float: left !important;
}

/* Apply the same left/right padding to images in this content block */
.about-page-content .wp-block-image {
  padding-left: 30px !important;
  padding-right: 30px !important;
  margin: 0 auto !important;
}

/* Ensure gallery-like series of images stay centered & even */
.about-page-content .wp-block-image img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* Inline OPP Logo */
.inline-logo-fix img {
  filter:
    drop-shadow(0 0 2px rgba(255,255,255,0.9))
    drop-shadow(0 0 6px rgba(255,255,255,0.6));
}
/* Base: grayscale, smooth transition */
.gutslider-b6595165 .swiper-slide img {
    filter: grayscale(100%);
    transition: filter 0.5s ease, drop-shadow 0.5s ease;
}

/* Hover: full color + glow halo around opaque parts (cutouts/letters) */
.gutslider-b6595165 .swiper-slide img:hover {
    filter: grayscale(0%) drop-shadow(0 0 10px rgba(255, 255, 255, 0.8)) !important;
}
/* ========================================================================== */
/* 1. GLOBAL LAYOUT, COLORS, AND TOP BAR                                      */
/* ========================================================================== */

/* Page background gradient */
body {
  background: linear-gradient(to right, #2B3990 0%, #27AAE1 100%) !important;
}

/* Color utility classes */
.cnc-primary { color: #2B3990; }
.cnc-secondary { color: #27AAE1; }
.cnc-accent { background: #1e73be; color: #fff; }
.cnc-light { background: #f8f9fa; color: #495057; }
.cnc-dark { color: #495057; border-color: #495057; }

/* Link styling */
body .gradient-section a,
body .wp-block-group a {
  color: #ffffff !important;
  text-decoration: none;
}
body .gradient-section a:hover,
body .wp-block-group a:hover {
  color: #27AAE1 !important;
  text-decoration: underline;
  font-weight: bold;
}

/* =========================================================
   TOP BAR LAYOUT — HARD POSITIONING CONTEXT
   ========================================================= */

#top-bar-content {
  position: relative !important;
  display: block !important;
  width: 100% !important;
}

/* Force Gutenberg block group inside top bar to obey container width */
#topbar-template .wp-block-group.dive-icon {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* =========================================================
   TOP BAR OPP LOGO — DESKTOP POSITIONING
   ========================================================= */

#top-bar-content .opp-logo {

  position: absolute !important;
  left: -68px !important;

  top: 50% !important;
  transform: translateY(-50%) !important;

  display: block !important;

  z-index: 5 !important;
}

/* size the image only, not the container */
#top-bar-content .opp-logo-img {

  height: 34px !important;
  width: auto !important;

}
/* =========================================================
   TOP BAR OPP LOGO — MOBILE POSITION ADJUSTMENT
   ========================================================= */

@media (max-width: 768px) {

  #top-bar-content .opp-logo {
    left: 0 !important;
  }

}



/* =========================================================
   TOP BAR OPP LOGO — LOCK SIZE ON MOBILE (prevent scaling)
   ========================================================= */

@media (max-width: 768px) {

  #top-bar-content .opp-logo-img {

    height: 34px !important;
    width: auto !important;

    max-height: 34px !important;
    max-width: none !important;

    transform: none !important;

  }

}

/* Top bar CTA button */
#top-bar-content .dive-cta {
  position: absolute !important;
  right: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: #ffffff !important;
  font-weight: bold !important;
  font-size: 12px !important;
  padding: 4px 8px !important;
  border-radius: 3px !important;
  background: rgba(255,255,255,0.1) !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.3) !important;
  transition: background 0.3s ease !important;
}
#top-bar-content .dive-cta:hover {
  background: rgba(255,255,255,0.2) !important;
}
#top-bar-content .dive-icon {
  height: 28px !important;
  border-radius: 2px !important;
}
.page-id-651 #topbar-template .dive-cta {
  display: none !important;
}

/* Top bar responsive adjustments */
@media (max-width: 768px) {
  #top-bar-content .dive-cta {
    right: 10px !important;
    top: calc(-50% - env(safe-area-inset-top)) !important;
    transform: translateY(50%) !important;
    font-size: 11px !important;
    padding: 3px 6px !important;
  }
  #top-bar-content .dive-icon { height: 24px !important; }
}
@media (max-width: 480px) {
  #top-bar-content .dive-cta {
    flex-direction: row !important;
    gap: 2px !important;
    text-align: center !important;
  }
  #top-bar-content .dive-icon { height: 20px !important; }
}

/* === CTA BUTTON ONLY — CLEAN + CONTAINED === */

#topbar-template .dive-cta {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 4px 10px !important;
    white-space: nowrap !important;
    border-radius: 3px !important;
    background: rgba(255,255,255,0.1) !important;
    color: #fff !important;
    font-weight: bold !important;
    font-size: 12px !important;
    text-decoration: none !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.3) !important;
}

/* Icon sizing WITHIN the button */
#topbar-template .dive-cta .dive-icon {
    height: 32px !important;
    width: auto !important;
    display: inline-block !important;
    flex-shrink: 0 !important;
}

/* =========================================================
   GUTENBERG / OCEANWP: Kill the phantom gap under Image blocks
   (figure margin + baseline/line-height gap)
   ========================================================= */
/* GLOBAL: kill Gutenberg image figure spacing + baseline gap */
figure.wp-block-image { margin: 0 !important; }
figure.wp-block-image img { display: block !important; }

/* =========================================================
   FORMINATOR: remove invisible response containers
   (this is the actual cause of the micro-gap)
   ========================================================= */

/* Remove empty response/message containers */
.forminator-ui .forminator-response-message:empty,
.forminator-ui .forminator-error-message:empty,
.forminator-ui .forminator-success-message:empty {
    display: none !important;
}

/* Remove phantom spacing row at the bottom */
.forminator-ui .forminator-row-last {
    margin-bottom: 0 !important;
}

/* ==========================================================================
   1.1 CONTACT PAGE – FORM STYLING FIX (matches configurator #F8F9FA background)
   ========================================================================== */

/* A. All Forminator text inputs & textareas → exact configurator background */
.forminator-ui .forminator-input,
.forminator-ui .forminator-textarea,
.forminator-ui .forminator-select2 + .select2-container .select2-selection {
    background-color: #F8F9FA !important;
    border: 1px solid #ced4da !important;
    color: #212529 !important;
}

/* B. Fix focus state (keeps same background) */
.forminator-ui .forminator-input:focus,
.forminator-ui .forminator-textarea:focus,
.forminator-ui .forminator-select2 + .select2-container:focus .select2-selection {
    background-color: #F8F9FA !important;
    outline: none !important;
    box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.25) !important;
}

/* C. Submit button → uses your existing universal button style */
.forminator-ui .forminator-button-submit {
    display: inline-block !important;
    font-weight: 600 !important;
    text-align: center !important;
    vertical-align: middle !important;
    user-select: none !important;
    padding: 0.625rem 1.25rem !important;
    font-size: 1rem !important;
    line-height: 1.5 !important;
    border-radius: 0.375rem !important;
    transition: all 0.15s ease-in-out !important;
    background-color: #13AFF0 !important;
    border: 2px solid #13AFF0 !important;
    color: #ffffff !important;
}

.forminator-ui .forminator-button-submit:hover {
    background-color: #152240 !important;
    border-color: #152240 !important;
    color: #ffffff !important;
}

.forminator-ui .forminator-button-submit:focus {
    box-shadow: 0 0 0 0.2rem rgba(26, 43, 94, 0.5) !important;
}

/* ============================================================
   UNIVERSAL PRODUCT CARD — CLEAN UNIFIED VERSION
   Keeps button styles intact. Matches WC + custom-products.
   ============================================================ 
*/

/* Outer Card */
.global-product-card-bg {
    background: #f8f9fa !important;
    padding: 12px !important;
    border-radius: 4px !important;
    margin-bottom: 14px !important;
    min-height: 330px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    box-sizing: border-box !important;
}

/* Image wrapper spacing (fixes 178 card too) */
.global-product-card-bg .woo-entry-image,
.global-product-card-bg .woo-entry-image-swap {
    margin-bottom: 8px !important;
    padding: 0 !important;
}

/* PRODUCT IMAGES — consistent height */
.global-product-card-bg img {
    width: 100% !important;
    height: 150px !important;
    object-fit: contain !important;
    border-radius: 3px !important;
}

/* ============================
   TITLE (fixed alignment)
   ============================ */
.global-product-card-bg .title h2,
.global-product-card-bg .woocommerce-loop-product__title {
    font-weight: 600 !important;
    color: #1A2B5E !important;
    margin: 6px 0 4px 0 !important;
    line-height: 1.25 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* ============================
   PRICE (unified position)
   ============================ */
.global-product-card-bg .price,
.global-product-card-bg .price * {
    color: #28a745 !important;
    font-size: 1.25rem !important;
    font-weight: 600 !important;
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
}

/* ============================
   BUTTON AREA — unchanged logic
   Just harmonized spacing.
   ============================ */
.global-product-card-bg .btn-wrap {
    margin-top: auto !important;
    padding-top: 10px !important;
    text-align: center !important;
}

/* =========================================================
   MOBILE: Shorten "Select options" button text
   ========================================================= */
@media (max-width: 768px) {
  .woocommerce ul.products li.product .button.product_type_variable {
    font-size: 0 !important;
  }

  .woocommerce ul.products li.product .button.product_type_variable::after {
    content: "Options";
    font-size: 12px;
    letter-spacing: 0.5px;
  }
}

/* ============================
   REMOVE CATEGORY METADATA
   ============================ */
.global-product-card-bg .category,
.global-product-card-bg .posted-in {
    display: none !important;
}

/* ============================
   QUICK VIEW FIXES
   ============================ */
.product_cat-custom-products .owp-quick-view {
    display: none !important;
}

/* ============================
   UNIFIED GRID BEHAVIOR
   ============================ */
.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
}

@media (max-width: 768px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }
}

/* ============================================================
   FIX TITLE COLOR + REMOVE UNDERLINES (FINAL PATCH)
   ============================================================ */

.global-product-card-bg .title h2 a,
.global-product-card-bg .woocommerce-loop-product__title,
.global-product-card-bg .woocommerce-loop-product__title a {
    color: #1A2B5E !important;
    text-decoration: none !important;
}

/* ====================================================================== */
/* UNIVERSAL BUTTONS — Add to Cart, Configure, Checkout, Configurator     */
/* ====================================================================== */

.wc-block-components-button,
.woocommerce .button,
.woocommerce .add_to_cart_button,
.woocommerce input[type="submit"],
button[type="submit"],
.wp-block-button__link,
.configure-btn,
.single_add_to_cart_button,
#configurator-add-to-cart {
  background: #27AAE1 !important;
  color: #fff !important;
  border-radius: 2px !important;
  padding: 0 clamp(16px, 4vw, 48px) !important;
  font-weight: 700 !important;
  font-size: clamp(12px, 2.4vw, 14px) !important;
  min-height: clamp(42px, 5vw, 50px) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  border: none !important;
  transition: background 0.3s ease, box-shadow 0.3s ease !important;
}

/* Hover */
.wc-block-components-button:hover,
.woocommerce .button:hover,
.wp-block-button__link:hover,   /* ← ADD THIS LINE RIGHT HERE */
.configure-btn:hover,
#configurator-add-to-cart:hover {
  background: #2B3990 !important;
  box-shadow: 0 4px 8px rgba(43,57,144,.3) !important;
}

/* Focus */
.wc-block-components-button:focus,
.woocommerce .button:focus,
#configurator-add-to-cart:focus {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(39,170,225,.3) !important;
}

/* FIX VERTICAL MISALIGNMENT ON ALL BUTTONS */
.woocommerce .button,
.woocommerce .add_to_cart_button,
.woocommerce input[type="submit"],
button[type="submit"],
.wp-block-button__link,
.configure-btn,
.single_add_to_cart_button,
#configurator-add-to-cart {
    line-height: 1 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.configure-btn {
    background: #27AAE1 !important;
    color: #fff !important;
    padding: 12px 24px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    border-radius: 3px !important;
    font-size: 15px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

.configure-btn:hover {
    background: #2B3990 !important;
    box-shadow: 0 2px 8px rgba(43, 57, 144, 0.3) !important;
}

/* Fix admin-bar search button */
#wpadminbar #wp-admin-bar-search input[type="submit"] {
    all: unset !important;
    background: transparent !important;
    color: #fff !important;
    font-size: 13px !important;
    padding: 0 8px !important;
    min-height: auto !important;
    line-height: 28px !important;
    text-transform: none !important;
    border: none !important;
    box-shadow: none !important;
}

/* variations products buttons customization */
/* Base: all variation buttons get indigo border */
.variable-item.button-variable-item {
    border: 1px solid #1A2B5E !important;
}

/* Selected: cyan fill + white text, keep indigo border */
.variable-item.button-variable-item.selected {
    background: #27AAE1 !important;
    color: #ffffff !important;
    border-color: #1A2B5E !important;
}

/* Ensure inner span text turns white */
.variable-item.button-variable-item.selected .variable-item-span {
    color: #ffffff !important;
}

/* Hide default /redundant PayPal description box on checkout */
.woocommerce-checkout #payment .payment_method_ppcp-gateway > .payment_box {
    display: none !important;
}

/* ========================================================================== */
/* CART "NEW IN STORE" — Fix inconsistent card heights for coming-soon items */
/* ========================================================================== */

body.woocommerce-cart .wc-block-grid__product:has(.coming-soon-overlay) {
    min-height: 380px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
}

body.woocommerce-cart .wc-block-grid__product:has(.coming-soon-overlay) .wc-block-grid__product-image {
    flex: 0 0 auto !important;
    height: 200px !important;
    overflow: hidden !important;
}

body.woocommerce-cart .wc-block-grid__product:has(.coming-soon-overlay) .wc-block-grid__product-image img {
    height: 100% !important;
    object-fit: contain !important;
}

body.woocommerce-cart .wc-block-grid__product:has(.coming-soon-overlay) .wc-block-grid__product-title,
body.woocommerce-cart .wc-block-grid__product:has(.coming-soon-overlay) .wc-block-grid__product-price {
    flex-grow: 1 !important;
    min-height: 60px !important;
}

/* Hide the sad face icon ONLY on empty cart */
.woocommerce-cart .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
    display: none !important;
}

/* Alternative if ::before doesn't catch it - hide the SVG directly */
.woocommerce-cart .wc-block-cart__empty-cart__title.with-empty-cart-icon svg {
    display: none !important;
}

.woocommerce-cart .wc-block-cart__empty-cart__title.with-empty-cart-icon {
    background: url('/wp-content/uploads/2026/02/emptycart_icon.png') no-repeat center top;
    background-size: 120px 120px;
    padding-top: 140px !important;
    padding-bottom: 20px !important;
    min-height: 220px !important;
    line-height: 1.4;
    text-align: center;
}

/* Optional: Make sure the icon stays centered and doesn't repeat */
.woocommerce-cart .wc-block-cart__empty-cart__title.with-empty-cart-icon {
    background-position: center 20px;
}

/* ========================================================================== */
/* 4. PRODUCT 178 — DIVE SLATE CUSTOM LAYOUT                                  */
/* ========================================================================== */

.single-product.postid-178 .dive-slate-custom-layout .product {
  display: flex !important;
  flex-wrap: wrap !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

.single-product.postid-178 .dive-slate-custom-layout #wpgs-gallery {
  flex: 0 0 50% !important;
  max-width: 50% !important;
  margin: 0 !important;
}

.single-product.postid-178 .dive-slate-custom-layout .summary {
  flex: 0 0 50% !important;
  max-width: 50% !important;
  padding: 0 10px 5px 10px !important;
}

/* Hide extra Woo elements */
.single-product.postid-178 .dive-slate-custom-layout .woocommerce-tabs,
.single-product.postid-178 .dive-slate-custom-layout .woocommerce-Tabs-panel {
  display: none !important;
}

/* Give the configurator side more breathing room */
.single-product.postid-178 #dive-slate-configurator {
    padding-left: 25px;
    padding-right: 25px;
}

/* Mobile adjustment */
@media (max-width: 768px) {
  .single-product.postid-178 .dive-slate-custom-layout .product > * {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    padding: 0 10px !important;
  }
}

/* Fix unwanted gap below header on product pages */
#top-bar.container.has-no-content {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Move product title down slightly */
.single-product .summary .product_title {
    margin-top: 14px !important;
}

/* Reduce product price size */
.single-product .summary .price,
.single-product .summary .price * {
    font-size: 2.0rem !important;
    line-height: 1.2 !important;
}

/* Hide WooCommerce category and brand meta on product page */
.single-product .product_meta {
    display: none !important;
}

/* Hide WooCommerce description tab and title */
/* Hide tab navigation bar */
.single-product .woocommerce-tabs .wc-tabs {
    display: none !important;
}

/* Hide ONLY tab panel headings (Description, Additional Info, Reviews) */
/* Hide tab panel headings (Description / Additional Info / Reviews) */
.single-product .woocommerce-Tabs-panel--description > h2,
.single-product .woocommerce-Tabs-panel--additional_information > h2,
.single-product .woocommerce-Tabs-panel--reviews > h2 {
  display: none !important;
}

/* ALWAYS show + color section headings like Related / Upsells / Cross-sells */
.single-product section.related.products > h2,
.single-product section.upsells.products > h2,
.single-product section.cross-sells > h2 {
  display: block !important;
  color: #1A2B5E !important; /* force override */
}

/* (optional) if theme is also nuking the heading background/spacing */
.single-product section.related.products > h2 {
  background: transparent !important;
}


/* Desktop: move long description below gallery + summary */
@media (min-width: 1024px) {
    #tab-description {
        display: block !important;
        width: 100% !important;
        max-width: 1200px !important;
        margin: 25px auto 0 auto !important;
        padding: 0 20px !important;
    }

    .woocommerce-tabs,
    .woocommerce-tabs .panel {
        display: block !important;
        border: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .single-product .entry-content {
        margin-top: 0 !important;
    }
}

/* Mobile: show long description under short summary */
@media (max-width: 1023px) {
    #tab-description {
        display: block !important;
        margin-top: 10px !important;
        padding: 0 10px !important;
    }
}

/* Reduce big gap between short description and long description on MOBILE only */
@media (max-width: 1023px) {
    /* Remove extra theme margins on summary */
    .single-product.postid-178 .summary {
        margin-bottom: 10px !important;
    }

    /* Reduce top margin on the custom long description */
    .single-product.postid-178 .dive-slate-long-description {
        margin-top: 10px !important;
    }

    /* Optional: tighten paragraph spacing inside long description */
    .single-product.postid-178 .dive-slate-long-description p {
        margin-top: 0.5em;
        margin-bottom: 0.5em;
    }
}

/* === PRODUCT PAGE HEADER FIXES — DO NOT MIX WITH CTA === */

/* 1. Remove top-bar extra spacing only on product pages */
body.single-product #top-bar-wrap,
body.single-product #top-bar,
body.single-product #top-bar-inner {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* 2. Remove Gutenberg block-group margins from the top-bar CTA wrapper */
body.single-product #topbar-template .wp-block-group.dive-icon,
body.single-product #topbar-template .wp-block-group.dive-icon .wp-block-group__inner-container {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}


/* =========================================================
   HEADER — DESKTOP/TABLET BASE (avoid 960px dead zone)
   CLEANED BASELINE — no layout model conflicts
   ========================================================= */

@media (min-width: 960px) {

  #site-header-inner {
    display: block !important;

    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;

    position: relative !important;

    padding-left: 20px !important;
    padding-right: 20px !important;

    box-sizing: border-box !important;
  }

  #site-header-inner.container {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #site-logo,
  #site-logo-inner {
    padding-left: 0px !important;
    padding-right: 20px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }

  /* Prevent nav wrapper from exceeding container bounds */
  #site-navigation-wrap {
    max-width: calc(100% - 200px) !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

}


/* =========================================================
   HEADER MIDRANGE — logo drift fix (kept intact)
   ========================================================= */

@media (min-width: 960px) and (max-width: 1240px) {

  #site-logo {
    padding-left: 20px !important;
  }

}


/* =========================================================
   NAV — minimal safe global rule (kept intact)
   ========================================================= */

#site-navigation-wrap {
  overflow: visible !important;
}


/* =========================================================
   DEBUG OUTLINES — visual diagnostics
   (un-comment to display header outlines for containers)
   ========================================================= 

@media (min-width: 960px) {

  #site-header-inner {
    outline: 3px solid red !important;
  }

  #site-logo {
    outline: 3px solid blue !important;
  }

  #site-navigation-wrap {
    outline: 3px solid lime !important;
  }

  #site-navigation {
    outline: 3px solid orange !important;
  }

  #site-navigation ul.dropdown-menu.sf-menu {
    outline: 3px solid purple !important;
  }

}
*/
/* =========================================================
   HEADER — DESKTOP: hard-allocate nav width (stop overflow)
   ========================================================= */
@media (min-width: 960px) {

  /* Ensure container is the containing block */
  #site-header-inner {
    position: relative !important;
  }

  /* Hard cap the nav wrapper to the remaining header width */
  #site-header-inner #site-navigation-wrap {
    width: calc(100% - 200px) !important;   /* 200px = logo budget */
    max-width: calc(100% - 200px) !important;
    box-sizing: border-box !important;

    /* Neutralize any OceanWP positioning that can bypass width negotiation */
    left: auto !important;
    right: 0 !important;
  }

}

/* ========================================================================== */
/* 5. CONFIGURATOR UI — CONSOLIDATED + CLEANED                                */
/* ========================================================================== */

/* Main Configurator Container */
.postid-178 .dive-slate-configurator,
.dive-slate-configurator {
  border: 1px solid #27AAE1 !important;
  border-radius: 3px !important;
  box-shadow: 10px 10px 10px rgba(39,170,225,0.2) !important;
  padding: 8px !important;
  background: #ffffff !important;
  margin: 10px 0 !important;
  max-width: 100%;
  box-sizing: border-box;
}

/* Accordion Header */
.accordion-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #f9fcff;
  border: 1px solid #27AAE1;
  border-radius: 6px;
  padding: 10px 12px;
  margin-bottom: 10px;
  cursor: pointer;
  transition: background 0.2s ease, box-shadow 0.2s ease;
  width: 100%;
  box-sizing: border-box;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.accordion-header:hover {
  background: #eef7ff;
}
.accordion-header .title {
  font-weight: 600;
  font-size: 1.2rem;
  color: #0d1b2a;
}
.chevron {
  font-size: 1.1em;
  color: #27AAE1;
  transition: transform 0.2s ease;
}
.accordion-header.open .chevron {
  transform: rotate(180deg);
}

/* 5.x FIX ACCORDION OPEN/CLOSE BEHAVIOR */
.single-product.postid-178 .dive-slate-configurator .accordion-content {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.25s ease;
}

/* When JS adds class .open to the header, open the content */
.single-product.postid-178 .dive-slate-configurator .accordion-header.open + .accordion-content {
    max-height: 2000px;
}

/* Inputs */
.config-select,
input[type="text"],
input[type="file"],
textarea {
  width: 100%;
  padding: 10px;
  margin-top: 5px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 14px;
}

/* Key legend */
.config-key {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 6px;
}
.key-item {
  display: flex;
  align-items: center;
}
.key-box {
  width: 18px;
  height: 12px;
  border: 1px solid #333;
  border-radius: 2px;
  margin-right: 6px;
}
.key-box.cm {
  background-color: #1DBA4A;
  border-color: #1DBA4A;
}
.key-box.halfcm {
  background-color: #D93A3A;
  border-color: #D93A3A;
}

/* Force prices to align left inside their table cells */
.postid-178 .edge-table td {
    text-align: left !important;
}

/* Small padding to align price text under labels */
.postid-178 .edge-table td .price {
    padding-left: 4px !important;
    display: inline-block;
}

/* Clean, consistent alignment for accordion headers */
.dive-slate-configurator .accordion-header {
    display: grid !important;
    grid-template-columns: 1fr auto 30px;
    align-items: center !important;
    padding-right: 12px !important;
}

/* Title always left */
.dive-slate-configurator .accordion-header .title {
    text-align: left !important;
}

/* "Open" text centered in its column */
.dive-slate-configurator .accordion-header .open-text {
    text-align: center !important;
    padding: 0 10px !important;
    white-space: nowrap !important;
    font-size: 1rem !important;
}

/* Chevron aligned right */
.dive-slate-configurator .accordion-header .chevron {
    justify-self: end !important;
}
#config-notes {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    white-space: pre-wrap !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    resize: vertical;
}

#summary-notes {
    white-space: pre-wrap !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    max-width: 100%;
}

.summary-section {
    overflow: hidden;
}

.summary-section p {
    white-space: pre-wrap !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
}

.wc-block-components-product-details__value {
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    max-width: 100%;
}

.config-summary-grid {
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
}

.summary-section {
    min-width: 0;
}


#notes-char-count {
    font-size: 12px;
    opacity: 0.7;
    margin-top: 4px;
}

/* engraving text box */
.engraving-textbox {
    width: 100%;
    padding: 10px;
    margin-top: 0;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 14px;
    resize: vertical;
}

/* Edge Table — fixed column widths to prevent ½ CM squeeze on any screen */
.edge-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: 1.1rem;
}
.edge-table td {
  width: 25%;
  padding: 4px 2px;
  text-align: center;
  box-sizing: border-box;
}
.edge-title,
.select-label {
  font-weight: 600;
  color: #1a2b5e;
  font-size: 1.1rem;
  width: 35%;
}
.option-col {
  width: 21.67%;
}
.option-col label {
  display: flex;
  align-items: center;
  font-size: 1.15rem;
}
.option-col input[type="radio"] {
  margin-right: 4px;
  width: 18px;
  height: 18px;
}

/* Upload Info */
.upload-info {
  font-size: 12px;
  color: #666;
  margin-top: 5px;
  font-style: italic;
}

/* ================================
   IMAGE + OVERLAY RESPONSIVE SYSTEM
   ================================ */

.config-image-wrapper {
  position: relative;
  width: 100%;
  margin: 0 auto;
  aspect-ratio: 3 / 2;
}

.config-image-wrapper img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.config-image-wrapper svg.config-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none;
  overflow: visible;
}

/* ========================================================================== */
/* MOBILE — CONSOLIDATED                                                      */
/* ========================================================================== */

@media (max-width: 768px) {

  .dive-slate-configurator {
    padding: 12px !important;
    overflow-x: hidden;
    max-width: 100%;
    box-sizing: border-box;
  }

  /* SVG Overlays — Prevent Right Cutoff */
  .slate-overlay-container,
  #side1-overlay,
  #side2-overlay,
  #centerboard-overlay {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .slate-overlay-container svg {
    width: 100% !important;
    height: auto !important;
  }

  /* Accordion Headers — Full Width */
  .accordion-header {
    padding: 10px 12px !important;
    font-size: 1rem !important;
  }

  .accordion-header .title {
    font-size: 1rem !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* Summary Grid — Stack Vertically */
  .config-summary-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .summary-section ul {
    padding-left: 0 !important;
  }

  .summary-section li {
    font-size: 0.9rem !important;
    padding: 4px 0 !important;
  }

  .edge-option {
    margin-bottom: 12px;
  }

  .edge-table td {
    padding: 3px 4px;
  }

  .edge-title {
    width: 35%;
    font-size: 0.9rem;
  }

  .select-label {
    width: 35%;
    font-size: 0.8em;
  }

  .option-col {
    width: 21.67%;
  }

  .option-col label {
    font-size: 0.85rem;
  }

  .option-col input[type="radio"] {
    margin-right: 2px;
  }

  /* KEY LEGEND — STACK ON MOBILE */
  .config-key {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }
}

/* Ultra-small screens — full stack fallback */
@media (max-width: 360px) {
  .edge-table {
    font-size: 0.8rem;
  }

  .edge-title,
  .select-label {
    width: 40%;
    text-align: center;
    padding-right: 0;
  }

  .option-col {
    width: 20%;
  }

  .price-col,
  .option-col label {
    font-size: 0.95rem;
    padding-left: 0;
    padding-right: 1px;
  }

  .blank-price {
    margin-left: -1px;
  }

  .option-col input[type="radio"] {
    width: 12px;
    height: 12px;
  }
}

/* 5.1 Engraving GUI Items */
#engraving-options .engraving-side-block {
  margin: 12px 0;
  padding: 12px;
  border: 1px solid #ddd;
  background: #fff;
  border-radius: 6px;
}

#engraving-options .engraving-side-block h4 {
  margin: 0 0 12px;
  font-weight: 600;
  color: #1a2b5e !important;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

#engraving-options .engraving-edge-options {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 8px 0;
}

#engraving-options .engrave-edge-option {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 1rem;
  color: #333;
}

#engraving-options .engrave-edge-option input[type="radio"] {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: #27AAE1;
}

#engraving-options .char-count-above {
  margin: 0 0 0px !important;
  font-size: 0.9rem;
  color: #333;
  font-weight: 500;
  text-align: left;
}

#engraving-options .engraving-textbox {
  width: 100%;
  padding: 10px;
  margin-top: 0;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 14px;
  resize: vertical;
}

#engraving-options .engraving-bottom-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 6px;
  font-size: 0.9rem;
  color: #444;
}

#engraving-options .clear-engrave-btn {
  width: 20px;
  height: 20px;
  background: #d33;
  color: white;
  border: none;
  border-radius: 50%;
  font-size: 12px;
  font-weight: bold;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

#engraving-options .engraving-subtotal-row {
  margin-top: 12px;
  font-weight: 600;
  color: #1a2b5e;
  font-size: 1rem;
}

#engraving-options .engraving-warning {
  margin: 8px 0;
  padding: 8px;
  background: #ffe6e6;
  border-left: 3px solid #d33;
  color: #900;
  font-size: 0.9rem;
}

/* 5.x – HARD FIX: prevent configurator from becoming a flex/grid column under 1024px */
@media (max-width: 1023px) {

    /* Break out of ALL possible parent flex/grid containers */
    .single-product.postid-178 #product-178,
    .single-product.postid-178 #product-178 .entry,
    .single-product.postid-178 #product-178 .entry-content,
    .single-product.postid-178 #product-178 .product,
    .single-product.postid-178 #product-178 .summary,
    .single-product.postid-178 .dive-slate-configurator {
        display: block !important;
        flex: none !important;
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        clear: both !important;
    }

    /* Ensure accordion headers do NOT become side columns */
    .single-product.postid-178 .dive-slate-configurator .accordion-header {
        display: flex !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        width: 100% !important;
        float: none !important;
    }

    /* Accordion content must stay directly below header */
    .single-product.postid-178 .dive-slate-configurator .accordion-content {
        display: block !important;
        width: 100% !important;
        float: none !important;
        max-height: 0;
        overflow: hidden;
    }

    .single-product.postid-178 .dive-slate-configurator .accordion-header.open + .accordion-content {
        max-height: 2000px;
    }
}

/* Completely hide the default WooCommerce Description panel – we render our own */
.single-product.postid-178 #tab-description {
    display: none !important;
}

/* Remove extra spacing below gallery on product 178 */
.single-product.postid-178 #wpgs-gallery,
.single-product.postid-178 .wcgs-woocommerce-product-gallery,
.single-product.postid-178 #wpgs-gallery .wcgs-carousel,
.single-product.postid-178 #wpgs-gallery .wcgs-border-bottom {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* ========================================================================== */
/* 5.2 MOBILE ONLY: FINAL iOS SAFARI FIX — ½ CM COLUMN NEVER SQUEEZED      */
/* ========================================================================== */

@media (max-width: 768px) {
    .edge-table td {
        padding: 6px 4px !important;
    }
    .edge-table .select-label {
        padding-left: 3px !important;
        font-size: 0.92rem !important;
    }
    .edge-table .option-col {
        padding: 0 2px !important;
    }
}

/* ========================================================================== */
/* 6. OPTION PRICES — INLINE, DYNAMIC, CLEAN                                  */
/* ========================================================================== */

/* Hide actual radio input */
.edge-buttons input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

/* Centerboard: show the actual radios (override the generic .edge-buttons rule) */
#centerboard-section .edge-buttons input[type="radio"] {
  position: static;
  opacity: 1;
  width: auto;
  height: auto;
}

#centerboard-section .edge-buttons label {
  cursor: default;
}

.center-extension {
  fill: #ffffff;
  opacity: 1;
}

/* Selected state */
.edge-buttons input[type="radio"]:checked + span {
  background: #0073aa !important;
  color: white !important;
  border-color: #0073aa !important;
}

/* Price inside the "circle" */
.edge-buttons .price {
  font-weight: 600;
  color: #0073aa;
  font-size: 0.88rem;
  margin-left: 6px;
}

/* Selected price color */
.edge-buttons input[type="radio"]:checked + span .price {
  color: white !important;
}

/* Blank = full price (teal), others = +add-on (blue) */
.edge-buttons input[value="blank"] + span .price {
  color: #27AAE1;
}
.edge-buttons input[value="blank"]:checked + span .price {
  color: white;
}

/* Mobile: Prevent wrap issues */
@media (max-width: 480px) {
  .edge-buttons label {
    font-size: 0.9rem;
    padding: 5px 8px;
    margin: 3px 4px 3px 0;
  }
  .edge-buttons .price {
    font-size: 0.82rem;
    margin-left: 4px;
  }
}

/* ========================================================================== */
/* 7. CONFIGURATOR SUMMARY SECTION                                            */
/* ========================================================================== */
.postid-178 .config-summary-heading {
  margin-top: 20px;
  margin-bottom: 8px;
  font-size: 1.2rem;
  font-weight: 600;
  color: #1A2B5E;
}

.dive-slate-configurator .config-summary-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 20px;
}

.dive-slate-configurator .summary-section {
  background-color: #f9fcff;
  border: 1px solid #3c7efc;
  border-radius: 3px;
  padding: 12px 16px;
}

.dive-slate-configurator .summary-section h4 {
  font-weight: 600;
  color: #1b2e6f;
  margin-bottom: 6px;
}

.dive-slate-configurator .summary-section ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.dive-slate-configurator .summary-section li {
  font-size: 0.95em;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px dashed #d2def8;
  padding: 3px 0;
}

.dive-slate-configurator .summary-section li span {
  font-weight: 500;
  color: #333;
}

/* Print Side Titles */
.postid-178 .print-side-title {
    color: #1A2B5E !important;
}

/* Print Size Active State */
#print-sizes {
  margin: 15px 0 10px;
  line-height: 1.5;
}

#print-sizes .print-size-line {
  margin: 3px 0;
  color: #666;
  font-weight: normal;
  transition: all 0.2s ease;
}

#print-sizes .print-size-line.active {
  color: #000;
  font-weight: bold;
}

#print-sizes .print-size-line strong {
  color: inherit;
  font-weight: inherit;
}

/* RESET CONFIGURATOR BUTTON */
.reset-configurator-btn {
    margin-top: 8px;
    margin-bottom: 14px;
    padding: 8px 16px;
    background: #d33;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s ease;
}

.reset-configurator-btn:hover {
    background: #b00;
}

/* ========================================================================== */
/* 8. MOBILE FIXES — CONFIGURATOR OVERFLOW & TRUNCATION                        */
/* ========================================================================== */

@media (max-width: 768px) {
  .dive-slate-configurator {
    padding: 12px !important;
    overflow-x: hidden;
    max-width: 100%;
    box-sizing: border-box;
  }

  /* SVG Overlays — Prevent Right Cutoff */
  .slate-overlay-container,
  #side1-overlay,
  #side2-overlay,
  #centerboard-overlay {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .slate-overlay-container svg {
    width: 100% !important;
    height: auto !important;
  }

  /* Accordion Headers — Full Width */
  .accordion-header {
    padding: 10px 12px !important;
    font-size: 1rem !important;
  }

  .accordion-header .title {
    font-size: 1rem !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* Summary Grid — Stack Vertically */
  .config-summary-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .summary-section ul {
    padding-left: 0 !important;
  }

  .summary-section li {
    font-size: 0.9rem !important;
    padding: 4px 0 !important;
  }

  .edge-option {
    margin-bottom: 12px;
  }

  .edge-table td {
    padding: 3px 4px;
  }

  .edge-title {
    width: 35%;
    font-size: 0.9rem;
  }

  .select-label {
    width: 35%;
    font-size: 0.8em;
  }

  .option-col {
    width: 21.67%;
  }

  .option-col label {
    font-size: 0.85rem;
  }

  .option-col input[type="radio"] {
    margin-right: 2px;
  }

  /* KEY LEGEND — STACK ON MOBILE */
  .config-key {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }
}

/* Ultra-small screens — full stack fallback */
@media (max-width: 360px) {
  .edge-table {
    font-size: 0.8rem;
  }

  .edge-title,
  .select-label {
    width: 40%;
    text-align: center;
    padding-right: 0;
  }

  .option-col {
    width: 20%;
  }

  .price-col,
  .option-col label {
    font-size: 0.95rem;
    padding-left: 0;
    padding-right: 1px;
  }

  .blank-price {
    margin-left: -1px;
  }

  .option-col input[type="radio"] {
    width: 12px;
    height: 12px;
  }
}

/* ========================================================================== */
/* 9. FOOTER + RESPONSIVE / UTILITY                                           */
/* ========================================================================== */

#footer-widgets .footer-widgets-inner {
  display: block !important;
  padding: 30px !important;
}

#footer-widgets .footer-box {
  display: inline-block !important;
  vertical-align: top !important;
  width: 25% !important;
  padding: 0 15px !important;
}

#footer-widgets .footer-box.col-2 {
  width: 70% !important;
}

.footer-map iframe {
  width: 100% !important;
  height: 250px !important;
  border-radius: 6px !important;
  border: 0 !important;
}

@media (max-width: 768px) {
  #footer-widgets .footer-box {
    display: block !important;
    width: 100% !important;
    padding-bottom: 20px !important;
  }
}

/* ========================================================================== */
/* 10. SINGLE PRODUCT TITLE OVERRIDE                                          */
/* ========================================================================== */

.single-product .summary .product_title {
  color: #1a2b5e !important;
  text-shadow: none !important;
}

@media (max-width: 768px) {
  .single-product .summary .product_title {
    color: #1a2b5e !important;
    font-size: 1.5rem !important;
  }
}

/* Hide ONLY the long product description in Cart Block, keep variation attributes/options */
.wc-block-cart-item__product .wc-block-components-product-metadata__description,
.wc-block-components-product-metadata .wc-block-components-product-description,
.wc-block-cart-items__row .wc-block-components-product-metadata > p,
.wc-block-cart-item__description,
.wc-block-components-product-metadata__description {
    display: none !important;
}

/* ========================================================================== */
/* 11. CHECKOUT PAGE LEVEL STYLES                                             */
/* ========================================================================== */

.wc-block-checkout .wc-block-components-checkout-step__heading h2 {
    color: #1a2b5e;
}
/* ============================================================
   CHECKOUT — coupon toggle container (card style)
   ============================================================ */

body.woocommerce-checkout #order_review .woocommerce-form-coupon-toggle {

    background: rgba(255,255,255,0.06) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    border-radius: 3px !important;

    padding: 12px 14px !important;
    margin: 14px 0 !important;

}

/* Coupon notice text */
body.woocommerce-checkout #order_review .woocommerce-form-coupon-toggle .woocommerce-info {

    color: #495057 !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;

}

/* Coupon link */
body.woocommerce-checkout #order_review .woocommerce-form-coupon-toggle .showcoupon {

    color: #495057 !important;
    text-decoration: none !important;
    font-weight: 600 !important;

}
.woocommerce-shipping-calculator a.shipping-calculator-button,
.woocommerce-shipping-calculator a.shipping-calculator-button:visited,
.woocommerce-shipping-calculator a.shipping-calculator-button:hover {
    color: #1A2B5E !important;
    text-decoration: none !important;
}
/* ============================================================
   CHECKOUT — coupon input width adjustment (preserve centering)
   ============================================================ */

body.woocommerce-checkout form.checkout_coupon .form-row-first {
    max-width: 260px !important;
    width: 260px !important;
}

/* keep coupon button from floating right */
body.woocommerce-checkout form.checkout_coupon .form-row-last {
    float: left !important;
    margin-left: 10px !important;
}

body.woocommerce-checkout form.checkout_coupon .form-row-last button.button {

    height: 100% !important;
    min-height: 40px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding-top: 0 !important;
    padding-bottom: 0 !important;
    box-sizing: border-box !important;

    line-height: 1 !important; /* ADD THIS */
}

body.woocommerce-checkout form.checkout_coupon .form-row-last button.button {

    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;

    line-height: 40px !important;

    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
/* ========================================================================== */
/* OCEAN CNC — CHECKOUT LOGIN SECTION (PRODUCTION-GRADE CARD SYSTEM)        */
/* Toggle bar translucent, login form matches checkout card architecture    */
/* ========================================================================== */

/* Returning customer toggle bar (KEEP TRANSLUCENT)                         */

body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info {

    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(255,255,255,0.18) !important;
    border-radius: 3px !important;

    padding: 14px 18px !important;
    margin-bottom: 18px !important;

    color: #1A2B5E !important;

}

body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info a {

    color: #1A2B5E !important;
    text-decoration: none !important;

}

/* Checkout — login dropdown panel matches card system */
body.woocommerce-checkout form.woocommerce-form.woocommerce-form-login,
body.woocommerce-checkout form.woocommerce-form-login,
body.woocommerce-checkout .woocommerce-form.woocommerce-form-login {
    background: #F8F9FA !important;

    border: 1px solid #27AAE1 !important;
    border-radius: 3px !important;

    box-shadow: 0 6px 16px rgba(39,170,225,0.16) !important;
}

/* -------------------------------------------------------------------------- */
/* LOGIN FORM CONTAINER — MATCH CHECKOUT WHITE CARD SYSTEM                  */
/* -------------------------------------------------------------------------- */

body.woocommerce-checkout form.woocommerce-form-login {

    background: #F8F9FA !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 3px !important;

    box-shadow: 0 4px 16px rgba(0,0,0,0.08) !important;

    padding: 24px !important;
    margin-bottom: 32px !important;

    max-width: 520px !important;

}


/* -------------------------------------------------------------------------- */
/* LOGIN FORM BODY TEXT — USE SITE DEFAULT BODY COLOR                       */
/* -------------------------------------------------------------------------- */

body.woocommerce-checkout form.woocommerce-form-login p {

    color: inherit !important;

}


/* -------------------------------------------------------------------------- */
/* LOGIN FORM LABELS — MATCH OTHER CARD HEADERS (DARK INDIGO)               */
/* -------------------------------------------------------------------------- */

body.woocommerce-checkout form.woocommerce-form-login label {

    color: #1A2B5E !important;
    font-weight: 600 !important;

}


/* Username / Password / Remember me text */
body.woocommerce-checkout form.woocommerce-form-login .woocommerce-form-login__rememberme span {

    color: #1A2B5E !important;
    font-weight: 600 !important;

}


/* -------------------------------------------------------------------------- */
/* INPUT FIELDS — MATCH CHECKOUT INPUT STYLE                                 */
/* -------------------------------------------------------------------------- */

body.woocommerce-checkout form.woocommerce-form-login input.input-text {

    background: #ffffff !important;
    border: 1px solid #d6d6d6 !important;
    border-radius: 3px !important;

    color: #1A2B5E !important;

}


/* -------------------------------------------------------------------------- */
/* LOST PASSWORD LINK — USE NORMAL BODY COLOR (NOT WHITE)                   */
/* -------------------------------------------------------------------------- */

body.woocommerce-checkout form.woocommerce-form-login .lost_password a {

    color: inherit !important;
    text-decoration: none !important;

}

body.woocommerce-checkout form.woocommerce-form-login .lost_password a:hover {

    text-decoration: underline !important;

}

/* ========================================================================== */
/* OCEAN CNC — CART + CHECKOUT + THANK YOU: White inner cards ONLY           */
/* ========================================================================== */

/* White readable card around actual content blocks */
body.woocommerce-order-received .woocommerce-order,
body.woocommerce-order-received .woocommerce-thankyou-order-details,
body.woocommerce-order-received .woocommerce-customer-details,
body.woocommerce-order-received .woocommerce-order-overview,
body.woocommerce-order-received table.shop_table,
body.woocommerce-checkout .woocommerce-checkout-review-order-table,
body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2 {
    background: #F8F9FA !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 3px !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.08) !important;
    padding: 24px !important;
    margin: 20px auto 32px !important;
    max-width: 1100px !important;
}

/* Outer white container — CHECKOUT (classic) */
body.woocommerce-checkout .woocommerce {
    background: #F8F9FA !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 3px !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.08) !important;
    padding: 24px !important;
    margin-bottom: 32px !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* CHECKOUT — blue outline + glow (visual only) */

body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2 {

    border: 1px solid #27AAE1 !important;
    box-shadow: 0 6px 16px rgba(39,170,225,0.16) !important;
    border-radius: 3px !important;

}

/* Ensure RIGHT checkout column card radius matches configurator standard */
body.woocommerce-checkout #order_review {
    border-radius: 3px !important;
}

/* Match right column card radius to configurator standard */
body.woocommerce-checkout #order_review {
    border-radius: 3px !important;
    overflow: hidden !important;
}

/* Light table borders inside white cards */
.woocommerce-cart table.shop_table,
.woocommerce-checkout .woocommerce-checkout-review-order-table,
.woocommerce-order-received table.shop_table {
    border-collapse: collapse !important;
}

.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td,
.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td,
.woocommerce-order-received table.shop_table th,
.woocommerce-order-received table.shop_table td {
    border: 1px solid #eee !important;
    padding: 12px 16px !important;
}

/* ========================================================================== */
/* OCEAN CNC — CHECKOUT FORM FIELD SYSTEM (MATCH CONFIGURATOR UX)           */
/* Forces white inputs + configurator-consistent borders + hover highlight  */
/* ========================================================================== */


/* -------------------------------------------------------------------------- */
/* BASE INPUT FIELD APPEARANCE                                               */
/* -------------------------------------------------------------------------- */

body.woocommerce-checkout input.input-text,
body.woocommerce-checkout select,
body.woocommerce-checkout textarea,
body.woocommerce-checkout .select2-container .select2-selection--single {

    background: #ffffff !important;
    border: 1px solid #ccc !important;
    border-radius: 3px !important;

    color: #1A2B5E !important;

    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;

}


/* Fix Select2 dropdown (Country / State selectors) */
body.woocommerce-checkout .select2-container .select2-selection--single {

    height: auto !important;
    padding: 6px 8px !important;
    display: flex !important;
    align-items: center !important;

}


/* -------------------------------------------------------------------------- */
/* HOVER STATE — MATCH CONFIGURATOR ACCORDION FEEL                          */
/* -------------------------------------------------------------------------- */

body.woocommerce-checkout input.input-text:hover,
body.woocommerce-checkout select:hover,
body.woocommerce-checkout textarea:hover,
body.woocommerce-checkout .select2-container .select2-selection--single:hover {

    border-color: #27AAE1 !important;
    background: #ffffff !important;

}


/* -------------------------------------------------------------------------- */
/* FOCUS STATE — MATCH CONFIGURATOR ACTIVE INTERACTION                      */
/* -------------------------------------------------------------------------- */

body.woocommerce-checkout input.input-text:focus,
body.woocommerce-checkout select:focus,
body.woocommerce-checkout textarea:focus,
body.woocommerce-checkout .select2-container--focus .select2-selection,
body.woocommerce-checkout .select2-container--open .select2-selection {

    border-color: #27AAE1 !important;

    box-shadow: 0 0 0 2px rgba(39,170,225,0.15) !important;

    outline: none !important;
    background: #ffffff !important;

}


/* -------------------------------------------------------------------------- */
/* SELECT DROPDOWN ARROW AREA FIX                                            */
/* -------------------------------------------------------------------------- */

body.woocommerce-checkout .select2-container .select2-selection__arrow {

    height: 100% !important;

}


/* -------------------------------------------------------------------------- */
/* TEXTAREA SPECIFIC FIX                                                     */
/* -------------------------------------------------------------------------- */

body.woocommerce-checkout textarea {

    min-height: 100px !important;
    resize: vertical !important;

}

/* ========================================================================== */
/* OCEAN CNC — CHECKOUT STRUCTURE                                            */
/* ========================================================================== */

/* Remove OceanWP excess spacing under YOUR ORDER heading */
body.woocommerce-checkout #order_review_heading {

    margin-bottom: 12px !important;

}

/* Remove unwanted top spacing on order review card */
body.woocommerce-checkout #order_review {

    margin-top: 0 !important;

}

/* YOUR INFO external column header */
body.woocommerce-checkout #customer_details {

    position: relative;

}

body.woocommerce-checkout #customer_details::before {

    content: "YOUR INFO";
    display: block;

    color: #1A2B5E;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;

    margin-bottom: 6px;

}

/* Checkout right column heading */

body.woocommerce-checkout #order_review_heading {

    color: #1A2B5E !important;

}

/* CHECKOUT canvas container */

body.woocommerce-checkout .woocommerce form.checkout {

  background: #F8F9FA;
  border-radius: 3px;

}

/* ========================================================================== */
/* MASTER ALIGNMENT FIX — SINGLE SOURCE OF TRUTH                             */
/* Moves RIGHT column (header + card) to match LEFT column baseline         */
/* ========================================================================== */

body.woocommerce-checkout form.checkout #order_review_heading,
body.woocommerce-checkout form.checkout #order_review {

    position: relative;
    top: 4px;

}

/* ========================================================================== */
/* Prevent checkout card styles from breaking 2-column layout               */
/* ========================================================================== */

body.woocommerce-checkout form.checkout #customer_details,
body.woocommerce-checkout form.checkout #order_review,
body.woocommerce-checkout form.checkout .woocommerce-checkout-review-order-table {

    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;

}

/* Remove extra top-gap from review table */
body.woocommerce-checkout form.checkout .woocommerce-checkout-review-order-table {

    margin-top: 0 !important;

}

/* ========================================================================== */
/* Match PRODUCT / SUBTOTAL header styling to Billing Details               */
/* ========================================================================== */

body.woocommerce-checkout .woocommerce-checkout-review-order-table th {

    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;

    color: #1A2B5E !important;

}

/* ========================================================================== */
/* Privacy policy readability (checkout only)                               */
/* ========================================================================== */

body.woocommerce-checkout .woocommerce-privacy-policy-text {

    color: #ffffff !important;
    margin-top: 20px;

}

body.woocommerce-checkout .woocommerce-privacy-policy-text a {

    color: #ffffff !important;

}
/* ==============================================================================*/
/* OCEAN CNC — INNER CARD HEADER COLOR ONLY (NOT OUTER COLUMN HEADERS/White text)*/
/* ==============================================================================*/

/* Checkout — Billing Details */
body.woocommerce-checkout #customer_details h3 {
    color: #1A2B5E !important;
}

/* Checkout — Product / Subtotal table headers */
body.woocommerce-checkout .woocommerce-checkout-review-order-table th {
    color: #1A2B5E !important;
    font-weight: 600 !important;
}

/* Cart page headers */
body.woocommerce-cart .shop_table th,
body.woocommerce-cart .cart_totals h2 {
    color: #1A2B5E !important;
}

/* Order received page headers */
body.woocommerce-order-received .shop_table th,
body.woocommerce-order-received .woocommerce-column__title,
body.woocommerce-order-received .woocommerce-order-details__title {
    color: #1A2B5E !important;
}

/* Mobile compacting */
@media (max-width: 768px) {
    body.woocommerce-order-received .woocommerce-order,
    body.woocommerce-order-received .woocommerce-thankyou-order-details {
        padding: 16px !important;
        margin: 15px 10px 24px !important;
    }

    .woocommerce-cart table.shop_table th,
    .woocommerce-cart table.shop_table td,
    .woocommerce-checkout .woocommerce-checkout-review-order-table th,
    .woocommerce-checkout .woocommerce-checkout-review-order-table td,
    .woocommerce-order-received table.shop_table th,
    .woocommerce-order-received table.shop_table td {
        padding: 10px 12px !important;
    }
}

body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title,
body.woocommerce-order-received h2.woocommerce-order-overview__order,
body.woocommerce-order-received .woocommerce-order-overview li strong,
body.woocommerce-order-received h2 {
    color: #1A2B5E !important;
    font-weight: 600 !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__title,
body.woocommerce-cart .wp-block-heading,
body.woocommerce-cart h2,
body.woocommerce-cart .wc-block-components-totals-wrapper h2,
body.woocommerce-cart .wc-block-cart__totals-title {
    color: #1A2B5E !important;
    font-weight: 600 !important;
}
/* Order received — product name ONLY (no global bleed) */
body.woocommerce-order-received 
td.woocommerce-table__product-name.product-name > a {

    color: #1A2B5E !important;
    font-weight: 600 !important;      /* semi-bold (cleaner than 700) */
    font-size: 1.05em !important;     /* subtle increase, won’t break layout */
    line-height: 1.3;
    text-decoration: none !important;

}

body.woocommerce-order-received 
td.woocommerce-table__product-name.product-name > a:hover {

    text-decoration: underline !important;

}
/* ========================================================================== */
/* 11.5 CLASSIC CART PAGE — MATCH CHECKOUT CARD STYLE                         */
/* ========================================================================== */

/* Outer white container */
body.woocommerce-cart .woocommerce {
    background: #F8F9FA !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 3px !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.08) !important;
    padding: 24px !important;
    margin-bottom: 32px !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Layout wrappers — no borders */
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals,
body.woocommerce-checkout .woocommerce-checkout,
body.woocommerce-checkout form.checkout {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Cart table card */
body.woocommerce-cart table.shop_table.cart {
    background: #F8F9FA !important;

    border: 1px solid #27AAE1 !important;
    border-radius: 3px !important;

    border-collapse: separate !important;
    border-spacing: 0 !important;

    box-shadow: 0 6px 16px rgba(39,170,225,0.16) !important;

    padding: 20px !important;
    margin-bottom: 24px !important;
}
/* Cart product title links (harden against Woo updates) */
body.woocommerce-cart table.shop_table.cart td.product-name a {
    color: #1A2B5E !important;
}
body.woocommerce-cart table.shop_table.cart td.product-name a:hover {
    color: #27AAE1 !important;
}

/* Cart remove item button */
body.woocommerce-cart table.shop_table.cart a.remove {
    color: #1A2B5E !important;
}

body.woocommerce-cart table.shop_table.cart a.remove:hover {
    color: #ff0000 !important;
}

/* Cart totals card */
body.woocommerce-cart .cart-collaterals .cart_totals {
    background: #F8F9FA !important;

    border: 1px solid #27AAE1 !important;
    border-radius: 3px !important;

    box-shadow: 0 6px 16px rgba(39,170,225,0.16) !important;
}

/* Checkout cards */
body.woocommerce-checkout table.shop_table,
body.woocommerce-checkout .woocommerce-checkout-review-order,
body.woocommerce-checkout #customer_details > div {
    background: #F8F9FA !important;

    border: 1px solid #27AAE1 !important;
    border-radius: 3px !important;

    box-shadow: 0 6px 16px rgba(39,170,225,0.16) !important;
}

/* ========================================================================== */
/* CART + CHECKOUT — Thumbnail sizing (restore to 120px)                      */
/* Center image INSIDE existing cell (no container edits)                     */
/* ========================================================================== */

body.woocommerce-cart td.product-thumbnail a,
body.woocommerce-checkout td.product-thumbnail a {
    display: block !important;
    text-align: center !important;
}

body.woocommerce-cart td.product-thumbnail a img,
body.woocommerce-checkout td.product-thumbnail a img {
    width: 120px !important;
    max-width: 120px !important;
    height: auto !important;
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* ========================================================================== */
/* CART — Quantity +/- buttons (restore + harden against flex overrides)      */
/* ========================================================================== */

body.woocommerce-cart .quantity {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    white-space: nowrap !important;
}

body.woocommerce-cart .quantity .minus,
body.woocommerce-cart .quantity .plus {

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 36px !important;
    height: 36px !important;

    font-size: 20px !important;
    font-weight: 300 !important;
    line-height: 1 !important;

    color: #1A2B5E !important;
    background: #ffffff !important;

    border: 1px solid #d6d6d6 !important;
    border-radius: 3px !important;

    text-decoration: none !important;
    cursor: pointer !important;
    user-select: none !important;

    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
}

body.woocommerce-cart .quantity .minus:hover,
body.woocommerce-cart .quantity .plus:hover {
    background: #27AAE1 !important;
    color: #ffffff !important;
    border-color: #27AAE1 !important;
}

body.woocommerce-cart .quantity .minus:active,
body.woocommerce-cart .quantity .plus:active {
    background: #2B3990 !important;
    color: #ffffff !important;
    border-color: #2B3990 !important;
}

/* Quantity input field */
body.woocommerce-cart .quantity .input-text.qty {
    background: #ffffff !important;
    color: inherit !important;
    border: 1px solid #d6d6d6 !important;
    border-radius: 3px !important;
    text-align: center !important;
    width: 50px !important;
    height: 36px !important;
    line-height: 36px !important;
    margin: 0 6px !important;
}

/* ========================================================================== */
/* CHECKOUT PAYMENT AREA — text + padding corrections only                    */
/* ========================================================================== */

/* Restore internal padding for payment box */
body.woocommerce-checkout .woocommerce-checkout-payment {
    padding: 20px !important;
}

/* Correct text color inside payment area */
body.woocommerce-checkout .woocommerce-checkout-payment,
body.woocommerce-checkout .woocommerce-checkout-payment p,
body.woocommerce-checkout .woocommerce-checkout-payment div,
body.woocommerce-checkout .woocommerce-checkout-payment span,
body.woocommerce-checkout .woocommerce-checkout-payment small,
body.woocommerce-checkout .woocommerce-checkout-payment label {
    color: #495057 !important;
}

/* Privacy text */
body.woocommerce-checkout .woocommerce-privacy-policy-text,
body.woocommerce-checkout .woocommerce-privacy-policy-text p {
    color: #495057 !important;
}

body.woocommerce-checkout .woocommerce-privacy-policy-text a {
    color: #495057 !important;
    font-weight: 600 !important;
}

/* Coupon toggle text (the “Have a coupon?” bar) */
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info *,
body.woocommerce-checkout .woocommerce-form-coupon-toggle .showcoupon {
    color: #495057 !important;
}

/* Coupon form text (the revealed coupon input area) */
body.woocommerce-checkout form.checkout_coupon,
body.woocommerce-checkout form.checkout_coupon p,
body.woocommerce-checkout form.checkout_coupon label {
    color: #495057 !important;
}

/* Ensure PayPal wrapper respects card width */
body.woocommerce-checkout .woocommerce-checkout-payment .ppc-button-wrapper {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* Force payment card containment */
body.woocommerce-checkout .woocommerce-checkout-payment {
    box-sizing: border-box;
    padding: 20px;
}

body.woocommerce-checkout .woocommerce-checkout-payment .form-row.place-order {
    margin: 0;
    padding: 0;
    width: 100%;
    box-sizing: border-box;
}

/* Ensure all children respect container width */
body.woocommerce-checkout .woocommerce-checkout-payment .form-row.place-order > * {
    max-width: 100%;
}

/* ============================================================
   CHECKOUT — PayPal/Venmo + Place Order unified width + spacing
   (matches YOUR DOM: .ppc-button-wrapper is OUTSIDE #payment)
   ============================================================ */

/* 1) Set a shared width for BOTH blocks */
body.woocommerce-checkout #payment .form-row.place-order #place_order,
body.woocommerce-checkout .woocommerce-checkout-review-order .ppc-button-wrapper{
  width: 92% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: block !important;
  box-sizing: border-box !important;
}

/* 2) Vertical spacing between PayPal block and Place Order */
body.woocommerce-checkout #payment .form-row.place-order #place_order{
  margin-top: 16px !important;
  margin-bottom: 16px !important;
}

/* Space ABOVE the PayPal/Venmo block (this creates the gap from Place Order) */
body.woocommerce-checkout .woocommerce-checkout-review-order .ppc-button-wrapper{
  margin-top: 16px !important;
}

/* 3) Force the injected PayPal iframe to respect the wrapper width */
body.woocommerce-checkout .woocommerce-checkout-review-order .ppc-button-wrapper iframe{
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
}

/* 4) Bottom breathing room so the white card shows below the last button */
body.woocommerce-checkout .woocommerce-checkout-review-order{
  padding-bottom: 24px !important;
}

/* ========================================================================== */
/* CHECKOUT — shipping / change address link color                            */
/* ========================================================================== */

body.woocommerce-checkout .woocommerce-shipping-calculator a,
body.woocommerce-checkout .woocommerce-shipping-destination a,
body.woocommerce-checkout a.showcoupon,
body.woocommerce-checkout a.change-address,
body.woocommerce-checkout .shipping-calculator-button {
    color: #495057 !important;
    font-weight: 600 !important;
}

/* ========================================================================== */
/* CHECKOUT — Fix Payment Button Styling in checkout page                     */
/* ========================================================================== */

/* Make place-order act like a column so we can reorder children safely */
#payment .form-row.place-order{
  display: flex;
  flex-direction: column;
}

/* Put PayPal/ApplePay/GooglePay blocks above the submit button */
#payment .form-row.place-order .ppc-button-wrapper,
#payment .form-row.place-order #ppc-button-ppcp-gateway,
#payment .form-row.place-order #ppc-button-ppcp-googlepay,
#payment .form-row.place-order #ppc-button-ppcp-applepay{
  order: 10;
}

/* Put the submit/proceed button after the PPCP blocks */
#payment .form-row.place-order #place_order{
  order: 20;
}

/* Keep privacy + coupon below */
#payment .form-row.place-order .woocommerce-terms-and-conditions-wrapper{ order: 30; }
#payment .form-row.place-order .woocommerce-form-coupon-toggle{ order: 40; }
#payment .form-row.place-order form.checkout_coupon{ order: 50; }

/* Optional spacing */
#payment .form-row.place-order .ppc-button-wrapper{ margin-bottom: 12px; }

/* ========================================================================== */
/* 12. OCEAN CNC — SEARCH RESULTS PAGE STYLING                                */
/* ========================================================================== */
/* Scope EVERYTHING to the main content area only */
body.search #main,
body.search #content {
    color: inherit;
}

/* Card container for each search result row (OceanWP uses .search-entry / .entry) */
body.search #main .search-entry,
body.search #main article.search-entry,
body.search #main article.type-product,
body.search #main article.type-post,
body.search #main article.type-page {
    background: rgba(255,255,255,0.10);
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: 3px;
    padding: 16px;
    margin: 0 0 16px 0;
}

/* Make the result layout look like a product card row: image left, text right */
body.search #main .search-entry-inner,
body.search #main article {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

/* Thumbnail column */
body.search #main .thumbnail,
body.search #main .search-entry-thumbnail,
body.search #main .wp-post-image,
body.search #main img.attachment-medium,
body.search #main img.attachment-large {
    width: 150px !important;
    height: 150px !important;
    object-fit: contain !important;
    border-radius: 3px !important;
    flex: 0 0 150px;
}

/* Title/link styling (only inside results) */
body.search #main .entry-title,
body.search #main .entry-title a,
body.search #main .search-entry-title,
body.search #main .search-entry-title a {
    color: #ffffff !important;
    text-decoration: none !important;
    font-weight: 600;
    letter-spacing: 0.02em;
}

/* Remove underlines on ANY links inside results area */
body.search #main a {
    text-decoration: none !important;
}

/* Excerpt/description color inside results only */
body.search #main .entry-summary,
body.search #main .entry-content,
body.search #main .search-entry-summary {
    color: rgba(255,255,255,0.85) !important;
    font-size: 14px;
    line-height: 1.5;
}

/* Hide "Continue Reading" buttons/links inside results only */
body.search #main .read-more,
body.search #main a.read-more,
body.search #main .oceanwp-readmore,
body.search #main a.more-link {
    display: none !important;
}

/* SEARCH RESULTS — Continue Reading link (correct + preserves OceanWP hover) */
body.search .search-entry-readmore a {
    color: #ffffff !important;
    text-decoration: none !important;
    border-bottom: none !important;
}

/* Explicitly restore hover */
body.search .search-entry-readmore a:hover {
    color: #13aff0 !important; /* OceanWP default cyan */
    text-decoration: none !important;
    border-bottom: none !important;
}
/* SEARCH RESULTS — match product card typography system */
body.search h2.search-entry-title,
body.search h2.search-entry-title a {

    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;

    color: #ffffff !important;
    text-decoration: none !important;

}

/* ========================================================================== */
/* OCEAN CNC — WOOCOMMERCE OVERRIDE LAYER                                     */
/* Must remain LAST in stylesheet                                             */
/* Ensures WooCommerce plugin updates cannot override site styling           */
/* ========================================================================== */

body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-order-received {

    /* Establish override scope only — no layout changes */
    color: inherit;

}

/* Lock link colors inside Woo pages */
body.woocommerce-cart a,
body.woocommerce-checkout a,
body.woocommerce-order-received a {
    color: inherit;
}

/* Prevent Woo default white remove buttons */
body.woocommerce-cart a.remove,
body.woocommerce-checkout a.remove {
    color: inherit;
}

/* Prevent Woo forcing white headings */
body.woocommerce-cart h1,
body.woocommerce-cart h2,
body.woocommerce-cart h3,
body.woocommerce-checkout h1,
body.woocommerce-checkout h2,
body.woocommerce-checkout h3 {
    color: inherit;
}
/* ============================================================================
   OCEAN CNC — Redirect Banner
   ============================================================================ */

.ocnc-redirect-banner {
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.15);
    color: #ffffff;
    padding: 10px 16px;
    margin: 14px auto 20px;
    max-width: 720px;
    text-align: center;
    border-radius: 4px;
    font-size: 14px;
    letter-spacing: 0.2px;
}

.ocnc-redirect-banner a {
    color: #5fd0ff;
    font-weight: 600;
    text-decoration: underline;
}

.ocnc-redirect-banner a:hover {
    text-decoration: underline;
}
/* MINI / INLINE VERSION (homepage) */
.ocnc-redirect-banner--mini {
    background: transparent;
    border: none;
    padding: 0;
    margin: 6px 0 0 0;
    font-size: 12px;
    color: rgba(255,255,255,0.85);
    text-align: left;
}

.ocnc-redirect-banner--mini a {
    color: #ffffff;
    font-weight: 500;
    text-decoration: underline;
}
.ocnc-redirect-banner--mini a {
    white-space: nowrap;
}