
/*
    *Main CSS para implementacion directa de sitios.

    *La adaptacion del bolierplate y este codigo son esfuerzo del equipo de ID.A libre S.A de C.V.
    *con agradecimientos especiales a Juan Palma encargado de la conceptualización, desarrollo he implementacion.
*/



:root {
    /* Colors */
    --ida-color-first: #d4951a;
    --ida-color-second: #525246;
    --ida-color-fifth: #eeeeee;
    --ida-color-links-over: #f9a0d9;
    --colorIdaNaranja: #D3932D;
    --colorIdaVerde: #4C4F45;
    --colorIdaBlack: #1B1C1A;
    --ida-color-text: #aaa9a9;
    --ida-color-text-dark: #ffffff;
    --ida-color-main-first: #D52C74;
    --ida-color-main-second: #f9a0d9;
    --ida-color-main-tirth: #29292a;
    --ida-color-main-first-dark: #d4951a;
    --ida-color-main-second-dark: #4C4F45;
    --ida-color-main-tirth-dark: transparent;
    --ida-color-back-first: #1e1e1e;
    --ida-color-back-second: #121213;
    --ida-color-back-tirth: transparent;
    --ida-color-back-first-dark: #1B1C1A;
    --ida-color-back-second-dark: #4C4F45;
    --ida-color-back-tirth-dark: transparent;
    --ida-color-main-soft: #f9a0d9;
    --ida-color-principal: var(--ida-color-second);

    /* Spacing */
    --maxSizeMainContainer: 1440px;
    --marginGlobal: calc(4vw + ( 3vh * .6 ));
    --spaceSection: calc(4vw + (3vh * .8) + 2rem);
    --titleSize: calc(3vw + 2vh + 0.75rem);
    --textSize: 1.2rem;
    --lineHeight: 1.24;

    /* Font variables */
    --josefin: 'Josefin Sans', sans-serif;
    --ptsans: 'PT Sans', sans-serif;
    --fontNotoSansJp: 'Noto Sans JP', sans-serif;
    --fontNotoSansKr: 'Noto Sans KR', sans-serif;

    /* Font assignment */
    --fontTitles: var(--josefin);
    --fontTitles2: var(--josefin);
    --fontText: var(--ptsans);
    --fontCite: var(--ptsans);
    --fontResalt: var(--josefin);

    /* Container max width */
    --container-max-width: 1440px;
    --anchoContainer: calc(100vw - (var(--marginGlobal) * 2));
}

/* CMS Basic Parametters and Colors */

/* Spacing utilities */
@-ms-viewport {
    width: device-width;
    zoom: 1.0;
    max-zoom: 1.0;
}

@viewport {
    width: device-width;
    zoom: 1.0;
    max-zoom: 1.0;
}

html{
    /* hidden = fallback navegadores viejos; clip recorta SIN crear contenedor de scroll
       (sticky, scroll-snap y foco funcionan) | hidden = old-browser fallback; clip crops
       WITHOUT creating a scroll container (sticky, scroll-snap and focus keep working) */
    overflow-x: hidden;
    overflow-x: clip;
}
html h1, html h2, html h3, html h4, html h5, html h6{
    font-family: var(--fontTitles);
    font-weight: 700;
    margin: 0;
    color: var(--ida-color-main-first);
    margin-bottom: 6px;
}
html h1, html h2, html h3{
    font-size: clamp(32px, var(--titleSize), 218px);
    line-height: 1.1;
}
body, button, input, select, textarea, ::after, ::before, a{
    font-family: var(--fontText);
    font-weight: 500;
    line-height: 1.24;
    letter-spacing: 0.01em;
    color: var(--ida-color-text);
    font-size: var(--textSize);
}
body{
    font-synthesis: none;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
    overflow-x: clip;
    overflow-y: visible;
}
i::before{
    font-family: inherit;
    font-weight: inherit;
}
*, ::before, ::after {
    box-sizing: border-box;
}
a{text-decoration: none;}
a:hover{
    transition: color 300ms cubic-bezier(0.265, 0.010, 0.005, 1.650) ;
    color: var(--ida-color-main-first);
    color: var(--ida-color-links-over);
}

/*Cajas o contenedores basicos para cada seccion*/
main.hero{
    width: 100%;
    min-height: calc(100dvh - 46px);
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
}
.section{
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
.anchoFull{
    width: 100vw;
    position: relative;
}
.boxWrap{
    width: var(--anchoContainer);
    position: relative;
}
.boxWrapLimit{
    width: var(--anchoContainer);
    max-width: var(--container-max-width);
    position: relative;
}
.boxWrapNoLimit{
    width: 100vw;
    max-width: 100vw;
    position: relative;
}
.anchoFullInner{
    width: 100vw;
    position: relative;
    margin-left: calc(var(--marginGlobal) * -1);
}
#bodyContainer {
    width: 100%;
    min-height: 100vh;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    overflow-x: hidden;
    overflow-x: clip;
    overflow-y: visible;
}
.backFull{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
}
.sectionSpace{
    width: 100%;
    min-height: var(--spaceSection);
}
.genetalTitle{
    font-family: var(--fontTitles2)
}

p{
    margin: 0 0 .4em 0;
    margin-bottom: .4em;
}
p:last-of-type {
    margin-bottom: 0;
}

figure{
}
    figure picture{
        width: fit-content;
        height: fit-content;
        display: flex;
        justify-content: center;
        align-items: center;
    }

/*Estilos para slider con swiper*/
:root{
  --swiper-navigation-color: var(--ida-color-main-first);
  --swiper-theme-color: var(--ida-color-main-first);
  --swiper-pagination-color: var(--ida-color-main-first);
  --swiper-theme-color: var(--ida-color-main-first);
}

/* Tipografía por idioma (genérico) | Per-language typography (generic) */
:root:lang(ja), :root:lang(zh) { line-break: strict; }
:root:lang(ja) :is(h1, h2, h3), :root:lang(zh) :is(h1, h2, h3) { text-spacing-trim: trim-start; }
/* auto-phrase mantiene frases enteras: sin overflow-wrap:anywhere una frase larga ensancha la columna (grid/flex) y desborda en móvil | auto-phrase keeps whole phrases: without overflow-wrap:anywhere a long phrase widens the column and overflows on mobile */
:root:lang(ja) :is(h1, h2, h3) { word-break: auto-phrase; }
:root:lang(ja) :is(h1, h2, h3), :root:lang(zh) :is(h1, h2, h3) { overflow-wrap: anywhere; }
:root:lang(ko) { word-break: keep-all; overflow-wrap: anywhere; }
:root:lang(de) :is(p, li, dd) { hyphens: auto; overflow-wrap: break-word; }

/* Fuentes y tipografía por idioma (general-site → fonts.localeFonts) | Per-language fonts and typography */
:root:lang(ja-JP) {
    --fontTitles: 'Josefin Sans', var(--fontNotoSansJp), 'Hiragino Sans', 'Yu Gothic', 'Meiryo', sans-serif;
    --fontTitles2: 'Josefin Sans', var(--fontNotoSansJp), 'Hiragino Sans', 'Yu Gothic', 'Meiryo', sans-serif;
    --fontText: 'PT Sans', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', 'Meiryo', 'Noto Sans JP', sans-serif;
    --fontCite: 'PT Sans', 'Hiragino Sans', 'Yu Gothic', 'Meiryo', 'Noto Sans JP', sans-serif;
    --fontResalt: 'Josefin Sans', var(--fontNotoSansJp), 'Hiragino Sans', 'Yu Gothic', 'Meiryo', sans-serif;
    --lineHeight: 1.9;
}
:root:lang(ja-JP) :is(h1, h2, h3, h4) {
    line-height: 1.4 !important;
}
:root:lang(ja-JP) :is(p, li, dd, summary) {
    line-height: 1.9 !important;
}
:root:lang(ja-JP) :is(em, i) {
    font-style: normal !important;
}
:root:lang(ja-JP) :is(h1, h2, h3, h4, p, span, a, li, dt, dd, summary, figcaption, button) {
    letter-spacing: normal !important;
    text-transform: none !important;
}
:root:lang(ko-KR) {
    --fontTitles: 'Josefin Sans', var(--fontNotoSansKr), 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
    --fontTitles2: 'Josefin Sans', var(--fontNotoSansKr), 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
    --fontText: 'PT Sans', 'Apple SD Gothic Neo', 'Malgun Gothic', 'Noto Sans KR', sans-serif;
    --fontCite: 'PT Sans', 'Apple SD Gothic Neo', 'Malgun Gothic', 'Noto Sans KR', sans-serif;
    --fontResalt: 'Josefin Sans', var(--fontNotoSansKr), 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
    --lineHeight: 1.85;
}
:root:lang(ko-KR) :is(h1, h2, h3, h4) {
    line-height: 1.4 !important;
}
:root:lang(ko-KR) :is(p, li, dd, summary) {
    line-height: 1.85 !important;
}
:root:lang(ko-KR) :is(em, i) {
    font-style: normal !important;
}
:root:lang(ko-KR) :is(h1, h2, h3, h4, p, span, a, li, dt, dd, summary, figcaption, button) {
    letter-spacing: normal !important;
    text-transform: none !important;
}

  