/*
Theme Name: OceanWP Child Theme
Theme URI: https://oceanwp.org/
Description: OceanWP WordPress theme. Sample child theme.
Author: OceanWP
Author URI: https://oceanwp.org/
Template: oceanwp
Version: 1.1 -- Consolidated both current style.css and Customizer css. 
*/

/* Parent stylesheet should be loaded from functions.php, NOT via @import */


/* ============================================
   TABLE OF CONTENTS
    1. GLOBAL / BASE STYLES
    2. TYPOGRAPHY
    3. TOPBAR
    4. HEADER & NAVIGATION
    5. SEARCH
    6. MOBILE MENU
    7. HOMEPAGE
    8. POSTS / BLOG
    9. WOOCOMMERCE - SHOP / ARCHIVES
   10. WOOCOMMERCE - SINGLE PRODUCT
   11. WOOCOMMERCE - CART
   12. WOOCOMMERCE - CHECKOUT
   13. MY ACCOUNT / LOGIN
   14. FOOTER
   15. PLUGINS (Fluent Forms, Wishlist, etc.)
   16. HIDE / VISIBILITY
   17. RESPONSIVE - TABLET (max-width: 1365px)
   18. RESPONSIVE - MOBILE (max-width: 767px)
   ============================================ */


/* ============================================
   1. GLOBAL / BASE STYLES
   ============================================ */

/* Fix extra horizontal scroll - related to Google reCAPTCHA */
body {
    overflow-x: hidden;
}

p {
    margin: 10px 0 0 10px;
}

table {
    width: 100%;
    margin-bottom: 20px;
}

small {
    font-size: 100%;
}


/* ============================================
   2. TYPOGRAPHY
   ============================================ */

/* ol, ul, li -- Align the arrows or bullets to middle vertically */
ol, ul, li {
    vertical-align: middle;
}


/* ============================================
   3. TOPBAR
   ============================================ */

#top-bar-sticky-wrapper,
#top-bar-wrap,
#top-bar-inner {
    min-height: 60px !important;
    height: 66px !important;
}

/* Topbar - Link font */
.elementor-element.elementor-element-9159c60 .elementor-element-populated a {
    font-family: "Trebuchet MS", Sans-serif;
    font-size: 14px;
}

/* Topbar - Shortcode (Welcome text) */
.elementor-shortcode {
    font-size: inherit;
    font-weight: 600;
    color: hotpink;
    font-family: Trebuchet MS, Sans-serif;
    vertical-align: middle;
}

.elementor-shortcode a {
    color: aliceblue !important;
    vertical-align: middle;
}


/* ============================================
   4. HEADER & NAVIGATION
   ============================================ */

/* Logo */
#site-logo #site-logo-inner a img {
    float: left;
}

/* Nav Menu - flex layout */
.custom-header-nav #site-navigation-wrap #site-navigation .main-menu.sf-menu {
    display: flex;
    align-content: center;
    flex-direction: row;
    align-items: center;
}

/* Sub-menu alignment */
.sf-menu ul.sub-menu ul {
    left: 100%;
    right: auto;
}

/* Mega Menu for Shop by Levels - Desktop view only */
.navigation li.megamenu-li.auto-mega .megamenu.col-6 {
    width: 1468px;
    left: -900px !important; /* Align whole Mega Menu to the left */
    position: absolute;
    z-index: 9999;
}

.navigation li.megamenu-li .megamenu.col-6 > li { /* Each submenu link box */
    width: 20%;
}

.navigation .megamenu > li > a.menu-link { /* L1 to L12 headings */
    font-size: 16px;
    font-weight: 600;
}

.dropdown-menu li .sub-menu li.menu-item { /* L1 to L12 sub-items */
    display: block;
    float: none;
    padding-left: 12px;
}

/* Header - Widget Cart */
.widget_shopping_cart ul.cart_list li .owp-grid-wrap .owp-grid .quantity {
    color: blue;
    font-weight: 600;
}

/* Menu: My Account -- Custom - When User is Logged Out */
.oew-login-link .oew-login-ul li.menu-item:before {
    content: "\f0a9";
    font-family: "Font Awesome 5 Free";
    font-weight: 800;
    font-size: 11px;
}

.oew-login-link .oew-login-ul li.menu-item {
    float: left;
    display: flex;
    align-items: center;
    font-size: 14px;
}

#footer .oew-login-link .oew-login-ul {
    display: inline-grid;
}


/* ============================================
   5. SEARCH
   ============================================ */

/* Search form - placeholder color */
#site-header input#oew-ajaxs-1::placeholder,
#site-header input#oew-ajaxs-2::placeholder {
    color: #7393B3;
    opacity: 1;
}

/* Search form - field border */
.oceanwp-searchform input.field {
    border-radius: 2px;
    border-style: none !important;
}

/* Search dropdown */
.oew-search-dropdown {
    left: auto;
    right: auto !important;
}


/* ============================================
   6. MOBILE MENU
   ============================================ */

/* Hamburger icon color */
.mobile-menu .hamburger-inner,
.mobile-menu .hamburger-inner::before,
.mobile-menu .hamburger-inner::after {
    background-color: navy !important;
}


/* ============================================
   7. HOMEPAGE
   ============================================ */

/* Call to Action -- 4x Banner below Slider - Button */
.oew-cta .oew-cta-btn a {
    padding: 14px 30px;
    font-size: 14px;
    width: auto;
}

/* Sales Badge position */
.woocommerce span.onsale {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 18px;
    padding: 12px;
    border-radius: 6px;
    font-family: cursive;
    font-weight: bold;
}


/* ============================================
   8. POSTS / BLOG
   ============================================ */

/* Single post - table borders */
.single-post.content-max-width #wrap .entry-content table,
.single-post.content-max-width #wrap .entry-content table td {
    border: 1px solid #c4bef7;
}

.single-post.content-max-width #wrap .entry-content table {
    max-width: calc(1400px - 40px);
    margin: 40px auto;
}

/* Single post - last updated */
.single-post.content-max-width #wrap .entry-content p.last-updated {
    text-align: center !important;
    color: darkgrey;
    font-size: 16px;
}

/* News Widget - Front Page */
.oew-carousel .meta li {
    text-transform: none;
}

/* HT Slider */
.htslider-postslider-area button.slick-arrow svg {
    width: 14px;
    margin-top: 4px;
    margin-bottom: 0px;
    margin-left: 2px;
    margin-right: 2px;
}

.elementor-129866 .elementor-element.elementor-element-1e9a5a1 .htslider-postslider-area button.slick-arrow {
    height: 50px;
    width: 40px;
    color: #00282a;
    border-radius: 0;
    position: absolute;
    top: 300px;
    right: 0;
    left: 0;
    opacity: 0.7;
}


/* ============================================
   9. WOOCOMMERCE - SHOP / ARCHIVES
   ============================================ */

/* New arrivals page **/
.oew-woo-carousel .swiper-container.has-dots, .oew-woo-carousel .swiper.has-dots {
    padding-bottom: 10px;
    padding-left: 20px;
}

.oew-woo-carousel .swiper-container, .oew-woo-carousel .swiper {
    width: 90%;
}


/* Regular Price - Del (strikethrough) */
.woocommerce ul.products li.product .price del .amount {
    color: #BDBDBD;
    font-size: 16px;
    text-decoration: line-through;
}

/* Sale Price */
.woocommerce ul.products li.product .price ins {
    display: inline-block;
    font-weight: 700;
    color: #FF0000;
}

/* Price prefix */
.woocommerce ul.products .product-inner span.price-prefix {
    font-size: 16px;
    font-weight: 600;
}

/* Category Tag spacing */
.woocommerce ul.products li.product:not(.product-category) .product-inner li.title,
.woocommerce ul.products li.product:not(.product-category) .product-inner li:first-child {
    margin-top: 10px;
}

/* Woo Entry Buttons Shape */
.woocommerce ul.products li.product:not(.product-category) .woo-entry-buttons li a {
    display: inline-block;
    font-size: 18px;
    font-weight: 400;
    width: 40px;
    height: 40px;
    line-height: 40px;
    background-color: #fff;
    color: #444;
    text-align: center;
    border-radius: 20%;
}


/* ============================================
   10. WOOCOMMERCE - SINGLE PRODUCT
   ============================================ */

/* Brand - Before Product Title */
.yith-wcbr-brands-logo {
    display: block;
    margin-top: 20px;
    margin-bottom: 20px;
}

/* Product Title */
.woocommerce div.product div.summary .product_title {
    width: 70%;
    display: block;
    font-size: 20px !important;
    border-bottom: none !important;
    padding-bottom: 10px !important;
}

/* Short Description */
.woocommerce div.product div.woocommerce-product-details__short-description {
    margin-top: 20px;
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 20px;
    font-size: 16px;
    border-bottom: 1px solid #eaeaea;
}

.woocommerce div.product div.woocommerce-product-details__short-description p {
    font-size: 18px;
}

.woocommerce div.product div.woocommerce-product-details__short-description p:last-child {
    margin: 10px !important;
    padding-bottom: 20px;
}

/* Short Description and Product Description Tab - list style */
.woocommerce .summary ul,
.woocommerce #tab-description ul {
    list-style: disc;
    margin: 0 0 0 20px !important;
}

/* Stock Availability - General */
.woocommerce div.product p.stock {
    font-size: 16px;
    margin: 0;
    font-weight: 700;
    color: #fe5252;
}

/* In Stock */
.woocommerce div.product div.summary p.in-stock {
    margin-bottom: 20px;
    color: #40B5AD; /* Verdigris */
}

/* Out of Stock */
.woocommerce div.product div.summary p.out-of-stock {
    font-size: 16px;
    margin: 20px 0;
    font-weight: 700;
    color: #fe5252;
}

/* Discontinued */
div.discontinued_status_message {
    font-weight: 900;
    color: red;
    font-size: 22px;
}

/* Product Code - POS Item No. */
.product_meta .wo_productcode span {
    display: inline-block !important;
}

.product_meta .wo_productcode span:not(.stl_codenum) {
    color: #333 !important;
    font-weight: 600 !important;
}

/* Product - DT Variation: POS Item No. and Warranty labels */
.woocommerce td.product-name dl.variation dt {
    font-weight: 600;
    color: #1890ff;
    padding-bottom: 0;
    font-size: 16px;
}

.woocommerce td.product-name dl.variation dd {
    margin-bottom: 0;
    padding-bottom: 0;
    color: #1890ff;
}

/* Product Meta layout */
.single-product .product_meta .tagged_as,
.single-product .product_meta .posted_in,
.single-product .product_meta .sku_wrapper,
.single-product .product_meta .wo_productcode {
    min-width: 350px;
}

.single-product .product_meta .wo_productcode {
    display: inline-block;
    float: left;
    padding-left: 20px;
    margin-left: unset;
}

.single-product .product_meta .sku_wrapper {
    display: inline-block;
    float: left;
    padding-left: 20px;
}

.single-product .product_meta .posted_in {
    display: inline-block;
    padding-left: 20px;
}

.single-product .product_meta .tagged_as {
    display: inline-block;
    padding-left: 20px;
}

/* Add to Wishlist */
.tinv-wishlist {
    text-align: center;
}

.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus:before,
.woocommerce ul.products li.product a.tinvwl-button.tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus:before,
.woocommerce-page ul.products li.product a.tinvwl-button.tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus:before,
a.wishlist_products_counter.top_wishlist-heart-plus:before,
span.wishlist_products_counter.top_wishlist-heart-plus:before,
a.sidr-class-wishlist_products_counter.sidr-class-top_wishlist-heart-plus:before {
    font-size: 30px;
    color: blue;
}

.tinvwl_add_to_wishlist-text {
    font-size: 20px;
    color: blue;
}

.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus:hover::before,
.tinvwl_add_to_wishlist-text:hover {
    color: #13aff0;
}


/* ============================================
   11. WOOCOMMERCE - CART
   ============================================ */

/* Cart - Product Name */
.product-name p {
    margin-top: 10px;
    font-weight: bold;
    font-size: 16px;
}

.product-name a,
.woocommerce .product-name a {
    font-size: 18px;
    color: #515a79;
    font-weight: 600;
}

/* Quantity input */
.woocommerce form input[type=number] {
    max-width: 58px;
    min-height: 36px;
    font-size: 16px;
    font-weight: 600;
}

.quantity .qty,
.quantity .minus,
.quantity .plus {
    color: blue;
}

/* Cart Totals */
.woocommerce-cart .cart-collaterals .cart_totals table th {
    width: 30%;
}

.woocommerce .cart-collaterals p {
    margin-left: 22px;
}

/* Shared - Cart & Checkout table columns */
th.product-price,
th.product-quantity,
th.product-subtotal {
    width: 12ch;
    text-align: center;
}

td.product-price,
td.product-quantity,
td.product-subtotal {
    text-align: center;
}

/* Price & Amount */
.product-price .price,
.amount {
    color: #0021ff;
    font-size: 16px;
    font-weight: 600;
}

/* Shipping */
.woocommerce p.item-shipping_class {
    font-weight: 600;
    font-size: 16px;
}

p.shipping-method-description {
    margin-top: 10px;
    margin-left: 22px;
}

/* Cart/Checkout table - no text transform */
.woocommerce table.shop_table td {
    text-transform: none;
}

/* Shipping contents small text */
.woocommerce-page .cart_totals,
p.woocommerce-shipping-contents small {
    font-size: 100%;
    color: palevioletred;
    font-weight: 600;
}

/* Cart Totals / Order Review - Shipping notes, fee notes, payment notes */
.woocommerce .cart_totals,
#order_review,
ul#shipping_choice.woocommerce-shipping-choice,
ul#shipping_notes.woocommerce-shipping-notes,
ul#fee_notes.woocommerce-fee-notes,
ul#payment_notes.woocommerce-payment-notes {
    padding: 20px 20px;
    text-align: left;
    font-weight: bold;
    color: #000080;
    font-size: 16px;
    list-style: disc;
}

/* Terms link */
a.woocommerce-terms-and-conditions-link {
    color: black;
}

/* Terms wrapper */
.woocommerce-terms-and-conditions-wrapper {
    margin: -10px;
}


/* ============================================
   12. WOOCOMMERCE - CHECKOUT
   ============================================ */

/* Checkout - Content area full width */
@media only screen and (min-width: 960px) {
    .woocommerce-checkout .content-area,
    .woocommerce-checkout.content-left-sidebar .content-area {
        width: 100% !important;
    }
}

/* Checkout - Customer Details (Left) */
.woocommerce-checkout > .col2-set {
    float: left;
    width: 36% !important;
}

/* Checkout - Order Review (Right) */
.woocommerce-checkout h3#order_review_heading,
.woocommerce-checkout #order_review {
    float: right;
    width: 60% !important;
}

/* Checkout - Name fields */
.woocommerce .form-row-first {
    float: left;
    width: 48% !important;
    margin-right: 2% !important;
}

.woocommerce .form-row-last {
    float: right;
    width: 44% !important;
}

/* Checkout - Field spacing */
.woocommerce form .form-row {
    padding: 10px 0 !important;
}

/* Checkout - Form field borders */
form input[type="text"],
form input[type="password"],
form input[type="email"],
form input[type="url"],
form input[type="date"],
form input[type="month"],
form input[type="time"],
form input[type="datetime"],
form input[type="datetime-local"],
form input[type="week"],
form input[type="number"],
form input[type="search"],
form input[type="tel"],
form input[type="color"],
form select,
form textarea,
.select2-container .select2-choice,
.woocommerce .woocommerce-checkout .select2-container--default .select2-selection--single {
    border: 1px;
    border-color: steelblue !important;
    border-style: outset !important;
}

/* Checkout - Place Order section */
.woocommerce-checkout .form-row.place-order {
    margin: 10px !important;
}

/* Checkout - Order Review table */
.woocommerce #order_review table.shop_table tbody.product-details td {
    max-width: 50%;
    width: 100%;
}

.woocommerce #order_review table.shop_table tbody td.product-name {
    max-width: 100px !important;
    text-align: left;
    font-size: 16px;
    color: #515a79;
    font-weight: 600;
}

.woocommerce #order_review table.shop_table tbody td.product-price {
    width: 60px !important;
}

#order_review .product-quantity {
    font-weight: 600;
    font-size: 16px;
    color: blue;
}

.woocommerce #order_review table.shop_table tfoot th {
    font-weight: 600;
    color: #444;
    width: 50%;
    max-width: 40px;
}

.woocommerce #order_review table.shop_table td {
    text-align: left;
}

.woocommerce #order_review table.shop_table ul#shipping_method.woocommerce-shipping-methods {
    padding-bottom: 20px;
    text-align: left;
}


/* ============================================
   13. MY ACCOUNT / LOGIN
   ============================================ */

/* OWP Popup Login - Form field size */
#opl-login-form .input-wrap .input-lg:focus ~ .opl-label,
#opl-login-form .input-wrap .input-lg:valid ~ .opl-label {
    font-size: 24px !important;
}

#opl-login-form .input-wrap .opl-label {
    font-size: 20px !important;
}

#opl-login-form .input-wrap .input-lg {
    height: 50px !important;
    font-size: 20px !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}

/* OWP Popup Login - Entry field line */
#opl-login-form .input-wrap .opl-line {
    background-color: rgba(0, 0, 0, .12);
    bottom: 0px;
}

#opl-login-form .input-wrap .opl-focus-line {
    background-color: #13aff0;
    bottom: 0px;
}

/* Popup Login - Submit Button */
#opl-login-form .opl-button {
    border-radius: 100px;
    padding: 12px;
}

/* WC My Account - Login & Register buttons */
.woocommerce button.button {
    padding: 12px 20px;
    width: 100%;
    border-radius: 20px;
}

button[type=submit],
.button {
    width: 100%;
    border-radius: 20px;
}


/* ============================================
   14. FOOTER
   ============================================ */

/* Footer - Full Width */
#footer-widgets .container {
    width: 100%;
    max-width: 100%;
}

#footer-widgets {
    background-color: #222;
    padding: 0;
    margin: 0;
}


/* ============================================
   15. PLUGINS
   ============================================ */

/* --- Fluent Forms --- */
.fluentform .ff-el-group div.nsl-container .nsl-container-buttons {
    display: flex;
    padding: 5px 0;
    text-align: center;
}

.fluentform_wrapper_4 .ff_submit_btn_wrapper .ff-btn-submit:not(.ff_btn_no_style) {
    border-style: solid;
    border-radius: 30px !important;
}

.ff-default form select {
    padding: 10px 12px !important;
}

/* --- Product Share (commented out - kept for reference) ---
.woocommerce .summary .oew-product-share ul {
    list-style: none;
    margin: 0 !important;
}
.oew-product-share {
    margin-top: 20px;
}
*/


/* ============================================
   16. HIDE / VISIBILITY
   ============================================ */

/* Add hide rules here with comments explaining what each one hides */
/* Example: */
/* #mybox { display: none; } */


/* ============================================
   17. RESPONSIVE - TABLET (max-width: 1365px)
   ============================================ */

@media (max-width: 1365px) {

    /* Mobile menu icon line height */
    .oceanwp-mobile-menu-icon a {
        line-height: 50px !important;
    }

    /* Mobile dropdown width */
    #mobile-dropdown {
        width: 200px;
        left: auto;
        right: 10%;
    }

    /* WC Archives - Hide sidebar on tablet */
    .woocommerce-checkout .content-left-sidebar .widget-area {
        display: none;
    }
}
    

@media (max-width: 1024px) {

/* Tablet - Sidebar left fix (768px - 1024px) */
.single-product #primary.content-area {
        width: 68% !important;
        float: right !important;
    }

    .single-product #right-sidebar {
        width: 28% !important;
        float: left !important;
        clear: none !important;
    }

    /* Fix widgets stretching inside sidebar */
    .single-product #right-sidebar .sidebar-box {
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Constrain dropdowns to sidebar width */
    .single-product #right-sidebar select,
    .single-product #right-sidebar .select2-container,
    .single-product #right-sidebar .yith-wcbr-select {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Clear floats on parent */
    .single-product .site-main,
    .single-product #page {
        overflow: hidden !important;
    }


	
	/* Sales Badge */
    .woocommerce span.onsale {
        left: 0 !important;
        font-size: 16px;
    }

    .woocommerce .has-product-nav span.onsale {
        top: 0rem;
    }

}


/* ============================================
   18. RESPONSIVE - MOBILE (max-width: 767px)
   ============================================ */
@media (max-width: 767px) {
    /* Header - hamburger + widget cart alignment */
    .elementor-197719 .elementor-element.elementor-element-d04e811 .custom-header-nav .fs-dropdown-menu,
    .elementor-197719 .elementor-element.elementor-element-d04e811 .custom-header-nav .oceanwp-mobile-menu-icon {
        text-align: center;
    }
    /* Mobile menu sidebar - full width */
    #sidr {
        width: 100vw !important;
    }
    .sidr.right {
        left: auto;
        right: -100vw;
    }
    /* Close menu text alignment */
    a.sidr-class-toggle-sidr-close i {
        vertical-align: middle;
    }
    .sidr-class-close-text {
        vertical-align: middle;
        line-height: 1;
    }
    /* Search dropdown */
    .oew-search-dropdown {
        left: auto;
        right: auto;
    }
    /* HT Slider - arrow size */
    .elementor-129866 .elementor-element.elementor-element-1e9a5a1 .htslider-postslider-area button.slick-arrow {
        height: 40px;
        width: 40px;
        top: 250px;
        opacity: 0.7;
    }
    /* Hide sidebar on single product - mobile */
    .single-product .sidebar,
    .single-product #sidebar,
    .single-product .widget-area,
    .single-product #right-sidebar {
        display: none !important;
    }
    /* Single product - full width when sidebar hidden */
    .single-product #primary.content-area {
        width: 100% !important;
        float: none !important;
        padding: 0 15px !important;
        box-sizing: border-box !important;
    }
    .single-product .woocommerce-product-gallery,
    .single-product .summary.entry-summary {
        width: 100% !important;
        float: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    /* Product Title - font size */
    .woocommerce div.product div.summary .product_title {
        font-size: 14px !important;
    }
    /* Short Description - font size */
    .woocommerce div.product div.woocommerce-product-details__short-description p {
        font-size: 14px;
    }
    /* Stock text - hide on mobile */
    .woocommerce div.product div.summary p.stock {
        display: none;
    }
    /* Wishlist text - font size */
    .tinvwl_add_to_wishlist-text {
        font-size: 14px;
    }
    /* Product Meta - max-width reset */
    .single-product .product_meta .tagged_as,
    .single-product .product_meta .posted_in,
    .single-product .product_meta .sku_wrapper,
    .single-product .product_meta .wo_productcode {
        max-width: unset;
    }
    .single-product .product_meta .wo_productcode {
        margin-left: 10px;
    }
    .product_meta .sku_wrapper,
    .product_meta .posted_in,
    .product_meta .tagged_as {
        margin-left: 10px;
    }
    /* Sales Badge */
    .woocommerce span.onsale {
        left: 0 !important;
        font-size: 14px;
    }
    .woocommerce .has-product-nav span.onsale {
        top: 0rem !important;
    }
    /* OWP Popup Login - Entry field line */
    #opl-login-form .input-wrap .opl-line {
        background-color: rgba(0, 0, 0, .12);
        bottom: 0px;
    }
    #opl-login-form .input-wrap .opl-focus-line {
        background-color: #13aff0;
        bottom: 0;
    }
}