.elementor-21454 .elementor-element.elementor-element-8b700cf{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--padding-top:64px;--padding-bottom:24px;--padding-left:64px;--padding-right:64px;}.elementor-21454 .elementor-element.elementor-element-8b700cf:not(.elementor-motion-effects-element-type-background), .elementor-21454 .elementor-element.elementor-element-8b700cf > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-21454 .elementor-element.elementor-element-90cd538{text-align:start;}.elementor-21454 .elementor-element.elementor-element-90cd538 .elementor-heading-title{font-family:"Merriweather Sans", Sans-serif;font-size:18px;font-weight:700;text-transform:uppercase;line-height:1em;letter-spacing:0.9px;color:#4E825B;}.elementor-21454 .elementor-element.elementor-element-afbb3a9{text-align:start;}.elementor-21454 .elementor-element.elementor-element-afbb3a9 .elementor-heading-title{font-family:"Ametlla Display", Sans-serif;font-size:60px;font-weight:400;font-style:normal;line-height:60px;letter-spacing:2.25px;color:#4E4934;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-21454 .elementor-element.elementor-element-b40b10b{width:var( --container-widget-width, 50rem );max-width:50rem;--container-widget-width:50rem;--container-widget-flex-grow:0;font-family:"Merriweather", Sans-serif;font-size:16px;font-weight:300;line-height:26px;color:#4E4934;}.elementor-21454 .elementor-element.elementor-element-61b79dd{width:var( --container-widget-width, 50rem );max-width:50rem;--container-widget-width:50rem;--container-widget-flex-grow:0;font-family:"Merriweather", Sans-serif;font-size:16px;font-weight:300;line-height:26px;color:#4E4934;}.elementor-21454 .elementor-element.elementor-element-2efe6c4{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--padding-top:24px;--padding-bottom:64px;--padding-left:0px;--padding-right:0px;}.elementor-21454 .elementor-element.elementor-element-2efe6c4:not(.elementor-motion-effects-element-type-background), .elementor-21454 .elementor-element.elementor-element-2efe6c4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}@media(max-width:1024px){.elementor-21454 .elementor-element.elementor-element-8b700cf{--padding-top:64px;--padding-bottom:24px;--padding-left:64px;--padding-right:64px;}.elementor-21454 .elementor-element.elementor-element-afbb3a9 .elementor-heading-title{font-size:60px;line-height:60px;}.elementor-21454 .elementor-element.elementor-element-2efe6c4{--padding-top:24px;--padding-bottom:64px;--padding-left:0px;--padding-right:0px;}}@media(max-width:767px){.elementor-21454 .elementor-element.elementor-element-8b700cf{--padding-top:48px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}.elementor-21454 .elementor-element.elementor-element-afbb3a9 .elementor-heading-title{font-size:45px;line-height:50px;}.elementor-21454 .elementor-element.elementor-element-2efe6c4{--padding-top:24px;--padding-bottom:64px;--padding-left:0px;--padding-right:0px;}}/* Start custom CSS for container, class: .elementor-element-8b700cf */@media (min-width: 1025px) {
  .elementor-21454 .elementor-element.elementor-element-8b700cf { align-items: center !important; }
  .elementor-21454 .elementor-element.elementor-element-8b700cf .elementor-widget-heading .elementor-heading-title,
  .elementor-21454 .elementor-element.elementor-element-8b700cf .elementor-widget-text-editor,
  .elementor-21454 .elementor-element.elementor-element-8b700cf .elementor-widget-text-editor p { text-align: center !important; }
  .elementor-21454 .elementor-element.elementor-element-8b700cf .elementor-widget-heading, .elementor-21454 .elementor-element.elementor-element-8b700cf .elementor-widget-text-editor { width: 100%; max-width: 900px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-1f796fa */.elementor-21454 .elementor-element.elementor-element-1f796fa .ao-ws-card { border-radius: 12px !important; }
.elementor-21454 .elementor-element.elementor-element-1f796fa .ao-ws-label { border-radius: 4px !important; }
@media (min-width: 768px) {
  .elementor-21454 .elementor-element.elementor-element-1f796fa .ao-ws-chips { justify-content: flex-end !important; }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-70d6125 */.elementor-21454 .elementor-element.elementor-element-70d6125 { display: none !important; }/* End custom CSS */
/* Start custom CSS *//* Widget HTML amplada completa */
.elementor-page-21454 .elementor-widget-html,
.elementor-page-21454 .elementor-widget-html .elementor-widget-container,
.elementor-page-21454 .ao-tabmenu {
  width: 100% !important;
  max-width: 100% !important;
}

/* Tabs centrats a desktop */
@media (min-width: 768px) {
  .elementor-page-21454 .ao-tabs-row {
    justify-content: center !important;
    overflow-x: visible !important;
    flex-wrap: wrap !important;
  }
}

/* Icona X modal 24x24px */
.ao-modal-close-btn svg {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  display: block !important;
}

/* CTA mai vermell */
.ao-cta, .ao-cta:hover, .ao-cta:focus, .ao-cta:active, .ao-cta:visited {
  background: #595440 !important;
  color: #FFFFFF !important;
  border-color: #595440 !important;
}
.ao-cta:hover { background: #4E4934 !important; }
.ao-btn-taller, .ao-btn-taller:hover, .ao-btn-taller:focus, .ao-btn-taller:active, .ao-btn-taller:visited {
  background: #4E4934 !important;
  color: #FFFFFF !important;
}
.ao-btn-taller:hover { background: #595440 !important; }

/* ============================================
   CF7 — Treu (obligatori) dels labels
   ============================================ */
.ao-cf7-wrapper .wpcf7-form .wpcf7-not-valid-tip + br { display: none; }

/* Treu asteriscs i text obligatori dels labels */
.ao-cf7-wrapper label .required,
.ao-cf7-wrapper .wpcf7-form .required,
.ao-cf7-wrapper abbr[title] { display: none !important; }

/* ============================================
   CF7 — Camp amb error — stroke vermell
   ============================================ */
.ao-cf7-wrapper .wpcf7-not-valid {
  border-color: #CE341C !important;
  border-width: 1.5px !important;
}
.ao-cf7-wrapper .wpcf7-not-valid:focus {
  border-color: #CE341C !important;
  box-shadow: 0 0 0 2px rgba(206,52,28,0.15) !important;
}

/* ============================================
   CF7 — Missatge d'error per camp
   ============================================ */
.ao-cf7-wrapper .wpcf7-not-valid-tip {
  font-family: 'Merriweather Sans', sans-serif !important;
  font-size: 12px !important;
  color: #CE341C !important;
  margin-top: 4px !important;
  display: block !important;
}

/* ============================================
   CF7 — Sticky footer: CTA + error global
   ============================================ */
.ao-modal-box {
  display: flex !important;
  flex-direction: column !important;
}

.ao-modal-sticky-footer {
  flex-shrink: 0;
  padding: 16px 24px 24px 24px;
  background: #FFFFFF;
  border-top: 1px solid #EDE6D6;
  position: sticky;
  bottom: 0;
  z-index: 2;
}

/* Missatge error global en vermell */
.ao-cf7-wrapper .wpcf7-response-output {
  font-family: 'Merriweather Sans', sans-serif !important;
  font-size: 14px !important;
  border-radius: 8px !important;
  padding: 10px 16px !important;
  margin: 0 0 12px 0 !important;
  border: none !important;
  text-align: center !important;
}
.ao-cf7-wrapper .wpcf7-mail-sent-ok {
  background: rgba(78,130,91,0.1) !important;
  color: #4E825B !important;
}
.ao-cf7-wrapper .wpcf7-validation-errors,
.ao-cf7-wrapper .wpcf7-acceptance-missing,
.ao-cf7-wrapper .wpcf7-spam-blocked {
  background: rgba(206,52,28,0.08) !important;
  color: #CE341C !important;
}

/* ============================================
   CF7 — Loader overlay sobre el form
   ============================================ */
.ao-cf7-wrapper {
  position: relative !important;
}

.ao-form-loader {
  display: none;
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.8);
  z-index: 10;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
}
.ao-form-loader.active {
  display: flex !important;
}
.ao-form-loader-spinner {
  width: 40px;
  height: 40px;
  border: 3px solid #EDE6D6;
  border-top-color: #4E825B;
  border-radius: 50%;
  animation: aoSpin 0.8s linear infinite;
}
@keyframes aoSpin {
  to { transform: rotate(360deg); }
}/* End custom CSS */