/* EtnaDetox — compact green button system */

:root {
    --etna-green-dark: #29421d;
    --etna-green: #598930;
    --btn-py: 0.5rem;
    --btn-px: 1.15rem;
    --btn-font: 0.72rem;
    --btn-border: 1.5px;
    --btn-radius: 60px;
}

@media (min-width: 992px) {
    :root {
        --btn-py: 0.55rem;
        --btn-px: 1.25rem;
        --btn-font: 0.75rem;
    }
}

/* Base */
.btn {
    font-weight: 500;
    letter-spacing: 0.08em;
    line-height: 1.25;
    border-width: var(--btn-border);
    border-radius: var(--btn-radius);
    padding: var(--btn-py) var(--btn-px);
    font-size: var(--btn-font);
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
    text-decoration: none;
    display: inline-block;
    text-align: center;
    white-space: nowrap;
    box-shadow: none;
}

.btn:hover,
.btn:focus-visible {
    transform: none;
    box-shadow: none;
}

.btn:active {
    transform: none;
    box-shadow: none;
}

/* Green outline — light backgrounds */
.btn.btn-outline-primary {
    border-color: var(--etna-green-dark);
    color: var(--etna-green-dark);
    background-color: transparent;
}

.btn.btn-outline-primary:hover,
.btn.btn-outline-primary:focus-visible {
    background-color: var(--etna-green-dark);
    border-color: var(--etna-green-dark);
    color: #fff;
}

/* White outline — dark / photo backgrounds */
.btn.btn-outline-white {
    border-color: #fff;
    color: #fff;
    background-color: transparent;
}

.btn.btn-outline-white:hover,
.btn.btn-outline-white:focus-visible {
    background-color: var(--etna-green);
    border-color: var(--etna-green);
    color: #fff;
}

/* Solid green */
.btn.btn-green {
    background-color: var(--etna-green);
    border-color: var(--etna-green);
    color: #fff;
}

.btn.btn-green:hover,
.btn.btn-green:focus-visible {
    background-color: var(--etna-green-dark);
    border-color: var(--etna-green-dark);
    color: #fff;
}

/* White buttons on solid green sections — hover inverts */
.bg-green-dark .btn.btn-outline-white:hover,
.bg-green-dark .btn.btn-outline-white:focus-visible,
.page-intro-content.bg-green-dark .btn.btn-outline-white:hover,
.page-intro-content.bg-green-dark .btn.btn-outline-white:focus-visible {
    background-color: #fff;
    border-color: #fff;
    color: var(--etna-green-dark);
}

/* Homepage hero */
.home-hero-inner::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.15) 0%,
        rgba(41, 66, 29, 0.45) 55%,
        rgba(41, 66, 29, 0.65) 100%
    );
    pointer-events: none;
    z-index: 1;
}

.home-hero-inner-title-buttons {
    z-index: 2;
}

.home-hero-inner-title-buttons .home-hero-title {
    text-shadow: 0 2px 16px rgba(0, 0, 0, 0.45);
}

.home-hero-buttons {
    gap: 0.5rem;
    max-width: 52rem;
    margin-left: auto;
    margin-right: auto;
}

.home-hero-buttons .btn {
    white-space: normal;
    line-height: 1.2;
}

.home-hero-buttons .btn.btn-outline-white {
    background-color: rgba(255, 255, 255, 0.78);
    border-color: #fff;
    color: var(--etna-green-dark);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.home-hero-buttons .btn.btn-outline-white:hover,
.home-hero-buttons .btn.btn-outline-white:focus-visible {
    background-color: #fff;
    border-color: #fff;
    color: var(--etna-green-dark);
}

/* Navbar CTA (Prenota) — li.btn wraps .nav-link; border only on the link */
#navbarNav .nav-item.btn,
#navbarNav .btn {
    padding: 0;
    margin: 0;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

#navbarNav .btn .nav-link {
    display: inline-block;
    padding: var(--btn-py) var(--btn-px) !important;
    font-size: var(--btn-font);
    font-weight: 500;
    letter-spacing: 0.08em;
    line-height: 1.25;
    text-transform: uppercase;
    border: var(--btn-border) solid var(--etna-green-dark) !important;
    border-radius: var(--btn-radius) !important;
    color: var(--etna-green-dark);
    background-color: transparent;
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.navbar-light #navbarNav .btn .nav-link:hover,
.navbar-light #navbarNav .btn .nav-link:focus-visible {
    background-color: var(--etna-green-dark);
    border-color: var(--etna-green-dark) !important;
    color: #fff;
}

.navbar-dark #navbarNav .btn .nav-link {
    border-color: #fff !important;
    color: #fff;
    background-color: transparent;
}

.navbar-dark #navbarNav .btn .nav-link:hover,
.navbar-dark #navbarNav .btn .nav-link:focus-visible {
    background-color: var(--etna-green);
    border-color: var(--etna-green) !important;
    color: #fff;
}

/* Stretched-link cards */
.stretched-link.btn::after {
    z-index: 1;
}

/* Homepage — camere cards (hover come CTA sotto) */
@media (min-width: 768px) {
    .home-camere-row {
        max-width: 70%;
        margin-left: auto;
        margin-right: auto;
    }
}

.home-camera-card h3 {
    font-size: 1.125rem;
    line-height: 1.35;
    min-height: calc(1.35em * 2);
    margin-bottom: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.home-camera-card h3 a {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-align: center;
}

.home-camera-card .home-camera-card-media {
    max-width: 100%;
}

.home-camera-card .hcc-img-wrapper {
    overflow: hidden;
    height: 320px;
}

@media (min-width: 768px) {
    .home-camera-card .hcc-img-wrapper {
        height: 400px;
    }
}

@media (min-width: 1200px) {
    .home-camera-card .hcc-img-wrapper {
        height: 480px;
    }
}

.home-camera-card .hcc-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: all 0.4s ease-in-out;
}

.home-camera-card .hcc-img-wrapper::before {
    transition: all 0.5s ease-in-out;
    background-color: rgba(0, 0, 0, 0);
    content: "";
    position: absolute;
    z-index: 1;
    inset: 0;
    display: block;
}

.home-camera-card:hover .hcc-img-wrapper::before {
    background-color: rgba(41, 66, 29, 0.8);
}

.home-camera-card .home-camera-card-cta {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    pointer-events: none;
}

.home-camera-card:hover img {
    transform: none;
}

/* WooCommerce */
.woocommerce .woocommerce-Button,
.woocommerce .button,
.product-grid-item .button,
.wc-block-components-button:not(.is-link) {
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    line-height: 1.25 !important;
    border-width: var(--btn-border) !important;
    border-radius: var(--btn-radius) !important;
    padding: var(--btn-py) var(--btn-px) !important;
    font-size: var(--btn-font) !important;
    text-transform: uppercase !important;
    border-color: var(--etna-green-dark) !important;
    color: var(--etna-green-dark) !important;
    background: transparent !important;
    box-shadow: none !important;
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease !important;
}

.woocommerce .woocommerce-Button:hover,
.woocommerce .button:hover,
.product-grid-item .button:hover,
.wc-block-components-button:not(.is-link):hover {
    background: var(--etna-green-dark) !important;
    border-color: var(--etna-green-dark) !important;
    color: #fff !important;
}

.summary .single_add_to_cart_button {
    border-color: #fff !important;
    color: #fff !important;
    background: transparent !important;
}

.summary .single_add_to_cart_button:hover {
    background: var(--etna-green) !important;
    border-color: var(--etna-green) !important;
    color: #fff !important;
}

/* Contact Form 7 */
.wpcf7 input[type="submit"],
.wpcf7 button[type="submit"] {
    font-weight: 500;
    letter-spacing: 0.08em;
    line-height: 1.25;
    border: var(--btn-border) solid var(--etna-green-dark);
    border-radius: var(--btn-radius);
    padding: var(--btn-py) var(--btn-px);
    font-size: var(--btn-font);
    text-transform: uppercase;
    color: var(--etna-green-dark);
    background-color: transparent;
    cursor: pointer;
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.wpcf7 input[type="submit"]:hover,
.wpcf7 input[type="submit"]:focus-visible,
.wpcf7 button[type="submit"]:hover,
.wpcf7 button[type="submit"]:focus-visible {
    background-color: var(--etna-green-dark);
    border-color: var(--etna-green-dark);
    color: #fff;
}

.wpcf7 input[type="submit"].btn,
.wpcf7 button.btn {
    cursor: pointer;
}
