/*
 Theme Name: Happy Life Planners
 Theme URI: https://www.webhippies.gr
 Description: Happy Life Planners Child Theme
 Author: WebHippies
 Author URI: https://www.webhippies.gr
 Template:     whcommerce
 Version:      1.0.70
 License:      GNU General Public License v2 or later
 License URI:  
 Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
 Text Domain:  happylifeplanners
 Colors:  https://coolors.co/d17787-c74b61-4d4d4f-dbe6f6-aee9d1-6d8cb0-faf8f5-faf5eb-000000-ffffff
*/

:root {

    /* Logo Colors */
    --old-rose: rgb(209, 119, 135);
    --charcoal: #4D4D4F;

    /* Example Colors */
    --alice-blue: #DBE6F6;

    /* Complementary Colors */
    --celadon: #AEE9D1;
    --dusty-denim: #6D8CB0;
    --magenta-bloom: #C74B61;
    --bright-snow: #faf8f5;
    --floral-white: #faf5eb;

   /* Basic colors */
   --white: #ffffffff;
   --black: #202020ff;
  
  --font: "Source Sans 3", sans-serif;
  --headings-font:  "Alyamama", serif;
  --calligraphy-font: "Alyamama", serif;
  --font-size: 16px;
 
  --border: 1px solid var(--black);
  --border-radius: 0px;
  --border-style: solid;
  --border-width: 0 0 3px 0;  
  --transition-speed: 0.3s ease;
    
}

.body-fixed {
    position: fixed;
    overflow: hidden;
}


.page-content, .entry-content, .entry-summary {
    margin: 0;
}

.post, .page {
    margin: 0;
}
.transition,
.transition > * {
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: var(--black);
	font-family: var(--font);
	font-size: var(--font-size);
	line-height: 1.5;
	font-weight: 400;
    font-optical-sizing: auto;
    font-style: normal;
    /* font-variation-settings: "wdth" 100; */
}

button,
input,
select,
optgroup,
textarea,
input[type="text"], 
input[type="email"], 
input[type="url"], 
input[type="password"], 
input[type="search"], 
input[type="number"], 
input[type="tel"], 
input[type="range"], 
input[type="date"], 
input[type="month"], 
input[type="week"], 
input[type="time"], 
input[type="datetime"], 
input[type="datetime-local"],
input[type="color"] {
    border-radius: var(--border-radius);
    padding: 10px 10px;
}

.select2-container--default .select2-selection--single {
    border-radius: var(--border-radius);
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button,
button .btn-primary {
    font-family: var(--font);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    padding: 16px 28px;
    width: auto;
    background-color: var(--old-rose);
    color: var(--white);
    border: none;
    border-radius: var(--border-radius);
    cursor: pointer;
    transition: all var(--transition-speed);
    box-shadow: 0 4px 6px rgba(139, 77, 78, 0.2);
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button:hover,
button .btn-primary:hover,
.elementor-button:not(.hfe-cart-container):focus,
.elementor-button:not(.hfe-cart-container):hover {
    background-color: var(--magenta-bloom); /* Εναλλαγή σε θερμό τόνο */
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(220, 171, 114, 0.3);
    color: var(--white);
    text-decoration: none;
}

button.btn-secondary {
    font-family: var(--font);
    background-color: transparent;
    color: var(--charcoal);
    border: 2px solid var(--charcoal);
    padding: 10px 26px;
    border-radius: var(--border-radius);
    transition: all var(--transition-speed);
}

button.btn-secondary:hover {
    background-color: var(--charcoal);
    color: var(--white);
}

/* Special Calligraphy Button για Headers */
button.btn-elegant {
    font-family: var(--calligraphy-font);
    font-size: 1.2rem;
    background: none;
    border-bottom: 2px solid var(--dusty-denim);
    color: var(--old-rose);
    padding: 5px 10px;
    transition: border-color var(--transition-speed);
}

button.btn-elegant:hover {
    border-color: var(--alice-blue);
    color: var(--alice-blue);
}



h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--headings-font);
    font-optical-sizing: auto;
	font-weight: 700;
    font-style: normal;
}

span.wh-share-text,
.calligraphy {
	font-family: var(--calligraphy-font);
}

.sticky {
    position: sticky;
    top: 0;
}

/* .sticky-text {
    position: sticky;
    top: 25%;
    mix-blend-mode: difference;
} */

/* Sticky header */
.main-header {
    position: fixed;
	width: 100%;
    max-width: 100vw;
    padding: 0;
    top: 0;
    z-index: 99;
    -webkit-transition: all 0.5s linear;
    -moz-transition: all 0.5s linear;
    -o-transition: all 0.5s linear;
    transition: all 0.5s linear;
}

/* .home .main-header {
    position: fixed;
    top: 0;
	padding: 0;
} */

.scrolled .main-header {
    background-color: var(--white);
	box-shadow: 0 0 20px 0 #d177872e;
}

.admin-bar .main-header {
	top: 30px;
}

/* .scrolled + [data-elementor-type="wp-post"],
.scrolled + .site-content {
  padding-top: 75px;
} */

:where(body:not(.home)):where(.elementor:not(.elementor-52)) [data-elementor-type="wp-post"],
:where(body:not(.home)):where(body:not(.single-product)) .site-content {
  padding-top: 95px;
}

.woocommerce-content-wrapper {
    padding-top: 120px;
}


/* Dual Logo */
.scrolled .main-logo { 
    height: 0!important; 
    opacity: 0;
    display: none;
}
.scrolled-logo {
    height: 0!important; 
    opacity: 0;
}

.scrolled .scrolled-logo {
    height: auto!important; 
    opacity: 1;
}

/* Overlay Search*/

.overlay-search {
    width: 0;
    height: 0;
    display: flex;
    position: fixed;
    top: 0;
    left: 0;
    padding: 32px;
    opacity: 0;
    z-index: -9999;
    -webkit-transition: opacity 0.5s linear;
    -moz-transition: opacity 0.5s linear;
    -o-transition: opacity 0.5s linear;
    transition: opacity 0.5s linear;
}

.overlay-search.open-search {  
    width: 100vw;
    height: 100vh;  
    opacity: 1;
    z-index: 9999;
}

.search-box-open,
.search-box-close {
    cursor: pointer;
}


.overlay-search-form form.woocommerce-product-search {
    display: flex;
}

.overlay-search-form input[type="search"].search-field {
    background: transparent;
    border-top: none;
    border-left: none;
    border-right: none;
    font-size: 32px;
    font-weight: 100;
}
.overlay-search-form input[type="search"].search-field:focus {
    outline: none;
}

.overlay-search-form button[type="submit"] {
    border: none;
    border: none;
    font-size: 0px;
    background: transparent;
}

.overlay-search-form button[type="submit"]::after {
    content: "\f0cd";
    font-family: "remixicon";
    font-size: 32px;
    display: inline-block;
}




/* Slider */
.wh-slider-wrapper {
    max-height: 100vh;
    /* max-height: calc(100vh - 175px); */
}

.elementor-editor-active .wh-slider-wrapper {
    max-height: unset;
}

.wh-slider-arrow {
    cursor: pointer;
}

.wh-slider:not(.slick-initialized) > div:nth-child(n+2) {
    display: none;
}

.elementor-editor-active .wh-slider > div:nth-child(n+2) {
    display: block;
}

/* .wh-slides {
    min-width: 100vw;
} */


/* Parallax */

.parallax-layer {
    will-change: transform;
    transition: transform 0.5s linear; 
}

.speed-slow {
    transform: translateY(calc(var(--scroll) * 0.1px));
}

.speed-fast {
    transform: translateY(calc(var(--scroll) * 0.2px));
}

.speed-medium {
    transform: translateY(calc(var(--scroll) * -0.15px));
}

.speed-slow-inverse {
    transform: translateY(calc(var(--scroll) * -0.05px));
}

.background-slow {
    background-position-y: calc(var(--scroll) * -0.09px)!important;
}

.background-fast {
    background-position-y: calc(var(--scroll) * 0.2px)!important;
}

.background-medium {
    background-position-y: calc(var(--scroll) * -0.15px)!important;
}


/* Marque */

/* Το container κρύβει ό,τι περισσεύει */
#my-scrolling-title {
    /* overflow: hidden !important; */
    white-space: nowrap;
}

/* Ο τίτλος κινείται συνεχόμενα */
#my-scrolling-title .elementor-heading-title {
    display: inline-block;
    will-change: transform;
    transition: animation-duration 0.3s ease; /* Ομαλή αλλαγή ταχύτητας */
    animation: marqueeContinuous 150s linear infinite;
}

@keyframes marqueeContinuous {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}






/* Footer */
.site-footer {
    background-color: var(--alice-blue);
}

.site-footer, .site-footer a  {
    color: var(--black);
}

/* Subscribe form */

.subscribe-form {
    padding: 4px;
    border: 1px solid var(--celadon);
}

.subscribe-form p {
    display: flex;
    align-content: center;
    align-items: center;
    margin: 0;
}

.subscribe-form .wpcf7 label {
    width: 100%;
    margin-bottom: 0;
}
.subscribe-form input.wpcf7-form-control {
    border-radius: 0;
    border: 0;
    padding: 14px 10px;
    font-weight: 400;
    text-align: center;
    height: 46px;
    margin:0;
}

.subscribe-form label.subscribe-email-label {
    width: 70%;
}

.subscribe-form .wpcf7-spinner {
    position: absolute;
}

.subscribe-form input.float-left.form-acceptance {
    margin: 4px;
}

.subscribe-form .wpcf7-not-valid-tip {
    color: var(--black);
    font-size: .8em;
    font-weight: normal;
    display: block;
    position: relative;
    margin: 10px auto;
}

/* .wpcf7-not-valid-tip:last-of-type.wpcf7-not-valid-tip {
    position: relative;
} */

.subscribe-form span.wpcf7-form-control.wpcf7-acceptance {
    color: var(--black);
}

.subscribe-form .wpcf7-list-item {
    margin: 0 0 10px 3px;
}

.subscribe-form .subscribe-acceptance-text {
    color: var(--black);
    font-size: 0.8rem;
}

.subscribe-form .subscribe-form-acceptance {
    margin-top: 10PX;
    width: 100%;
}

.subscribe-form .subscribe-acceptance-checkbox {
    margin-right: 5px;
    vertical-align: middle;
}

.subscribe-form input.subscribe-submit {
    border: 0;
    width: 30%;   
    font-size: 1rem;
    line-height: 0;
    color: var(--black);
    padding: 0;
    /* background-color: black; */
}


.btn-outline-dark.disabled, .btn-outline-dark:disabled {
    color: #343a40;
    background-color: var(--charcoal);
}

.site-footer .wpcf7-not-valid-tip,
.site-footer .wpcf7-form-control.wpcf7-acceptance,
.site-footer .subscribe-acceptance-text,
.site-footer .subscribe-button,ul.products
.site-footer .wpcf7 form .wpcf7-response-output,
.site-footer .btn-outline-dark.disabled, .btn-outline-dark:disabled {
    color: var(--white);
}

/* Contact & b2b form */
.contact-form label,
.b2b-form label {
    width: 100%;
    margin-bottom: 10px;
}

.contact-form input.wpcf7-form-control,
.b2b-form input.wpcf7-form-control {
    border-radius: 0;
    border: 0;
    background-color: var(--bright-snow);
    padding: 14px 10px;
    font-weight: 400;
    text-align: left;
    height: 46px;
    margin:0;
    width: 100%;
}

.contact-form textarea.wpcf7-form-control,
.b2b-form textarea.wpcf7-form-control {
    background-color: var(--bright-snow);
    border-radius: 0;
    border: 0;
}

.contact-form .submit-button.wpcf7-form-control,
.b2b-form .submit-button.wpcf7-form-control {
    background-color: var(--old-rose);
    color: var(--white);
    text-align: center;
}

.contact-form .contact-acceptance-checkbox,
.b2b-form .b2b-acceptance-checkbox {
    margin-right: 5px;
    vertical-align: middle;
}


/* WooCommerce Archive */

.category-image {
    /* max-height: 400px;
    overflow: hidden; */
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-bottom: 20px;
}

body.archive.woocommerce-page {
    /* background-color: var(--celadon); */
}

.woocommerce-breadcrumb {
    text-align: center;
    white-space: nowrap;
    overflow: auto;
}

.single-product .woocommerce-breadcrumb {
    text-align: left;
    white-space: nowrap;
    overflow: auto;
}

/* Widget area */
body > .select2-container--open {
    width: auto !important;
}
.woocommerce .widget-area {
    position: relative;
    font-size: 1em;
    line-height: 1.1em;
    background-color: var(--floral-white);
    padding: 40px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.625rem; /* Equivalent to space-x-2.5 */
    align-content: center;
    margin-bottom: 30px;
    /* justify-content: space-between; */
    justify-content: flex-start;
}

.widget {
    margin: 0;
}

/* Apply this to each widget/filter block */
.woocommerce-widget-layered-nav, .widget_price_filter, .widget_product_categories {
    min-width: 15%;
    width: fit-content;
    height: fit-content;
    
  }
  .widget_product_categories h2.widget-title,
  .woocommerce-widget-layered-nav h2.widget-title {
    display: none;
  }
  
.widget.widget_text h2.widget-title {
    margin-top: 12px;
}

  .widget.woocommerce.widget_price_filter {
    /* font-size: 12px;  */
    /* font-size: 1rem;
    font-weight: 400;
    font-family: var(--font); */
    color: #444;
    border: 1px solid var(--charcoal); 
    background: var(--white);
    padding: 6px 32px 6px 10px;
    cursor: pointer;
    position: relative;
    line-height: 1em;
    height: 40px;
    margin-top: 3px;
  }

.widget.woocommerce.widget_price_filter  h2.widget-title {
    font-size: 1rem;
    line-height: 1.6rem;
    font-weight: 400;
    font-family: var(--font);
    margin-bottom: 0;
}
  
  /* The arrow icon (simulated) */
  .widget.woocommerce.widget_price_filter::after {
    top: 16px;
    border-color: #888 transparent transparent transparent;
    border-style: solid;
    border-width: 5px 4px 0 4px;
    height: 0;
    right: 6px;
    margin-left: -4px;
    margin-top: -2px;
    position: absolute;
    top: 50%;
    width: 0;
    content: ' ';
}

  /* Hide the list by default (to mimic the dropdown behavior) */
  .widget.woocommerce.widget_price_filter form {
    display: none;
    position: absolute;
    background: var(--white);
    border: 1px solid var(--charcoal);
    z-index: 10;
    padding: 10px;
    list-style: none;
  }
  
  /* Show on hover or with a 'show' class */
  /* .widget.woocommerce.widget_price_filter:hover .woocommerce.widget_price_filter form {
    display: block;
  } */
  
  .woocommerce-widget-layered-nav-list__item {
    font-size: 14px;
    padding: 5px 0;
  }

.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #000000!important;
}
 
.select2-container--default .select2-selection--single .select2-selection__arrow,
.select2-container .select2-selection--single {
    height: 40px!important;
}

/* .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 40px;
    position: absolute;
    top: 1px;
    right: 1px;
    width: 20px;
} */
.select2-container--default .select2-selection--single {
    background-color: var(--white)!important;
    border: 1px solid var(--charcoal)!important; 
    padding: 6px 32px 6px 10px!important;
    border-radius: 0px!important;
}
.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple, .select2-container--default.select2-container--open.select2-container--below .select2-selection--single {
    border-radius: 0!important;
}

  :where(.woocommerce) .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #444;
    line-height: 1em;
    
    
}

:where(.woocommerce) .select2-container .select2-selection--single .select2-selection__rendered {
    padding: 0;    
}

/* .admin-bar .woocommerce .widget-area section {
    top: 50px;
} */

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) ul.products li.product .price {
    color: var(--dusty-denim);
}

.woocommerce ul.products li.product .button {
    width: 100%;
    text-align: center;
}

.woocommerce ul.products.slick-initialized li.product  {
    text-align: center;
    padding-right: 30px;
}

.woocommerce a.added_to_cart {
    display: none;
}

/* Home page new-arrivals product slider */

.new-arrivals-arrow {cursor: pointer;}
.new-arrivals button.slick-autoplay-toggle-button {
    position: absolute;
    bottom: 200px;
    right: 13px;
    background: var(--alice-blue);
    width: 37px;
    height: 37px;
    border-radius: 50%;
}

/* CUSTOM ON-HOVER IMAGE */
ul.products li.type-product a img, 
.woocommerce.normal-loop-hover ul.products li.type-product a img { 
    object-fit: cover;
    padding: 0;
    margin: 0 auto;
    transition: opacity .3s cubic-bezier(.215,.61,.355,1);
}

ul.products li.type-product.has-second-image a img.extra-image,
.woocommerce.normal-loop-hover ul.products li.type-product.has-second-image a img.extra-image,
.woocommerce ul.products li.type-product.has-second-image a img.extra-image {
    height: 0;
    width: 0;
    margin: 0;
}

ul.products li.type-product.has-second-image a img.extra-image,
.woocommerce.normal-loop-hover ul.products li.type-product.has-second-image a img.extra-image {
    height: unset;
    width: unset;
}


ul.products li.type-product.has-second-image a img.extra-image,
.woocommerce.normal-loop-hover ul.products li.type-product.has-second-image a img.extra-image {
    /* display: none; */
    height:0;
    opacity: 0;
    transition: opacity .3s cubic-bezier(.215,.61,.355,1);
}

ul.products li.type-product.has-second-image a:hover img.extra-image,
.woocommerce.normal-loop-hover ul.products li.type-product.has-second-image a:hover img.extra-image {
    /* display: block; */
    height:auto;
    width: auto;
    opacity: 1;
    transition: opacity .3s cubic-bezier(.215,.61,.355,1);
}
ul.products li.type-product.has-second-image a:hover img:nth-of-type(1):not(.yith-wcwl-icon) {
    margin-bottom: 0;
}
ul.products li.type-product.has-second-image a:hover img.extra-image {
    margin-bottom: 16px;
}

ul.products li.type-product.has-second-image a:hover img:nth-of-type(1):not(.yith-wcwl-icon),
.woocommerce.normal-loop-hover ul.products li.type-product.has-second-image a:hover img:nth-of-type(1):not(.yith-wcwl-icon) {
    /* display: none; */
    height:0;
    opacity: 0;
    transition: opacity .3s cubic-bezier(.215,.61,.355,1);
}



/* Single product */
.woocommerce #content div.product div.images, .woocommerce div.product div.images, .woocommerce-page #content div.product div.images, .woocommerce-page div.product div.images {
    float: left;
    width: 60%;
}
.woocommerce #content div.product div.summary, .woocommerce div.product div.summary, .woocommerce-page #content div.product div.summary, .woocommerce-page div.product div.summary {
    float: right;
    width: 38%;
    clear: none;
}

.woocommerce div.product .product_title {
    font-size: 2.75rem;
    line-height: 3rem;
    font-weight: 400;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price, 
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
    color: var(--old-rose);
    font-size: 1.25em;
    line-height: 1.7rem;
    margin-bottom: 0.5em;
}

.woocommerce-product-details__short-description {
    font-size: .875rem;
    line-height: 1.25rem;
}


/* Variation swatches */
.woocommerce div.product form.cart .variations td, .woocommerce div.product form.cart .variations th {
    display: block;
}

/* Form */

.woocommerce div.product form.cart {
    display: flex;
    flex-direction: column;
    margin-top: 20px;
}
.woocommerce div.product.product-type-variable form.cart {
    display: flex;
    flex-direction: column;
}

.woocommerce-variation-add-to-cart {
    display: flex;
    flex-direction: column;
}

.woocommerce div.product form.cart .button {
    vertical-align: middle;
    float: unset;
    width: -webkit-fill-available;
}

/* Product meta */

.product_meta {
    font-size: .85em;
    display: flex;
    flex-direction: column;
    background: var(--bright-snow);
    font-style: italic;
    gap: 2px;
    padding: 15px;
    border: 3px dotted white;
}

/* Main content */
.product-post-content {
    border-top: 1px solid var(--dusty-denim);
    margin-top: 30px;
    padding-top: 30px;
}

.product-post-content ul, .product-post-content ol {
    margin: 0 0 1.5em 20px;
    padding: 0;
}

/* Details tab */
.woocommerce table.shop_attributes {
    margin-top: 30px;
}

/* Images */
.single-product-main {
    /* max-width: vw; */
    margin: 0 auto;
    display: flex;
    flex-direction: column;
}


.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li {
    width: 100%;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image:nth-child(n+2) {
    width: 50%;
    display: inline-block;
    padding: 8px 10px;
}

.woocommerce-product-gallery .flex-viewport {
    height: auto !important;
}

.woocommerce #content div.product div.images, 
.woocommerce div.product div.images, 
.woocommerce-page #content div.product div.images,
 .woocommerce-page div.product div.images {
    float: left;
    width: 60%;
}


.woocommerce div.product div.images .flex-control-thumbs li img {
    cursor: default;
    opacity: 1;
    margin: 0;
    pointer-events: none;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img {
    opacity: 1;
    cursor: default;
    pointer-events: none;
}

ol.flex-control-nav.flex-control-thumbs {
    display: grid;
    gap: 25px;
    grid-auto-flow: row;
    grid-template-columns: repeat(2, 1fr);
}


/* Disabled button */
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt.disabled, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt.disabled:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt:disabled, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt:disabled:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt:disabled[disabled], 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt:disabled[disabled]:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt.disabled, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt.disabled:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt:disabled, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt:disabled:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt:disabled[disabled], 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt:disabled[disabled]:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt.disabled, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt.disabled:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:disabled, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:disabled:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:disabled[disabled], 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:disabled[disabled]:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt.disabled, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt.disabled:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt:disabled, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt:disabled:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt:disabled[disabled], 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt:disabled[disabled]:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt.disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt.disabled:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt:disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt:disabled:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt:disabled[disabled], 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt:disabled[disabled]:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt.disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt.disabled:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt:disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt:disabled:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt:disabled[disabled], 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt:disabled[disabled]:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt.disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt.disabled:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt:disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt:disabled:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt:disabled[disabled], 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt:disabled[disabled]:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt.disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt.disabled:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt:disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt:disabled:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt:disabled[disabled], 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt:disabled[disabled]:hover {
    background-color: var(--charcoal);
}

/* WooCommerce Modern Notices Customization */

.woocommerce-notices-wrapper {
    position: fixed;
    z-index: 1;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 30px;
}

.woocommerce-error, 
.woocommerce-info, 
.woocommerce-message {
    padding: 1.5em 2em !important;
    margin-bottom: 2em !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    background-color: var(--white) !important;
    list-style: none outside !important;
    font-family: var(--font) !important;
    font-size: var(--font-size) !important;
    color: var(--charcoal) !important;
    
    /* Εφαρμογή του border στυλ σου */
    border-width: 0 0 3px 0 !important;
    border-style: solid !important;
    border-radius: var(--border-radius) !important;
    
    box-shadow: 0 5px 15px rgba(0,0,0,0.05); /* Διακριτικό βάθος */
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Τίτλοι/Έμφαση μέσα στα notices */
.woocommerce-error li, 
.woocommerce-info, 
.woocommerce-message {
    line-height: 1.5;
}

/* 1. Success Message (π.χ. "Το προϊόν προστέθηκε στο καλάθι") */
.woocommerce-message {
    border-color: var(--alice-blue) !important;
}

.woocommerce-message::before {
    content: "✓";
    color: var(--alice-blue);
    margin-right: 15px;
    font-weight: bold;
    top: 1.6em;
    left: 1em;
}

/* 2. Info Message (π.χ. "Έχετε κουπόνι;") */
.woocommerce-info {
    border-color: var(--dusty-denim) !important;
}

.woocommerce-info::before {
    content: "i";
    font-family: var(--headings-font);
    font-style: italic;
    color: var(--dusty-denim);
    margin-right: 15px;
    font-weight: bold;
    top: 1.6em;
    left: 1em;
}



/* 3. Error Message (π.χ. "Λάθος κωδικός") */
.woocommerce-error {
    border-color: var(--old-rose) !important;
}

.woocommerce-error::before {
    content: "✕";
    color: var(--old-rose);
    margin-right: 15px;
    font-weight: bold;
    top: 1.6em;
    left: 1em;
}

/* Κουμπιά μέσα στα Notices (π.χ. Προβολή Καλαθιού) */
.woocommerce-message .button, 
.woocommerce-info .button, 
.woocommerce-error .button {
    background-color: var(--charcoal) !important;
    color: var(--white) !important;
    font-family: var(--headings-font) !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 10px 20px !important;
    border-radius: 0px !important;
    transition: all 0.3s ease;
    border: none !important;
}

.woocommerce-message .button:hover, 
.woocommerce-info .button:hover, 
.woocommerce-error .button:hover {
    background-color: var(--charcoal) !important;
}

/* Mobile Optimization */
@media (max-width: 768px) {
    .woocommerce-error, .woocommerce-info, .woocommerce-message {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
}


/* Typewriter about */
/* #typewriter::after {
    content: '|';
    animation: blink 0.7s infinite;
  }
  
  @keyframes blink {
    50% { opacity: 0; }
  } */


@media (min-width: 1200px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl {
        max-width: 1200px;
    }
}

#sb_instagram #sbi_images .sbi_item.sbi_num_diff_hide {
    display: block !important;
}







.single-product .elementor-slideshow--ui-hidden .elementor-swiper-button {
    opacity: 1 !important;
}

.single-product .elementor-swiper-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10; /* Ensure it's above the slides */
}

.single-product .elementor-lightbox .elementor-swiper-button-next, 
.single-product .elementor-lightbox .elementor-swiper-button-prev {
    width: 50px;
}




/* 1. Κρύβουμε τα πεδία του τιμολογίου εξ ορισμού */
.wc-block-components-address-form div.wc-block-components-address-form__custom-invoice-company-name,
.wc-block-components-address-form div.wc-block-components-address-form__custom-invoice-vat-number,
.wc-block-components-address-form div.wc-block-components-address-form__custom-invoice-tax-office,
.wc-block-components-address-form div.wc-block-components-address-form__custom-invoice-company-addr {
    display: none !important;
}

/* 2. Όταν το checkbox είναι επιλεγμένο, εμφάνισε τα πεδία */
.wc-block-components-address-form:has(div.wc-block-components-address-form__custom-invoice-want-invoice input:checked) div.wc-block-components-address-form__custom-invoice-company-name,
.wc-block-components-address-form:has(div.wc-block-components-address-form__custom-invoice-want-invoice input:checked) div.wc-block-components-address-form__custom-invoice-vat-number,
.wc-block-components-address-form:has(div.wc-block-components-address-form__custom-invoice-want-invoice input:checked) div.wc-block-components-address-form__custom-invoice-tax-office,
.wc-block-components-address-form:has(div.wc-block-components-address-form__custom-invoice-want-invoice input:checked) div.wc-block-components-address-form__custom-invoice-company-addr {
    display: block !important;
}


@media screen and (max-width: 1024px) {
    
    .woocommerce #content div.product div.images, .woocommerce div.product div.images, .woocommerce-page #content div.product div.images, .woocommerce-page div.product div.images,
    .woocommerce #content div.product div.summary, .woocommerce div.product div.summary, .woocommerce-page #content div.product div.summary, .woocommerce-page div.product div.summary {
        float: left;
        width: 100%;
    }
    
    .woocommerce div.product div.images .woocommerce-product-gallery__image:nth-child(n+2) {
        width: 25%;
        display: inline-block;
        padding: 8px 10px;
    }

    .woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
        max-width: 576px;
        margin: 0 auto;
    }

    .woocommerce ul.products.slick-initialized li.product {
        padding-right: 10px;
    }
}

@media screen and (max-width: 768px) {
    .admin-bar .main-header {
        top: 46px;
    }

    .woocommerce ul.products.slick-initialized li.product {
        padding-right: 30px;
        padding-left: 30px;
    }
}

@media screen and (max-width: 576px) {
    span.elementor-button-text.hfe-subtotal {
        display: none;
    }

    .overlay-search-form input[type="search"].search-field {
        font-size: 20px;
    }

    h1.woocommerce-products-header__title.page-title {
        margin-top: 10px;
        margin-bottom: 5px;
        font-size: 1.2rem;
    }
    :where(body:not(.single-product)) .woocommerce .woocommerce-breadcrumb {
        margin: 0 0 .1em;
    }
    .woocommerce .woocommerce-result-count,
    .woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb {
        font-size: .72em;
    }

    .woocommerce .woocommerce-result-count {
        width: 100%;
        text-align: center;
    }

    .woocommerce .woocommerce-ordering select,
    .woocommerce .woocommerce-ordering {
        width: 100%;
    }

    .woocommerce .widget-area {
        padding: 20px 10px;
        margin-bottom: 10px;
    }

    .widget.widget_text h2.widget-title {
        display: none;
    }
}

@media screen and (min-width: 576px) and (max-width: 1024px) {
    .container, .container-sm {
        max-width: 768px;
    }
}