/* ==========================================================
   EM Farm - Reset e base tema
   Base: WordPress Twenty Twenty-One + Elementor + WooCommerce
   ========================================================== */

:root {
  --em-color-main: #d9cdbf;
  --em-color-text: #000000;
  --em-color-green: #24733a;
  --em-color-green-dark: #07261d;
  --em-color-white: #ffffff;
  --em-color-soft: #f7f3ee;
  --em-color-border: rgba(0, 0, 0, 0.12);
  --em-color-error: #c62828;

  --em-font-body: 'Urbanist', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --em-font-heading: 'Montserrat', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --em-container: 1520px;
  --em-container-wide: 1680px;
  --em-container-narrow: 1080px;
  --em-gutter: clamp(18px, 4vw, 48px);

  --em-radius-sm: 6px;
  --em-radius-md: 12px;
  --em-radius-pill: 999px;
  --em-transition: 180ms ease;
}

html {
  box-sizing: border-box;
  scroll-behavior: smooth;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

body {
  margin: 0;
  color: var(--em-color-text);
  background: var(--em-color-white);
  font-family: var(--em-font-body);
  font-size: 16px;
  line-height: 1.5;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img,
picture,
svg,
video {
  display: block;
  max-width: 100%;
  height: auto;
}

p,
ul,
ol,
figure {
  margin-top: 0;
}

p:last-child,
ul:last-child,
ol:last-child {
  margin-bottom: 0;
}

a {
  color: inherit;
  text-decoration-thickness: 0;
  text-underline-offset: 0;
  transition: color var(--em-transition), opacity var(--em-transition), background-color var(--em-transition), border-color var(--em-transition);
}

a:hover {
  color: var(--em-color-green);
}

:focus {
  outline: none;
}

:focus-visible {
  outline: 2px solid var(--em-color-green);
  outline-offset: 3px;
}

::selection {
  color: var(--em-color-white);
  background: var(--em-color-green-dark);
}

/* Twenty Twenty-One reset */
.site-header,
.site-main,
.widget-area,
.site-footer {
  padding-top: 0;
  padding-bottom: 0;
}

.site-header {
  row-gap: 0;
}

.site-logo {
  margin: 0;
}

.site-footer > .site-info {
  padding-top: 0;
  border: 0;
}

.entry-content,
.entry-summary {
  font-family: var(--em-font-body);
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  margin-top: 0;
  color: var(--em-color-text);
  font-family: var(--em-font-heading);
  line-height: 1.08;
}

h1,
.h1 {
  font-size: clamp(2.2rem, 5vw, 5rem);
}

h2,
.h2 {
  font-size: clamp(1.8rem, 3.4vw, 3.5rem);
}

h3,
.h3 {
  font-size: clamp(1.35rem, 2vw, 2rem);
}

strong,
b {
  font-weight: 800;
}

/* Container: più vicino a un e-commerce editoriale/premium, non full 1920 */
.container,
.em-container,
.site-header,
.widget-area,
.site-footer,
.post-thumbnail,
.entry-content > :not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator),
.entry-content .wp-audio-shortcode,
[class*='inner-container'] > :not(.entry-content):not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator),
.default-max-width,
.woocommerce .content-area,
.woocommerce-page .content-area {
  max-width: var(--em-container);
  margin-right: auto;
  margin-left: auto;
}

.em-container-wide,
.alignwide,
.wide-max-width {
  width: min(100% - (var(--em-gutter) * 2), var(--em-container-wide));
  max-width: var(--em-container-wide);
  margin-right: auto;
  margin-left: auto;
}

.alignfull,
.e-con-full,
.em-full-width {
  width: 100%;
  max-width: 100%;
}

/* Elementor boxed */
.e-con.e-con-boxed > .e-con-inner,
.e-con-boxed > .e-con-inner,
.elementor-section.elementor-section-boxed > .elementor-container {
  width: min(100% - (var(--em-gutter) * 2), var(--em-container));
  max-width: var(--em-container);
}

.e-con-boxed.em-wide > .e-con-inner,
.elementor-section.elementor-section-boxed.em-wide > .elementor-container {
  max-width: var(--em-container-wide);
}

/* Header/nav */
.primary-navigation .current-menu-item > a:first-child,
.primary-navigation .current_page_item > a:first-child,
.primary-navigation .current-menu-item > a:first-child:hover,
.primary-navigation .current_page_item > a:first-child:hover,
.primary-navigation a:hover {
  text-decoration: none;
}

.primary-navigation > div > .menu-wrapper .sub-menu-toggle:focus {
  outline: none;
}

.has-background-white .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) {

}

.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button):not(.button):not(.em-featured-hero__button):not(.em-hero-product-card__cart):not(.em-header-action),
.has-background-white .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button):not(.button):not(.em-featured-hero__button):not(.em-hero-product-card__cart):not(.em-header-action) {
  text-decoration: none;
}

.site .button:focus, button:focus, input[type="submit"]:focus, input[type="reset"]:focus, .wp-block-search .wp-block-search__button:focus, .wp-block-button .wp-block-button__link:focus, .wp-block-file a.wp-block-file__button:focus {
  outline-offset: 0;
  outline: none;
}

.site a:focus-visible:not(.wp-block-button__link):not(.wp-block-file__button) {
  outline: 2px solid var(--em-color-green);
  outline-offset: 3px;
}

.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) img {
  outline: none;
}

/* Bottoni globali */
.button,
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
input[type='submit'] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0.85rem 1.65rem;
  border: 2px solid var(--em-color-green-dark);
  border-radius: var(--em-radius-pill);
  color: var(--em-color-white);
  background: var(--em-color-green-dark);
  font-family: var(--em-font-heading);
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.04em;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
  transition: color var(--em-transition), background-color var(--em-transition), border-color var(--em-transition), transform var(--em-transition);
}

.button:hover,
.wp-block-button__link:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
input[type='submit']:hover {
  color: var(--em-color-green-dark);
  background: transparent;
  border-color: var(--em-color-green-dark);
}

.button:disabled,
button:disabled,
input[type='submit']:disabled,
input[type='reset']:disabled,
.wp-block-search .wp-block-search__button:disabled,
.wp-block-button .wp-block-button__link:disabled,
.wp-block-file a.wp-block-file__button:disabled,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled] {
  opacity: 0.45;
  cursor: not-allowed;
}

/* Utility cromatiche EM Farm */
.em-bg-main {
  background: var(--em-color-main);
}

.em-bg-soft {
  background: var(--em-color-soft);
}

.em-bg-green {
  color: var(--em-color-white);
  background: var(--em-color-green-dark);
}

.em-text-green {
  color: var(--em-color-green);
}

.em-section {
  padding-top: clamp(56px, 7vw, 120px);
  padding-bottom: clamp(56px, 7vw, 120px);
}

input[type="text"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="number"]:focus, input[type="tel"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="time"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="color"]:focus, .site textarea:focus {
  color: var(--form--color-text);
  outline-offset: 2px;
  outline: none;
}

@media (max-width: 767px) {
  :root {
    --em-gutter: 18px;
  }

  body {
    font-size: 15px;
  }

  .button,
  .wp-block-button__link,
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button,
  input[type='submit'] {
    width: 100%;
  }
}




