/*
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* ============================================
   FUENTES — respaldo del child
   Elementor ya las registra desde Custom Fonts (uploads/2026/07/).
   Estas se mantienen como red de seguridad: si el kit se resetea o
   Elementor se desactiva, las @font-face siguen vivas.
   ============================================ */

@font-face {
  font-family: 'IvyoraDisplay';
  src: url('./assets/fonts/IvyoraDisplay-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Roobert';
  src: url('./assets/fonts/Roobert-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* ============================================
   TOKENS — respaldo del design system
   Duplicado a propósito del Custom CSS del kit (Elementor > Site Settings).
   Motivo: el kit se puede resetear por MCP o por importar un template, y
   estas variables también las consumen plantillas fuera de Elementor.
   Si cambias un valor aquí, cámbialo también en el kit.
   Unidades en rem sobre base 16px. Fuente: Figma RESHAPE · nodo 457-788
   ============================================ */

:root {
  --rs-cherry: #930000;
  --rs-oat: #F6F0EC;
  --rs-concrete: #E9E9E9;
  --rs-white: #FFFFFF;

  --rs-font-display: "IvyoraDisplay", "Times New Roman", Georgia, serif;
  --rs-font-body: "Roobert", "Helvetica Neue", Arial, sans-serif;
  --rs-fw-regular: 400;
  --rs-fw-medium: 500;

  --rs-fs-hero: clamp(2.5rem, 1.60rem + 3.00vw, 3.7500rem);  /* 60px */
  --rs-fs-h1:   clamp(2.25rem, 1.50rem + 2.50vw, 3.4375rem); /* 55px */
  --rs-fs-h2:   clamp(2.00rem, 1.40rem + 2.00vw, 3.1250rem); /* 50px */
  --rs-fs-h3:   clamp(1.25rem, 1.10rem + 0.50vw, 1.5000rem); /* 24px */
  --rs-fs-body: 1.0625rem;  /* 17px */
  --rs-fs-button: 1rem;     /* 16px */
  --rs-fs-small: 0.75rem;   /* 12px */

  --rs-lh-tight: 1;
  --rs-lh-body: 1.35;

  --rs-space-3xs: 0.3125rem;  /*   5px */
  --rs-space-2xs: 0.625rem;   /*  10px */
  --rs-space-xs:  0.9375rem;  /*  15px */
  --rs-space-sm:  1.25rem;    /*  20px */
  --rs-space-md:  1.5625rem;  /*  25px */
  --rs-space-lg:  1.875rem;   /*  30px */
  --rs-space-xl:  2.1875rem;  /*  35px */
  --rs-space-2xl: 2.5rem;     /*  40px */
  --rs-space-3xl: 2.8125rem;  /*  45px */
  --rs-space-4xl: 3.75rem;    /*  60px */
  --rs-space-5xl: 6.25rem;    /* 100px */

  --rs-border-width: 0.0625rem;  /*  1px */
  --rs-radius-pill: 3.75rem;     /* 60px */
  --rs-transition: 200ms ease;
  --rs-color-overlay: rgb(0 0 0 / 25%);
}

/* Fallback tipográfico SIN !important, solo para contenido que no pasa
   por Elementor (WooCommerce, plantillas de plugin, wp-login).
   Dentro de Elementor gana el kit, que es lo que queremos. */
body { font-family: var(--rs-font-body); font-weight: var(--rs-fw-medium); font-size: var(--rs-fs-body); line-height: var(--rs-lh-body); color: var(--rs-cherry); background-color: var(--rs-white); }
h1 { font-family: var(--rs-font-display); font-weight: var(--rs-fw-regular); }
h2, h3, h4, h5, h6 { font-family: var(--rs-font-body); font-weight: var(--rs-fw-medium); }
a { text-decoration: none; }
a:hover { text-decoration: underline; }
.a-text-decoration a { text-decoration: none !important; }
.a-text-decoration:hover a { text-decoration: underline !important; }
input::placeholder, textarea::placeholder { color: var(--rs-cherry); opacity: 0.6; }


/* ============================================
   FIX ELEMENTOR
   ============================================ */

/* Atomic Form Success */
.e-form-base.form-state-success .e-form-success-message-base { display: block !important; }
.e-form-base.form-state-success .e-form-fields, .e-form-base.form-state-success .e-form-submit { display: none !important; }
summary.e-n-accordion-item-title{ display: flex !important flex-direction: row !important; flex-wrap: nowrap !important; justify-content: space-between !important; align-items: stretch !important; align-content: stretch !important; }
form .elementor-form-fields-wrapper .elementor-field-textual:focus { box-shadow: unset; outline: unset; border-bottom: solid 1px; }
.elementor-form input::placeholder, .elementor-form textarea::placeholder, .elementor-form select { opacity: 1 !important; }
.elementor-form .elementor-button.elementor-size-sm { min-height: auto; }

/* ============================================
   Sections
   ============================================ */
.fade-in-up { opacity: 0; transform: translateY(20px); }
.fade-in-up.visible {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 1.6s cubic-bezier(0.22, 1, 0.36, 1),
              transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: 0.15s; 
}

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

.fade-in-up.no-move { transform: none; }
.fade-in-up.no-move.visible { transform: none; }

/* ============================================
   COMING SOON
   ============================================ */

.postid-17 h2 { font-family: var(--rs-font-display) !important; font-size: 2.5rem !important; line-height: normal; }
.postid-17 p, .postid-17 .elementor-widget-text-editor { margin-bottom: 0; font-size: 1rem; line-height: normal; }
.postid-17 .ig-container .ig-post { flex: 0 0 calc(20% - 0.25rem); }


/* ============================================
   HOME
   ============================================ */

/* Banner */
span.banner-intro-text { font-family: 'Roobert'; font-weight: 500; }

/* Products */
a.woocommerce-LoopProduct-link.woocommerce-loop-product__link { display: flex !important; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; align-content: center; }
a.woocommerce-LoopProduct-link.woocommerce-loop-product__link img.woocommerce-placeholder.wp-post-image { flex: 0 0 100%;  }
a.woocommerce-LoopProduct-link.woocommerce-loop-product__link h2.woocommerce-loop-product__title { flex: 0 0 68%; padding: 0 0 0 .375rem !important; margin: 0 !important; text-align: start; }
a.woocommerce-LoopProduct-link.woocommerce-loop-product__link span.price { flex: 0 0 28%; padding: 0  .375rem 0 0 !important; margin: 0 !important; text-align: end; }
.home #section-home-06 a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart { display: none; }

/* Maps */
.gmap { display: block; width: 100%; height: 480px; border: 0; filter: grayscale(100%); }


/* ============================================
   Events
   ============================================ */

.events-form .e-form__buttons { margin: auto; }

/* ============================================
   Compression Therapy
   ============================================ */
.benefits-box-hover:hover { background-color: #930000 !important; }
.benefits-box-hover:hover p { color: #F6F0EC !important; }

/* ============================================
   Events
   ============================================ */
.events-box-hover:hover { background-color: #930000 !important; }
.events-box-hover:hover p { color: #F6F0EC !important; }

/* Footer */
#footer-logo {min-width: 480px;}
.newsletter-form form .elementor-form-fields-wrapper { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: stretch; align-content: stretch; }
.newsletter-form form .elementor-form-fields-wrapper div:last-child { flex: 0; }
.newsletter-form form .elementor-form-fields-wrapper button { width: max-content; }
.newsletter-form form label{ padding-bottom: 2rem !important; } 
.newsletter-form form input { padding: 0.5rem 0; }
.newsletter-form form input#form-field-email:focus { box-shadow: unset; outline: unset; border-bottom: solid 1px; }
.newsletter-form form button { padding: 0 .625rem !important; width: 3rem !important; min-height: auto !important; border-radius: 0; }
.newsletter-form form span.elementor-button-text { text-transform: none; }
.newsletter-form form button.elementor-button .elementor-button-content-wrapper .elementor-button-text:hover { text-decoration: underline; }
.newsletter-form form .elementor-field-textual { padding: 0 !important; min-height: 1rem !important; }

/* Plugins */
h3.rs-slider__title { font-size: .875rem !important; }
.rs-slider__row button.rs-slider__toggle { font-size: .875rem !important; text-decoration: none !important; }
.rs-slider__row button.rs-slider__toggle:hover { font-size: .875rem !important; text-decoration: underline !important; }
a.rs-slider__btn { font-family: "Roobert", Sans-serif !important; font-size: 0.75rem !important; font-weight: 500 !important; text-transform: uppercase !important; border-radius: 3.75rem 3.75rem 3.75rem 3.75rem !important; padding: .5rem 1.25rem .5rem 1.25rem !important; }




/* ============================================
   WooCommerce
   ============================================ */
.woocommerce ul.products li.product a img { object-fit: cover; width: 100%; height: 300px; }
.product { pointer-events: none; }

@media screen and (min-width: 84.375em) and (max-width: 86.875em) {  /* 1350–1390px */
	.postid-17 .ig-container .ig-post img { height: 30vh !important; }
}

@media only screen and (width: 23.4375em) and (height: 41.6875em) {  /* 375×667 */
    .postid-17 .ig-container .ig-post img { height: 45vh !important; }
}

@media only screen and (min-width: 20em) and (max-width: 47.9375em) {  /* 320–767px */
	.postid-17 h2 { font-size: 2.5rem !important; line-height: normal; }
	.postid-17 p, .postid-17 .elementor-widget-text-editor { font-size: 0.625rem; }
	.postid-17 .ig-container .ig-post { flex: 0 0 100%; }
	
	/* Menu */
	#menu-toggle-container { display:none; }
	ul#menu-mobile { display: flex; flex-direction: column; flex-wrap: nowrap; justify-content: flex-start; align-items: stretch; align-content: stretch; }
	
	/* home */
	.gmap { height: calc(100vh - 3.25rem); }
	
	/* Plugins */
	.rs-slider__face--front .rs-slider__block { justify-content: center !important; }
	
	/* Footer */
	#footer-logo {min-width: 100%;}
	.newsletter-form form .elementor-form-fields-wrapper div:last-child {
    width: 2.5rem;

}