

:root {
        --plp-paper: #ffffff;
        --plp-ink: #000000;
        --plp-muted: #abb8c3;
        --plp-hairline: rgba(0, 0, 0, 0.12);
        --plp-accent: #0693e3;
        --plp-alert: #cf2e2e;

        --plp-font: var(--wp--preset--font-family--d-din), "Helvetica Neue", Arial, sans-serif;
}

.wp-block-navigation__submenu-container{
	width: 350px !important;
}
.wp-element-button.has-accent-background-color:hover{
	background-color: color-mix(in srgb, var(--plp-accent) 85%, var(--plp-ink)) !important;
	color: white;
	border: 1px solid var(--wp--preset--color--accent);
}
.wp-block-button.is-style-outline .wp-element-button.has-accent-color:hover,
.wp-block-button.is-style-outline .wp-element-button.has-accent-color:focus-visible {
    background-color: var(--wp--preset--color--accent);
    color: white!important;
}
.fg-hero .fg-cta .wp-element-button:hover{
    background: 
color-mix(in srgb, var(--plp-accent) 85%, var(--plp-ink));
    color: var(--plp-paper);
    border: 0;
}

.wc-block-product-template__responsive .wp-element-button{
margin-top: auto;
}

.wp-element-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 8px;
    height:41px;
    background-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--secondary);
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    border-radius: 28px;
    cursor: pointer;
    border: 1px solid transparent;
    transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease, opacity 150ms ease;
}

.wp-element-button:hover,
.wp-element-button:focus-visible {
    background-color: var(--wp--preset--color--secondary);
    color: var(--wp--preset--color--primary);
    border: 1px solid;
    border-color: var(--wp--preset--color--primary);
}

.wp-element-button:focus-visible {
    outline: 2px solid var(--wp--preset--color--primary);
    outline-offset: 2px;
}

.wp-element-button:active {
    opacity: 0.85;
}

/* Variante "outline" (attivabile dal pannello Stili del blocco Button in editor) */
.wp-block-button.is-style-outline .wp-element-button {
    background-color: transparent;
    color: var(--wp--preset--color--primary);
    border-color: var(--wp--preset--color--primary);
}

.wp-block-button.is-style-outline .wp-element-button:hover,
.wp-block-button.is-style-outline .wp-element-button:focus-visible {
    background-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--secondary);
}

/* Bottone disabilitato / non cliccabile */
.wp-element-button[aria-disabled="true"],
.wp-element-button:disabled {
    opacity: 0.4;
    cursor: not-allowed;
    pointer-events: none;
}

/* Wrapper: spaziatura quando ci sono più bottoni affiancati (blocco Button) */
.wp-block-buttons {
    gap: 16px;
}

/* Mobile: bottoni più compatti, ma comodi al tocco */
@media (max-width: 767.98px) {
    .wp-element-button {
        padding: 14px 20px;
        font-size: 12px;
    }
}
.cf7-minimal .wpcf7-form {
  --ink: #111;
  --ink-soft: #6b6b6b;
  --line: #d0d0d0;
  color: var(--ink);
}

.wpcf7-form p {
  margin: 0 0 2rem;
}

.wpcf7-form label {
  display: block;
  font-size: 0.8125rem;
  color: var(--ink-soft, #6b6b6b);
  margin-bottom: 0.5rem;
}

.wpcf7-form-control-wrap {
  display: block;
}

.wpcf7-form-control {
  width: 100%;
  padding: 0.5rem 0;
  border: none;
  border-bottom: 1px solid var(--line, #d0d0d0);
  border-radius: 0;
  color: var(--ink, #111);
  font-size: 1rem;
  outline: none;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}
.wpcf7-form-control.wpcf7-acceptance{
	border-bottom: 0!important;
}
.wpcf7-form-control:hover {
  border-bottom-color: var(--ink-soft, #6b6b6b);
}

.wpcf7-form-control:focus {
  border-bottom: 2px solid var(--ink, #111);
  padding-bottom: calc(0.5rem - 1px);
  background: rgba(0, 0, 0, 0.015);
}

textarea.wpcf7-form-control {
  resize: vertical;
  line-height: 1.6;
  height:180px;
}

.wpcf7-form input[type="submit"] {
  display: inline-block;
  margin-top: 0.5rem;
  padding: 0.75rem 2rem;
  background: black;
  color: #fff;
  border: 1px solid var(--ink, #111);
  border-radius: 0;
  font-size: 0.9375rem;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.wpcf7-form input[type="submit"]:hover {
  background: #fff;
  color: var(--ink, #111);
}

.wpcf7-form input[type="submit"]:disabled {
  opacity: 0.4;
  cursor: default;
}

.wpcf7-spinner {
  filter: grayscale(100%);
  opacity: 0.6;
}

.wpcf7-not-valid-tip {
  display: block;
  color: var(--ink, #111);
  font-size: 0.75rem;
  margin-top: 0.375rem;
}

.wpcf7-form-control.wpcf7-not-valid {
  border-bottom-color: var(--ink, #111) !important;
}

.wpcf7-response-output {
  margin-top: 1.5rem;
  padding: 0.875rem 0;
  border: none;
  border-top: 1px solid var(--ink, #111);
  border-bottom: 1px solid var(--ink, #111);
  font-size: 0.875rem;
  color: var(--ink, #111);
}
.wc-block-mini-cart__quantity-badge .wc-block-mini-cart__badge{
  font-size: 12px!important;
}
.wpml-ls-dropdown .wp-block-navigation__container{
    justify-content: flex-end;
}
.wpml-language-switcher-block .wpml-ls-dropdown ul li.wp-block-navigation-submenu ul.isHorizontal{
    width: fit-content!important;
}
/* Language switcher submenu */
.wp-block-navigation-item.wp-block-navigation-submenu.has-child
> ul.wp-block-navigation__submenu-container.isHorizontal {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;

    position: absolute !important;
    top: 100% !important;
    right: 0 !important;
    left: auto !important;
    width: max-content !important;

    margin: 0 !important;
    padding: 8px !important;

    background: #ffffff !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 6px !important;

    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.12) !important;

    z-index: 9999 !important;
}

/* Submenu item */
.wp-block-navigation-item.wp-block-navigation-submenu.has-child
> ul.wp-block-navigation__submenu-container.isHorizontal
> li.wp-block-navigation-item {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Language link */
.wp-block-navigation-item.wp-block-navigation-submenu.has-child
> ul.wp-block-navigation__submenu-container.isHorizontal
> li.wp-block-navigation-item
> div
> a.wp-block-navigation-item__content {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    min-width: 50px !important;

    padding: 6px 10px !important;
    margin: 0 !important;

    background: transparent !important;
    text-decoration: none !important;
}

/* Flag */
.wp-block-navigation-item.wp-block-navigation-submenu.has-child
> ul.wp-block-navigation__submenu-container.isHorizontal
> li.wp-block-navigation-item
img.wpml-ls-flag {
    display: block !important;
    width: auto !important;
    height: 16px !important;
    max-width: none !important;
}

/* Hover */
.wp-block-navigation-item.wp-block-navigation-submenu.has-child
> ul.wp-block-navigation__submenu-container.isHorizontal
> li.wp-block-navigation-item
> div
> a.wp-block-navigation-item__content:hover {
    background: #f5f5f5 !important;
}

/* Remove unwanted submenu spacing */
.wp-block-navigation-item.wp-block-navigation-submenu.has-child
> ul.wp-block-navigation__submenu-container.isHorizontal
* {
    box-sizing: border-box !important;
}

.wp-block-navigation-item.current-menu-item{
    color: var(--wp--preset--color--accent);
}
.logged-in.wp-block-loginout>a,.logged-out.wp-block-loginout>a{
    color: var(--wp--preset--color--primary);
}
header .wc-block-mini-cart__button{
    padding:0;
}
.guidefinder {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: center;
    margin-top: 24px;
}

.guidefinder__select {
    width: 100%;
    padding: 12px;
    border: 1px solid var(--wp--preset--color--hairline);
    border-radius: 10px;
    background: white;
}

.guidefinder__download.is-disabled {
    opacity: .4;
    pointer-events: none;
}
.guidefinder__download{
    color: var(--wp--preset--color--accent);
    text-decoration: none;
}