/*
Theme Name: Cuoghi Elementor Child
Theme URI: https://parafarmaciacuoghi.com/
Description: Tema child leggero per Parafarmacia Cuoghi, basato su Hello Elementor.
Author: Parafarmacia Cuoghi
Template: hello-elementor
Version: 1.0.8
Text Domain: cuoghi-elementor-child
*/

@font-face {
    font-display: swap;
    font-family: "Karl Geoff";
    font-style: normal;
    font-weight: 400;
    src: url("assets/fonts/Karl-Geoff.ttf") format("truetype");
}

:root {
    --cuoghi-green: #66785d;
    --cuoghi-red: #c9827a;
    --cuoghi-ink: #30342d;
    --cuoghi-border: #ded7ca;
}

body,
button,
input,
select,
textarea {
    font-family: "Manrope", sans-serif;
}

/* Compatibilità responsive per i template importati dal vecchio builder. */
@media (min-width: 1351px) {
    .elementor-hidden-desktop {
        display: none !important;
    }
}

@media (min-width: 768px) and (max-width: 1350px) {
    .elementor-hidden-tablet {
        display: none !important;
    }

    /* Il vecchio header aveva una seconda riga di ricerca solo per telefono. */
    .elementor-element-62d95cc {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .elementor-hidden-mobile,
    .elementor-hidden-phone {
        display: none !important;
    }
}

.cuoghi-heading-content {
    color: var(--cuoghi-ink);
}

.cuoghi-heading-content__tagline {
    color: var(--cuoghi-red);
    font-size: clamp(2.8rem, 6vw, 5.3rem);
    font-weight: 400;
    line-height: .9;
    margin: 0 0 .25em;
}

.cuoghi-heading-content__title {
    color: inherit;
    font-size: clamp(2rem, 3.2vw, 2.875rem);
    font-weight: 500;
    line-height: 1.12;
    margin: 0;
}

.cuoghi-heading-content__content {
    line-height: 1.7;
    margin-top: 1.1rem;
}

.cuoghi-heading-content__content > :last-child {
    margin-bottom: 0;
}

.woocommerce-product-search {
    align-items: stretch;
    display: flex;
    width: 100%;
}

.woocommerce-product-search .search-field {
    border: 1px solid var(--cuoghi-border);
    border-radius: 12px 0 0 12px;
    min-height: 48px;
    padding: 0 18px;
    width: 100%;
}

.woocommerce-product-search button[type="submit"] {
    align-items: center;
    background: var(--cuoghi-green);
    border: 1px solid var(--cuoghi-green);
    border-radius: 0 12px 12px 0;
    color: #fff;
    display: inline-flex;
    justify-content: center;
    min-width: 52px;
    padding: 0 16px;
}

.stock.cuoghi-stock {
    align-items: center;
    display: flex;
    gap: .45rem;
}

.stock.cuoghi-stock.is-in-stock {
    color: var(--cuoghi-green);
}

.stock.cuoghi-stock.is-out-of-stock {
    color: var(--cuoghi-red);
}

:is(.cuoghi-product-template, .elementor-67676) {
    color: var(--cuoghi-ink);
}

:is(.cuoghi-product-template, .elementor-67676) .woocommerce-breadcrumb {
    color: #777b72;
    font-size: .875rem;
    margin-bottom: 2rem;
}

:is(.cuoghi-product-template, .elementor-67676) .woocommerce-product-gallery,
:is(.cuoghi-product-template, .elementor-67676) .woocommerce-product-gallery__wrapper {
    margin-bottom: 0;
}

:is(.cuoghi-product-template, .elementor-67676) .woocommerce-product-gallery__image {
    align-items: center;
    background: #fff;
    border: 1px solid #eeeae2;
    border-radius: 20px;
    display: flex;
    justify-content: center;
    overflow: hidden;
}

:is(.cuoghi-product-template, .elementor-67676) .woocommerce-product-gallery__image img {
    max-height: 620px;
    object-fit: contain;
}

:is(.cuoghi-product-template, .elementor-67676) .product_title {
    color: var(--cuoghi-ink);
    font-size: clamp(2rem, 3.2vw, 3.25rem);
    font-weight: 600;
    letter-spacing: -.035em;
    line-height: 1.08;
}

:is(.cuoghi-product-template, .elementor-67676) .price {
    color: var(--cuoghi-red) !important;
    font-size: 1.75rem !important;
    font-weight: 700;
}

:is(.cuoghi-product-template, .elementor-67676) form.cart {
    align-items: stretch;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

:is(.cuoghi-product-template, .elementor-67676) form.cart .quantity .qty {
    border: 1px solid var(--cuoghi-border);
    border-radius: 12px;
    min-height: 52px;
}

:is(.cuoghi-product-template, .elementor-67676) .product_meta {
    color: #777b72;
    display: flex;
    flex-wrap: wrap;
    font-size: .9rem;
    gap: 10px 24px;
}

:is(.cuoghi-product-template, .elementor-67676) .product_meta > span {
    display: inline-flex;
    gap: 5px;
}

/* Wishlist nelle card Elementor: neutralizza lo stile globale dei pulsanti WooCommerce. */
body.woocommerce
.elementor-loop-container
[data-elementor-type="loop-item"]
.wishlist-loop {
    align-items: center !important;
    display: grid !important;
    height: 32px !important;
    justify-items: center !important;
    max-height: 32px !important;
    max-width: 32px !important;
    min-height: 32px !important;
    min-width: 32px !important;
    overflow: visible !important;
    width: 32px !important;
}

body.woocommerce
.elementor-loop-container
[data-elementor-type="loop-item"]
.wishlist-loop :is(
    .elementor-widget-container,
    .elementor-shortcode,
    .yith-wcwl-add-to-wishlist,
    .yith-wcwl-add-button,
    .yith-wcwl-wishlistaddedbrowse,
    .yith-wcwl-wishlistexistsbrowse
) {
    align-items: center !important;
    display: grid !important;
    height: 32px !important;
    justify-items: center !important;
    margin: 0 !important;
    max-height: 32px !important;
    max-width: 32px !important;
    min-height: 32px !important;
    min-width: 32px !important;
    padding: 0 !important;
    width: 32px !important;
}

body.woocommerce
.elementor-loop-container
[data-elementor-type="loop-item"]
.wishlist-loop .yith-wcwl-add-to-wishlist a.button {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--cuoghi-border) !important;
    display: grid !important;
    height: 32px !important;
    justify-items: center !important;
    line-height: 0 !important;
    margin: 0 !important;
    max-height: 32px !important;
    max-width: 32px !important;
    min-height: 32px !important;
    min-width: 32px !important;
    padding: 0 !important;
    width: 32px !important;
}

body.woocommerce
.elementor-loop-container
[data-elementor-type="loop-item"]
.wishlist-loop .yith-wcwl-icon-svg {
    color: var(--cuoghi-border) !important;
    display: block !important;
    fill: transparent !important;
    height: 26px !important;
    margin: 0 !important;
    max-height: 26px !important;
    max-width: 26px !important;
    padding: 0 !important;
    stroke: currentColor !important;
    stroke-width: 1.6 !important;
    width: 26px !important;
}

body.woocommerce
.elementor-loop-container
[data-elementor-type="loop-item"]
.wishlist-loop .yith-wcwl-add-to-wishlist a.button:hover {
    background: transparent !important;
    color: var(--cuoghi-red) !important;
    transform: scale(1.08) !important;
}

body.woocommerce
.elementor-loop-container
[data-elementor-type="loop-item"]
.wishlist-loop :is(
    .yith-wcwl-add-to-wishlist.exists,
    .yith-wcwl-add-to-wishlist--added,
    .yith-wcwl-wishlistaddedbrowse,
    .yith-wcwl-wishlistexistsbrowse
) .yith-wcwl-icon-svg {
    color: var(--cuoghi-red) !important;
    fill: var(--cuoghi-red) !important;
    stroke: var(--cuoghi-red) !important;
}

:is(.cuoghi-product-template, .elementor-67676) .single_add_to_cart_button,
:is(.cuoghi-product-template, .elementor-67676) .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    background: var(--cuoghi-green) !important;
    border: 1px solid var(--cuoghi-green) !important;
    border-radius: 12px !important;
    color: #fff !important;
    font-weight: 700 !important;
    min-height: 52px;
    padding: 16px 28px !important;
    transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}

:is(.cuoghi-product-template, .elementor-67676) .single_add_to_cart_button:hover,
:is(.cuoghi-product-template, .elementor-67676) .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
    background: var(--cuoghi-red) !important;
    border-color: var(--cuoghi-red) !important;
    transform: translateY(-1px);
}

:is(.cuoghi-product-template, .elementor-67676) .woocommerce-tabs {
    border-top: 1px solid var(--cuoghi-border);
    margin-top: 1rem;
    padding-top: 2rem;
}

:is(.cuoghi-product-template, .elementor-67676) .woocommerce-tabs ul.tabs {
    display: flex;
    gap: 10px;
    padding: 0 !important;
}

:is(.cuoghi-product-template, .elementor-67676) .woocommerce-tabs ul.tabs::before,
:is(.cuoghi-product-template, .elementor-67676) .woocommerce-tabs ul.tabs li::before,
:is(.cuoghi-product-template, .elementor-67676) .woocommerce-tabs ul.tabs li::after {
    display: none !important;
}

:is(.cuoghi-product-template, .elementor-67676) .woocommerce-tabs ul.tabs li {
    background: #f6f4ef !important;
    border: 0 !important;
    border-radius: 999px !important;
    margin: 0 !important;
    padding: 0 22px !important;
}

:is(.cuoghi-product-template, .elementor-67676) .woocommerce-tabs ul.tabs li.active {
    background: var(--cuoghi-green) !important;
}

:is(.cuoghi-product-template, .elementor-67676) .woocommerce-tabs ul.tabs li.active a {
    color: #fff !important;
}

@media (max-width: 767px) {
    .cuoghi-heading-content__tagline {
        font-size: 3.4rem;
    }

    .cuoghi-heading-content__title {
        font-size: 2.35rem;
    }
}
