/*
Theme Name: Dualvalcost WP
Theme URI: https://dualcv.net/dualvalcost
Author: Your Name
Author URI: https://dualcv.net
Description: WordPress theme optimized for WooCommerce and Elementor.
Version: 1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dualvalcost
*/

/* Fonts */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Montserrat:wght@600;700&display=swap");

/* ==========================
   Brand tokens
   ========================== */
:root {
  /* Brand */
  --brand-green: #3e7653;
  --brand-dark: #234632;
  --brand-light: #5a966f;
  --brand-gold: #d39b3b;

  /* Neutrals (logo) */
  --gray-light: #d9d9d9;
  --gray: #a8a8a8;

  /* UI neutrals */
  --text: #111827;
  --text-2: #4b5563;
  --bg: #f9fafb;
  --bg-alt: #edf2ef;

  /* Borders + focus */
  --border: #e5e7eb;
  --ring: #d39b3b;

  /* Footer */
  --footer-bg: #234632;
  --footer-text: #ffffff;
}

/* Base */
html,
body {
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color: var(--text);
  background: var(--bg);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: Montserrat, Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

a {
  color: var(--brand-dark);
  text-decoration: none;
}

a:hover {
  color: var(--brand-green);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
  outline: 2px solid transparent;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ring) 55%, transparent);
  border-radius: 6px;
}

/* Elementor Header menu links (dacă există) */
a.hfe-menu-item {
  color: var(--text);
}
a.hfe-menu-item:hover {
  color: var(--brand-dark);
}

p {
  margin-bottom: 1rem !important;
}

blockquote,
dd,
dl,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
p,
pre {
  margin: 0 0 1rem 0;
}

/* Asigură că butonul dropdown are un pointer */
.dropdown-toggle {
  cursor: pointer;
  display: flex;
  align-items: center;
}

/* Micșorează iconița săgeată */
.dropdown-toggle i {
  font-size: 14px;
}

/* Clase pentru animare meniu mobil */
.translate-x-0 {
  transform: translateX(0);
}
.-translate-x-full {
  transform: translateX(-100%);
}

/* Dropdown-ul este inițial ascuns */
[data-dropdown] {
  display: none;
}

/* Header block 2 SVG hover */
li.wp-social-link.wp-block-social-link svg:hover {
  fill: var(--brand-gold) !important;
}

/* Offcanvas sidebar */
.translate-x-full {
  transform: translateX(100%);
}

#desktop-offcanvas {
  min-width: 350px;
  transition: transform 0.3s ease-in-out;
}

/* Widgets sidebar styling */
.wp-block-group {
  box-sizing: border-box;
  margin: 15px 0;
  border-bottom: 1px solid var(--border);
}

h2.wp-block-heading {
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 20px;
  border-bottom: 1px solid var(--border);
  padding-bottom: 20px;
  color: var(--text);
}

ul.wp-block-latest-posts__list.wp-block-latest-posts li,
ul.wp-block-archives-list.wp-block-archives li,
ul.wp-block-categories-list.wp-block-categories li {
  margin: 15px 0;
}

label.wp-block-search__label {
  font-size: 1rem;
  font-weight: 700;
}

.wp-block-group a:hover {
  color: var(--brand-green);
}

.wp-block-search__input {
  border: 1px solid var(--border);
}

button.wp-block-search__button.wp-element-button {
  background-color: var(--gray-light);
  margin: 0;
  padding: 10px;
  color: var(--text);
}
button.wp-block-search__button.wp-element-button:hover {
  background-color: var(--brand-green);
  color: #fff;
}

/* Menu */

/*
 * Acestea sunt stilurile CSS care trebuie incluse (injectate din JS)
 * pentru a funcționa corect cu modificările din PHP.
 */
@media (max-width: 767px) {
  .submenu-dropdown,
  .submenu-dropdown-nested {
    position: static !important;
    display: none;
    max-height: 0;
    overflow: hidden;

    width: 100% !important;
    box-shadow: none !important;
    border: none !important;
    border-left: 2px solid var(--gray-light) !important;
    background: var(--bg) !important;
    margin-left: 0 !important;
    padding-left: 0 !important;

    transition: max-height 0.3s ease-in-out;
  }

  .submenu-dropdown.mobile-open,
  .submenu-dropdown-nested.mobile-open {
    display: block !important;
    max-height: 1000px !important;
    padding: 0.5rem 0 !important;
  }

  .submenu-item .submenu-indicator {
    display: none !important;
  }

  .submenu-item .submenu-indicator-icon {
    transform: none !important;
  }

  .has-submenu > a {
    padding-right: 3rem !important;
  }

  .submenu-toggle i.fa-chevron-down {
    transition: transform 0.3s ease;
  }
}

@media (min-width: 768px) {
  .submenu-dropdown,
  .submenu-dropdown-nested {
    display: block !important;
    position: absolute !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(10px);
    transition: all 0.2s ease-in-out;
  }

  .has-submenu:hover > .submenu-dropdown,
  .submenu-item:hover > .submenu-dropdown-nested,
  .has-submenu:focus-within > .submenu-dropdown,
  .submenu-item:focus-within > .submenu-dropdown-nested {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }

  .has-submenu:hover > a .submenu-indicator-desktop .submenu-indicator-icon {
    transform: rotate(180deg);
  }

  .submenu-toggle {
    display: none !important;
  }

  .submenu-dropdown-nested .submenu-indicator {
    display: flex !important;
  }
}

/* Modal buton search */
.hidden {
  display: none;
}

#search-modal {
  transition: opacity 0.3s ease-in-out;
}

/* Footer */
footer.site-footer {
  background-color: var(--footer-bg);
  color: var(--footer-text);
}

.footer-widget {
  padding: 50px 20px;
}

.footer-widget p {
  line-height: 35px;
}

.site-footer a {
  color: var(--brand-gold);
}

.site-footer a:hover {
  color: #fff;
}

/* Footer Links Fix */
.footer-widget h2, 
.footer-widget h3, 
.footer-widget h4 {
    color: #fff; /* Titlurile widget-urilor albe */
    margin-bottom: 1.5rem;
    font-weight: 700;
}

.footer-widget a {
    color: #d1d5db; /* Gri deschis */
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-widget a:hover {
    color: #5A966F; 
}

.footer-widget ul li {
    margin-bottom: 0.5rem;
}

h6.wp-block-heading {
  color: var(--brand-gold);
  border-style: dotted;
  font-size: 1.4rem;
  margin-bottom: 20px;
  font-weight: 700;
}

ul.wp-block-list li {
  margin: 10px 0;
}

ul.wp-block-list a:hover {
  color: var(--brand-gold);
}

hr.wp-block-separator.has-alpha-channel-opacity {
  border-color: var(--brand-gold);
  margin: 15px 0;
  border-style: solid;
  opacity: 0.25;
}

.wp-block-separator {
  border: none;
  border-top: 0 solid;
}

/* WooCommerce */
li.product-item-custom {
  list-style-type: none;
}

.woocommerce .woocommerce-ordering {
  margin: 0;
}

/* Stilizare Modal WooCommerce */
.woocommerce-message-modal {
  position: fixed;
  bottom: 10%;
  right: 20px;
  width: 320px;
  background-color: #ffffff;
  border: 2px solid var(--brand-green);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
  border-radius: 8px;
  padding: 15px;
  z-index: 9999;
  display: none;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.woocommerce-message-modal.show {
  display: block;
  opacity: 1;
  transform: translateY(0);
}

.woocommerce-message-modal .close-modal {
  position: absolute;
  top: 5px;
  right: 10px;
  font-size: 18px;
  cursor: pointer;
  color: var(--brand-dark);
}

.woocommerce-message-modal .button {
  background-color: #ffffff !important;
  color: var(--brand-dark) !important;
  border: 2px solid var(--brand-green);
  padding: 8px 12px;
  border-radius: 8px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  transition: all 0.3s ease;
  width: 100%;
  text-align: center;
  justify-content: center;
  margin-top: 10px;
}

.woocommerce-message-modal .button::before {
  content: "\f06e";
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
  margin-right: 8px;
}

.woocommerce-message-modal .button:hover {
  background-color: var(--brand-green) !important;
  color: #ffffff !important;
}

.woocommerce .quantity .qty {
  text-align: center;
  padding: 5px;
  border: 1px solid #9ca3af;
  border-radius: 6px;
}

.star-rating span {
  color: #fbbf24 !important;
}

#comment {
  border: 1px solid #d1d5db !important;
  padding: 0.5rem;
  border-radius: 0.5rem;
}

span.woocommerce-Price-amount.amount {
  color: rgb(107 114 128);
}

div.mt-2 > span.text-lg.font-bold.text-gray-900 {
  font-size: 1.125rem !important;
  font-weight: 700 !important;
  color: #1a202c !important;
}

div.mt-2 > span.text-sm.text-gray-500.line-through.ml-2 {
  font-size: 0.875rem !important;
  color: #111 !important;
  text-decoration: line-through !important;
  margin-left: 0.5rem !important;
}

button.single_add_to_cart_button.button.alt.disabled.wc-variation-selection-needed {
  visibility: hidden;
}

.woocommerce-message {
  border-top-color: #fff;
  background-color: #fff;
}

.woocommerce .woocommerce-error .button,
.woocommerce .woocommerce-info .button,
.woocommerce .woocommerce-message .button,
.woocommerce-page .woocommerce-error .button,
.woocommerce-page .woocommerce-info .button,
.woocommerce-page .woocommerce-message .button {
  float: none;
  margin: 0 auto;
}

/* Cart Order Summary */
.wp-block-woocommerce-cart-order-summary-block {
  background-color: var(--bg-alt);
  padding: 20px;
  border-radius: 10px;
  border: 1px solid var(--border);
}

.wp-block-woocommerce-cart-order-summary-block .checkout-button,
.woocommerce a.checkout-button {
  display: block;
  width: 100%;
  background-color: var(--brand-dark);
  color: white;
  padding: 12px 20px;
  font-size: 16px;
  font-weight: 800;
  text-align: center;
  text-transform: uppercase;
  border-radius: 10px;
  transition: all 0.2s ease-in-out;
}

.wp-block-woocommerce-cart-order-summary-block .checkout-button:hover,
.woocommerce a.checkout-button:hover {
  background-color: var(--brand-green);
}

.cart-collaterals {
  margin-top: 20px;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
  padding: 10px;
}

.wc-block-components-sidebar-layout.wc-block-cart.wp-block-woocommerce-filled-cart-block.is-large,
.wp-block-woocommerce-checkout.alignwide.wc-block-checkout {
  padding: 35px;
}

a.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained,
button.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button.contained {
  background-color: var(--brand-green);
  border-radius: 10px;
  color: #fff;
  margin-top: 20px;
}
a.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained:hover,
button.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button.contained:hover {
  background-color: var(--brand-dark);
}

label {
  display: block;
  margin: 10px 0;
}

.swiper-container.swiper-initialized.swiper-horizontal.swiper-backface-hidden {
  padding: 20px 0;
}

/* Contact Form */
.contact_form label {
  font-weight: 700;
  margin-bottom: 1px;
}

.contact_form input {
    border: 1px solid #ccc;
    padding: 10px 7px;
    margin-top: 5px;
    max-width: 350px;
    border-radius: 20px;
    background-color: #f3f5f3;
}

.contact_form input:hover {
    background-color: #fff;
}

.contact_form textarea {
    border: 1px solid #ccc;
    padding: 7px;
    margin-top: 5px;
    border-radius: 20px;
    background-color: #f3f5f3;
}

.contact_form textarea:hover {
    background-color: #fff;
}

.contact_form a {
  color: var(--brand-dark);
}
.contact_form a:hover {
  color: var(--brand-green);
}

input.wpcf7-form-control.wpcf7-submit.has-spinner {
  background-color: var(--brand-dark);
  color: #fff;
  padding: 10px 25px;
  border-radius: 15px;
}

input.wpcf7-form-control.wpcf7-submit.has-spinner:hover {
  background-color: var(--brand-green);
}

/* Subscribe */
.subscribe p {
  display: flex;
  align-items: center;
  gap: 10px;
}

.subscribe input[type="email"] {
  padding: 10px;
  font-size: 16px;
  border: 1px solid #ccc;
  border-radius: 8px;
  width: 250px;
}

.subscribe br {
  display: none;
}

.subscribe button {
  padding: 10px 20px;
  font-size: 16px;
  border: none;
  background-color: var(--brand-dark);
  color: #fff;
  border-radius: 8px;
  cursor: pointer;
  font-weight: 600;
}

.subscribe button:hover {
  background-color: var(--brand-green);
}

/* Media */
@media (min-width: 768px) {
  .show-dropdown-desktop {
    display: block !important;
    position: absolute;
    left: 100%;
    top: 0;
    margin-left: 5px;
    background-color: white;
    border: 1px solid #ccc;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
  }
}

@media (max-width: 767px) {
  .show-dropdown-mobile {
    display: block !important;
    position: relative;
    left: 0;
    top: auto;
    margin-left: 0;
    background-color: white;
    border: 1px solid #ccc;
    box-shadow: none;
    z-index: 999;
  }

  .footer-widget {
    text-align: center;
  }
  
  .contact_form input, .contact_form textarea {
      max-width: 100%;
  }

  .woocommerce .woocommerce-ordering,
  .woocommerce-page .woocommerce-ordering {
    float: none;
    text-align: center;
  }

  img.wp-image-429 {
    margin: 0 auto;
  }

  .footer-widget {
    padding: 10px;
  }

  hr.wp-block-separator.has-alpha-channel-opacity {
    width: 50%;
    margin: 0 auto;
  }
      .submenu-dropdown, 
    .submenu-dropdown-nested {
        opacity: 0;
        visibility: hidden;
        transform: translateY(10px);
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        display: block; /* suprascrie display:none dacă e cazul */
    }

    .group:hover > .submenu-dropdown,
    .group:hover > .submenu-dropdown-nested {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
}

