/*!
Theme Name: Land of The Inkas Child
Theme URI: http://dsherpass.com
Author: Brian Raw
Author URI: http://instagram.com/brian.raw 
Description: Land of The Inkas Theme
* Template: loti
Version: 1.0.0
*/ 


html {
    scroll-behavior: smooth;
}

body {
    overflow-x: hidden;
    color:var(--text-color);
    background-color:var(--body-color);
    transition:background-color .3s ease;
    scroll-behavior: smooth;
}

main {
    margin-top: 5rem;
}

main.page__form,
main.homepage,
main.page__about {
    margin-top:0;
}

.page, .post {
    margin:0; 
}

@media screen and (min-width: 767px) {
    main {  
        margin-top: 6rem;
    }
    
    main.page__form,
    main.homepage {
        margin-top:0;
    }
    
    .single-product main {
        margin-top:0; 
    } 
    
}

.single-product main {
    margin-top:0;
}

/*==================== GOOGLE FONTS ====================*/
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap');

/*==================== VARIABLES CSS ====================*/
:root {
    --header-height: 3rem;

    /*========== Colors ==========*/
    /* Change favorite color */
    --hue-color: 206; /*Purple 250 - Green 142 - Blue 230 - Pink 340*/

    /* HSL color mode */
--first-color: hsl(210, 65%, 12%);
/* Deep Andean Blue (primary system color) */

--first-color-second: hsl(210, 65%, 12%);
--first-color-alt: hsl(210, 55%, 18%);
--first-color-lighter: hsl(210, 40%, 35%);
--accent-color: hsl(42, 83%, 45%);
/* Inca Gold (luxury accent / CTA) */

--accent-color-alt: hsl(42, 83%, 38%);
--accent-color-lighter: hsl(42, 83%, 85%);
--title-color: hsl(210, 65%, 12%);
--text-color: hsl(210, 35%, 28%);
--text-color-light: hsl(210, 20%, 55%);
--input-color: hsl(0, 0%, 98%);
--body-color: hsl(0, 0%, 100%);
--container-color: hsl(0, 0%, 100%);
--section-color: hsl(210, 20%, 100%);
--scroll-bar-color: hsl(210, 12%, 90%);
--scroll-thumb-color: hsl(210, 12%, 75%);
    
    --color-black :0,0,0;
    --color-white :255,255,255;
    --valid-color: #00d084;
    --invalid-color: #ff6900;
    --error-color: #d93025;

    /*========== Font and typography ==========*/
    --body-font: 'Poppins', sans-serif;
    --brand-font: 'Penumbra Flare', sans-serif;
    --brand-font-1: 'Maghfirea', serif; 

    /* .5rem = 8px, 1rem = 16px, 1.5rem = 24px ... */
    --big-font-size: 2rem;
    --h1-font-size: 1.5rem;
    --h2-font-size: 1.25rem;
    --h3-font-size: 1.25rem;
    /*--normal-font-size: .938rem;*/ 
    --normal-font-size: 1rem;
    --small-font-size: .813rem;
    --smaller-font-size: .75rem;

    /*========== Font weight ==========*/
    --font-medium: 500;
    --font-semi-bold: 600;

    /*========== Margenes Bottom ==========*/
    /* .25rem = 4px, .5rem = 8px, .75rem = 12px ... */
    --mb-0-25: .25rem;
    --mb-0-5: .5rem;
    --mb-0-75: .75rem;
    --mb-1: 1rem;
    --mb-1-5: 1.5rem;
    --mb-2: 2rem;
    --mb-2-5: 2.5rem;
    --mb-3: 3rem;

    /*========== z index ==========*/
    --z-tooltip: 10;
    --z-fixed: 100;
    --z-modal: 1000;
    
    /*========== customs ==========*/
    --height-menu: 69.08px; 
}

@media screen and (min-width: 767px) {
    :root {
        --height-menu: 72px;
    }
    
}

/* Font size for large devices */
@media screen and (min-width: 968px) {
    :root {
        --big-font-size: 3rem;
        --h1-font-size: 2.25rem;
        --h2-font-size: 1.5rem;
        --h3-font-size: 1.25rem;
        --normal-font-size: 1rem;
        --small-font-size: .875rem;
        --smaller-font-size: .813rem;
    }
}

/*========== Variables Dark theme ==========*/

body.dark-theme {
    --first-color-second: hsl(var(--hue-color), 30%, 8%);
    --title-color: hsl(var(--hue-color), 8%, 95%);
    --text-color: hsl(var(--hue-color), 8%, 75%);
    --input-color: hsl(var(--hue-color), 29%, 16%);
    --container-color: hsl(var(--hue-color), 29%, 16%);
    --body-color: hsl(var(--hue-color), 0%, 10%);
    --section-color: hsl(var(--hue-color), 0%, 10%);
    --color-black :255,255,255;
    --color-white :0,0,0;
}

/*GSAP ANIMATIONS*/
:root { 
    /*Power1*/
    --hop: linear(
    0, 0.153 2.5%, 0.292 5.3%, 0.417 8.6%, 0.529 12.3%, 0.627 16.4%, 0.713 21%,
    0.787 26.1%, 0.852 31.8%, 0.903 37.2%, 0.936 41.8%, 0.959 46.8%, 0.976 52.5%,
    0.988 59.8%, 0.995 69.3%, 0.999 81.9%, 1
  );
    
    --power1-in: linear( 0, 0.0039, 0.0156, 0.0352, 0.0625, 0.0977, 0.1407, 0.1914, 0.2499, 0.3164, 0.3906 62.5%, 0.5625, 0.7656, 1 ); 
    --power1-out: linear( 0, 0.2342, 0.4374, 0.6093 37.49%, 0.6835, 0.7499, 0.8086, 0.8593, 0.9023, 0.9375, 0.9648, 0.9844, 0.9961, 1 ); 
    --power1-in-out: linear( 0, 0.0027, 0.0106 7.29%, 0.0425, 0.0957, 0.1701 29.16%, 0.2477, 0.3401 41.23%, 0.5982 55.18%, 0.7044 61.56%, 0.7987, 0.875 75%, 0.9297, 0.9687, 0.9922, 1 );
    
    /*Power2*/
    --power2-in: linear( 0, 0.0014 11.11%, 0.0071 19.24%, 0.0188 26.6%, 0.037 33.33%, 0.0634 39.87%, 0.0978 46.07%, 0.1407 52.02%, 0.1925 57.74%, 0.2559 63.49%, 0.3295 69.07%, 0.4135 74.5%, 0.5083 79.81%, 0.6141 85%, 0.7312 90.09%, 1 ); 
    --power2-out: linear( 0, 0.2688 9.91%, 0.3859 15%, 0.4917 20.19%, 0.5865 25.5%, 0.6705 30.93%, 0.7441 36.51%, 0.8075 42.26%, 0.8593 47.98%, 0.9022 53.93%, 0.9366 60.13%, 0.963 66.67%, 0.9812 73.4%, 0.9929 80.76%, 0.9986 88.89%, 1 ); 
    --power2-in-out: linear( 0, 0.0036 9.62%, 0.0185 16.66%, 0.0489 23.03%, 0.0962 28.86%, 0.1705 34.93%, 0.269 40.66%, 0.3867 45.89%, 0.5833 52.95%, 0.683 57.05%, 0.7829 62.14%, 0.8621 67.46%, 0.8991 70.68%, 0.9299 74.03%, 0.9545 77.52%, 0.9735 81.21%, 0.9865 85%, 0.9949 89.15%, 1 ); 
    --power3-in: linear( 0, 0.0039 25%, 0.0117 32.89%, 0.0248 39.68%, 0.0457 46.22%, 0.0743 52.21%, 0.1113 57.77%, 0.1575 63%, 0.218 68.33%, 0.2901 73.39%, 0.3745 78.23%, 0.4718 82.88%, 0.5827 87.37%, 0.7074 91.71%, 0.8462 95.91%, 1 ); 
    
    /*Power3*/
    --power3-out: linear( 0, 0.1538 4.09%, 0.2926 8.29%, 0.4173 12.63%, 0.5282 17.12%, 0.6255 21.77%, 0.7099 26.61%, 0.782 31.67%, 0.8425 37%, 0.8887 42.23%, 0.9257 47.79%, 0.9543 53.78%, 0.9752 60.32%, 0.9883 67.11%, 0.9961 75%, 1 ); 
    --power3-in-out: linear( 0, 0.0029 13.8%, 0.0184 21.9%, 0.0339 25.51%, 0.0551 28.81%, 0.0827 31.88%, 0.1168 34.76%, 0.1962 39.57%, 0.3005 44.02%, 0.4084 47.53%, 0.6242 53.45%, 0.7493 57.93%, 0.8495 62.97%, 0.8888 65.67%, 0.9213 68.51%, 0.9629 73.9%, 0.9876 80.16%, 0.998 87.5%, 1 ); 
    
    /*Power4*/
    --power4-in: linear( 0, 0.0024 29.91%, 0.008 38.03%, 0.0179 44.72%, 0.035 51.16%, 0.0595 56.88%, 0.0922 62.08%, 0.1338 66.88%, 0.1914 71.85%, 0.262 76.5%, 0.3461 80.88%, 0.4447 85.04%, 0.5587 89.01%, 0.689 92.82%, 0.8359 96.48%, 1 ); 
    --power4-out: linear( 0, 0.1641 3.52%, 0.311 7.18%, 0.4413 10.99%, 0.5553 14.96%, 0.6539 19.12%, 0.738 23.5%, 0.8086 28.15%, 0.8662 33.12%, 0.9078 37.92%, 0.9405 43.12%, 0.965 48.84%, 0.9821 55.28%, 0.992 61.97%, 0.9976 70.09%, 1 ); 
    --power4-in-out: linear( 0, 0.0012 14.95%, 0.0089 22.36%, 0.0297 28.43%, 0.0668 33.43%, 0.0979 36.08%, 0.1363 38.55%, 0.2373 43.07%, 0.3675 47.01%, 0.5984 52.15%, 0.7121 55.23%, 0.8192 59.21%, 0.898 63.62%, 0.9297 66.23%, 0.9546 69.06%, 0.9733 72.17%, 0.9864 75.67%, 0.9982 83.73%, 1 ); 
    
    /*Quad*/
    --quad-in: linear( 0, 0.0039, 0.0156, 0.0352, 0.0625, 0.0977, 0.1407, 0.1914, 0.2499, 0.3164, 0.3906 62.5%, 0.5625, 0.7656, 1 ); 
    --quad-out: linear( 0, 0.2342, 0.4374, 0.6093 37.49%, 0.6835, 0.7499, 0.8086, 0.8593, 0.9023, 0.9375, 0.9648, 0.9844, 0.9961, 1 ); 
    --quad-in-out: linear( 0, 0.0027, 0.0106 7.29%, 0.0425, 0.0957, 0.1701 29.16%, 0.2477, 0.3401 41.23%, 0.5982 55.18%, 0.7044 61.56%, 0.7987, 0.875 75%, 0.9297, 0.9687, 0.9922, 1 ); 
    
    /*Expo*/
    --expo-in: linear( 0, 0.0036 31.98%, 0.0097 40.98%, 0.02 48.31%, 0.0373 55.17%, 0.0617 61.16%, 0.0942 66.5%, 0.1354, 0.1918 76.12%, 0.2606 80.46%, 0.3431 84.42%, 0.4399 88.04%, 0.5529 91.38%, 0.6832 94.47%, 0.8315 97.33%, 1 ); 
    --expo-out: linear( 0, 0.1685 2.67%, 0.3168 5.53%, 0.4471 8.62%, 0.5601 11.96%, 0.6569 15.58%, 0.7394 19.54%, 0.8082 23.88%, 0.8646 28.68%, 0.9058 33.5%, 0.9383 38.84%, 0.9627 44.83%, 0.98 51.69%, 0.9903 59.02%, 0.9964 68.02%, 1 ); 
    --expo-in-out: linear( 0, 0.0018 15.99%, 0.01 24.16%, 0.0309 30.58%, 0.0471 33.25%, 0.0678 35.66%, 0.0981 38.21%, 0.1356 40.51%, 0.2348 44.49%, 0.3643 47.7%, 0.6011 51.64%, 0.7153 54.1%, 0.8211 57.49%, 0.8981 61.52%, 0.9293 64.05%, 0.9538 66.88%, 0.9723 70.08%, 0.9853 73.76%, 0.9975 82.54%, 1 ); 
    
    /*Circ*/
    --circ-in: linear( -0, 0.0048 9.8%, 0.0192 19.5%, 0.043 29.02%, 0.0761 38.26%, 0.1181 47.13%, 0.1685 55.56%, 0.227 63.44%, 0.2929 70.71%, 0.3656 77.3%, 0.4445 83.15%, 0.5285 88.19%, 0.6173 92.39%, 0.7099 95.7%, 0.805 98.08%, 0.9021 99.52%, 1 ); 
    --circ-out: linear( 0, 0.0979 0.48%, 0.195 1.92%, 0.2901 4.3%, 0.3827 7.61%, 0.4715 11.81%, 0.5555 16.85%, 0.6344 22.7%, 0.7071 29.29%, 0.773 36.56%, 0.8315 44.44%, 0.8819 52.87%, 0.9239 61.74%, 0.957 70.98%, 0.9808 80.5%, 0.9952 90.2%, 1 ); 
    --circ-in-out: linear( -0, 0.0033 5.75%, 0.0132 11.43%, 0.0296 16.95%, 0.0522 22.25%, 0.0808 27.25%, 0.1149 31.89%, 0.1542 36.11%, 0.1981 39.85%, 0.2779 44.79%, 0.3654 48.15%, 0.4422 49.66%, 0.5807 50.66%, 0.6769 53.24%, 0.7253 55.37%, 0.7714 58.01%, 0.8142 61.11%, 0.8536 64.65%, 0.9158 72.23%, 0.9619 80.87%, 0.9904 90.25%, 1 ); 
    
    /*Sine*/
    --sine-in: linear( 0, 0.0035, 0.0141 10.7%, 0.0318 16.09%, 0.0566 21.51%, 0.0885 26.98%, 0.1278 32.53%, 0.2288 43.93%, 0.3563 55.48%, 0.5171 67.92%, 0.7139 81.53%, 1 ); 
    --sine-out: linear( 0, 0.2861 18.47%, 0.4829 32.08%, 0.6437 44.52%, 0.7712 56.07%, 0.8722 67.47%, 0.9115 73.02%, 0.9434 78.49%, 0.9682 83.91%, 0.9859 89.3%, 0.9965, 1 ); 
    --sine-in-out: linear( 0, 0.007 5.35%, 0.0282 10.75%, 0.0638 16.26%, 0.1144 21.96%, 0.1833 28.16%, 0.2717 34.9%, 0.6868 62.19%, 0.775 68.54%, 0.8457 74.3%, 0.9141 81.07%, 0.9621 87.52%, 0.9905 93.8%, 1 ); 
    
    /*Back*/
    --back-in: linear( 0, -0.0029 4.31%, -0.0119 9.02%, -0.0837 31.27%, -0.0954 36.64%, -0.0998 41.45%, -0.0951 47.03%, -0.079 52.25%, -0.051 57.19%, -0.0108 61.92%, 0.0515 67.19%, 0.1312 72.27%, 0.2286 77.18%, 0.3445 81.96%, 0.4792 86.62%, 0.633 91.17%, 0.8066 95.63%, 1 ); 
    --back-out: linear( 0, 0.1934 4.37%, 0.367 8.83%, 0.5208 13.38%, 0.6555 18.04%, 0.7714 22.82%, 0.8688 27.73%, 0.9485 32.81%, 1.0108 38.08%, 1.051 42.81%, 1.079 47.75%, 1.0951 52.97%, 1.0998 58.55%, 1.0954 63.36%, 1.0837 68.73%, 1.0119 90.98%, 1.0029 95.69%, 1 ); 
    --back-in-out: linear( 0, -0.0059 4.51%, -0.0418 15.63%, -0.0499 20.72%, -0.0476 23.51%, -0.0395 26.12%, -0.0255 28.59%, -0.0055 30.95%, 0.0281 33.76%, 0.0717 36.47%, 0.1901 41.63%, 0.344 46.32%, 0.6156 52.65%, 0.7495 56.35%, 0.8757 60.97%, 0.9663 65.85%, 1.0006 68.58%, 1.0256 71.43%, 1.0417 74.43%, 1.0493 77.65%, 1.0452 83.02%, 1.0077 94.8%, 1 ); 
    
    /*Elastic*/
    --elastic-in: linear( 0, 0.0019 13.34%, -0.0056 27.76%, -0.0012 31.86%, 0.0147 39.29%, 0.0161 42.46%, 0.0039 46.74%, -0.0416 54.3%, -0.046 57.29%, -0.0357, -0.0122 61.67%, 0.1176 69.29%, 0.1302 70.79%, 0.1306 72.16%, 0.1088 74.09%, 0.059 75.99%, -0.0317 78.19%, -0.3151 83.8%, -0.3643 85.52%, -0.3726, -0.3705 87.06%, -0.3463, -0.2959 89.3%, -0.1144 91.51%, 0.7822 97.9%, 1 ); 
    --elastic-out: linear( 0, 0.2178 2.1%, 1.1144 8.49%, 1.2959 10.7%, 1.3463 11.81%, 1.3705 12.94%, 1.3726, 1.3643 14.48%, 1.3151 16.2%, 1.0317 21.81%, 0.941 24.01%, 0.8912 25.91%, 0.8694 27.84%, 0.8698 29.21%, 0.8824 30.71%, 1.0122 38.33%, 1.0357, 1.046 42.71%, 1.0416 45.7%, 0.9961 53.26%, 0.9839 57.54%, 0.9853 60.71%, 1.0012 68.14%, 1.0056 72.24%, 0.9981 86.66%, 1 ); 
    --elastic-in-out: linear( 0, -0.0028 13.88%, 0.0081 21.23%, 0.002 23.37%, -0.0208 27.14%, -0.023 28.64%, -0.0178, -0.0061 30.83%, 0.0588 34.64%, 0.0651 35.39%, 0.0653 36.07%, 0.0514, 0.0184 38.3%, -0.1687 42.21%, -0.1857 43.04%, -0.181 43.8%, -0.1297 44.93%, -0.0201 46.08%, 1.0518 54.2%, 1.1471, 1.1853 56.48%, 1.1821 57.25%, 1.1573 58.11%, 0.9709 62%, 0.9458, 0.9347 63.92%, 0.9349 64.61%, 0.9412 65.36%, 1.0061 69.17%, 1.0178, 1.023 71.36%, 1.0208 72.86%, 0.998 76.63%, 0.9919 78.77%, 1.0028 86.12%, 1 ); 
    
    /*Bounce*/
    --bounce-in: linear( 0, 0.0117, 0.0156, 0.0117, 0, 0.0273, 0.0468, 0.0586, 0.0625, 0.0586, 0.0468, 0.0273, 0 27.27%, 0.1093, 0.1875 36.36%, 0.2148, 0.2343, 0.2461, 0.25, 0.2461, 0.2344, 0.2148 52.28%, 0.1875 54.55%, 0.1095, 0, 0.2341, 0.4375, 0.6092, 0.75, 0.8593, 0.9375 90.91%, 0.9648, 0.9843, 0.9961, 1 ); 
    --bounce-out: linear( 0, 0.0039, 0.0157, 0.0352, 0.0625 9.09%, 0.1407, 0.25, 0.3908, 0.5625, 0.7654, 1, 0.8907, 0.8125 45.45%, 0.7852, 0.7657, 0.7539, 0.75, 0.7539, 0.7657, 0.7852, 0.8125 63.64%, 0.8905, 1 72.73%, 0.9727, 0.9532, 0.9414, 0.9375, 0.9414, 0.9531, 0.9726, 1, 0.9883, 0.9844, 0.9883, 1 ); 
    --bounce-in-out: linear( 0, 0.0078, 0, 0.0235, 0.0313, 0.0235, 0.0001 13.63%, 0.0549 15.92%, 0.0938, 0.1172, 0.125, 0.1172, 0.0939 27.26%, 0.0554 29.51%, 0.0003 31.82%, 0.2192, 0.3751 40.91%, 0.4332, 0.4734 45.8%, 0.4947 48.12%, 0.5027 51.35%, 0.5153 53.19%, 0.5437, 0.5868 57.58%, 0.6579, 0.7504 62.87%, 0.9999 68.19%, 0.9453, 0.9061, 0.8828, 0.875, 0.8828, 0.9063, 0.9451 84.08%, 0.9999 86.37%, 0.9765, 0.9688, 0.9765, 1, 0.9922, 1 ); 
}


/*==================== LAYOUT ====================*/
.container {
	max-width: 75rem;
    margin-left: var(--mb-1-5);
    margin-right: var(--mb-1-5);
}

.container__narrow {
    margin-left: var(--mb-1-5);
    margin-right: var(--mb-1-5);
}

.section {
	padding: 2rem 0 4rem;
	transition:background-color .3s ease;
}

.section-tr {
    position:relative;
}

.section-tr:before {
    content: "";
    display: block;
    width: 100%;
    height: 1.75rem;
    background-color: var(--section-color);
    top: -1.5rem;
    position: absolute;
    border-radius: 1.25rem 1.25rem 0 0;
    transition: background-color .3s ease;
}

.section__alt {
    padding:4rem 0; 
}

.grid,
.comment-respond,
.comment-form {
	display: grid;
    gap: 1.5rem;
}


.flex {
    display:flex;
    gap:1.5rem;
}

.flex-col {
    display:flex;
    flex-direction:column;
    gap:1.5rem;
}

.button, .button:visited,
input[type="button"], 
input[type="reset"], 
input[type="submit"] {
    color: var(--body-color);
    background-color: var(--title-color);
    padding: 0.5rem 2rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    transition: all .3s ease-in-out;
    border:2px solid var(--title-color);
    font-weight: var(--font-medium);
    user-select: none;
    border-radius:6px;
    overflow:hidden;
    font-family: var(--body-font);
    font-size: var(--small-font-size);
    line-height:1.5;
}


.single__cart .button {
    padding: calc(1rem - 2px) 2rem; 
}

.button.button_alt {
    border-color:var(--title-color);
    background-color:var(--body-color);
    color:var(--title-color);
}

.button.button_alt:hover {
    background-color:var(--title-color);
    border-color:var(--title-color);
    color:var(--body-color);
}

h1, h2, h3, h4, h5, h6 {color:var(--title-color); }
ul {list-style: none}
a {text-decoration: none}
a:visited {color: inherit;}
a:focus {outline: none;}
img {
    max-width: 100%;
    height: auto
}

.claims__book p,form p {
    margin-bottom: 0
}

form p a,form p a:visited {
    color: var(--text-color);
    transition: .3s
}

form p a:hover,u {
    color: var(--title-color)
}

form select {
    border: 1px solid #ccc;
    width: 100%;
    padding: calc(.5rem + .25px);
    border-radius: .5rem
}

p {line-height: 1.5}

.texarea__wrap {
    padding: .75rem 1rem;
    border: 1px solid #eaeaea;
    border-radius: .5rem
}

.textarea__label {
    font-weight: 500
}

.texarea__wrap:has(textarea:focus-visible) {
    outline: -webkit-focus-ring-color auto 1px
}

.texarea__wrap:has(textarea:focus-visible) .textarea__label {
    color: var(--title-color)
}

textarea {
    resize: vertical;
    border: none;
    outline: 0;
    padding: .25rem .5rem .5rem 0
}

.textarea__label,img[alt] {
    font-size: var(--smaller-font-size)
}

body,textarea {
    font-size: var(--normal-font-size);
    font-family: var(--body-font)
}

textarea:focus {
    color: var(--title-color);
}

strong {
    font-weight: 500
}

::-webkit-scrollbar {
    width: .6rem;
    height: .6rem;
    background-color: var(--scroll-bar-color);
    border-radius: .5rem
}

::-webkit-scrollbar-thumb {
    background-color: var(--scroll-thumb-color);
    border-radius: .5rem
}

::selection {
    background-color: var(--title-color);
    color: var(--body-color) 
}

.button__whith__icon {
    display: flex;
    align-items: center; 
    position: relative;
    justify-content: flex-end;
    color:var(--body-color);
}

.button__whith__icon:hover {
    color:var(--title-color);
}

.button__whith__icon .button__icon {
    position: absolute;
    right: 1.5rem;
    pointer-events: none;
    transition: .3s ease;
}

.button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
    color: var(--title-color);
    background-color: var(--body-color);
    border-color:var(--title-color);
}

.woocommerce-notices-wrapper .button,
.woocommerce-notices-wrapper .button:visited { 
    padding: 0;
    color: var(--title-color);
    background-color: transparent;
    width: fit-content;
    border: none;
    margin-bottom: 0.5rem;
}

.woocommerce-notices-wrapper .button:hover {
    text-decoration: underline;
}

.button-alt, .button-alt:visited {
    color: var(--text-color);
    background: none;
    padding: 0;
    border: none;
    font-weight: bold;
    text-align: initial;
    font-family: var(--body-font);
    width: 100%;
    font-size: var(--normal-font-size);
}


header#header{
    width: 100%;
    top: 0; 
    left: 0;
    position:fixed;
    box-shadow: 2px 3px 7px rgb(0 0 0 / 0%);
    transition: transform 0.5s ease;
    z-index:99; 
}

#header.scroll-down {
    transform: translateY(-102%) rotate(0.001deg);
    transition: transform 0.35s linear;
}

.parallax-- {
    overflow: hidden;
    width: 100%;
    height: 100%;
}

.parallax- {
    width: 100%;
    height: 100%;
}

/* For medium devices */
@media screen and (min-width: 767px) {
	.container {
		margin-left:auto;
		margin-right:auto;
	}
	
    .container__full {
        width: 80%; 
        max-width: 960px;
        margin: auto;
    }

    .container__narrow {
        margin-left: max(2rem, 3.5vw);
        margin-right: max(2rem, 3.5vw); 
    }

    .container__narrow--mbf {
        margin-left: max(2rem, 3.5vw);
        margin-right: max(2rem, 3.5vw); 
    }
	
	body {margin:0;}
	
	.section {padding: 6rem 0 2rem;}
	.section__alt {padding:4rem 0;} 
	.header#header.body__show-menu {}
	
	.container {
        width: 80%;
        max-width: 1080px;
    }
	
	.footer__container {padding:0 1rem;}
	.header {
	    padding:0rem;
	    mix-blend-mode: initial;
	}

}

/***************************** PROGRAM *****************************/
.section__program {
    --nav-height:0px;
    --color-dash:rgba(0,0,0,0.1);
    --itinerary-width: 32.125rem; 
    --side-distance: .75rem;
}

.program--wrap { 
    display:grid;
    gap: 3.5rem 0rem;
}

.program__content {
    margin: 0 1.5rem;
}

.itinerary {
    position: relative;
    margin: 0;
    padding-left: 2.5rem; 
}

.day__header--wrap:before {
    content: "";
    display: block;
    width: 100%;
    height: 2.5rem;
    background-color: var(--body-color);
}

.day__header--wrap:after {
    content: "";
    display: block;
    width: 100%;
    height: 0.75rem;
    background: var(--body-color);
}

.day {
    padding-bottom: 1.75rem;
    border-bottom: 1px dashed var(--color-dash);
    position:relative;
    list-style: none;
}

.day:last-child {
    border-bottom:0;
}

.day__side {
    position: absolute;
    top: 2.5rem;
    margin-bottom: 5.5rem;
    height: 100%;
    right: calc(100% + var(--side-distance));
}


.day__number {
    position:relative;
    background-color: var(--body-color);
    font-size:var(--small-font-size);
    font-weight:bold;
}

.day__number:before {
    content: "";
    position: absolute; 
    display: block;
    width: 1rem;
    height: 1rem;
    background: var(--text-color);
    border-radius: 50%;
    left: calc((var(--side-distance) * -1) - 27px);
    top: 1.5rem;
    z-index: 2;
}

.day:after {
    position: absolute;
    left: calc((var(--side-distance) * -1) - 1.25rem);
    content: "";
    border: 1px dashed var(--color-dash);
    display: block;
    width: 0;
    height: 100%;
    top: 4.5rem;
}

.day:last-child:after {
    height:0;
}

.day:first-child .day__header--wrap .day__number:after { 
    content: "";
    position: absolute;
    top: 1.5rem;
    width: 1rem;
    height: calc(1lh + 2.75rem - 1px);
    display: block;
    background: var(--body-color);
    z-index: 1;
    transition: background-color .3s ease;
    width: 100%;
    left: calc((var(--side-distance) * -1) - 2.25rem);
    transform: translateY(-100%);
}

.day__header--wrap {
    position: sticky;
    top: calc(var(--nav-height) - 1px) ;
    z-index: 2;
    background-color: var(--body-color);
    /* transition: background-color .3s ease, top 0.6s cubic-bezier(.6, 0, .4, 1); */
    transition: 0.5s ease;
}

.count-1 .day__header--wrap {
    position:initial;
}

.day__header {
    grid-template-columns: auto 2.5rem;
    align-items: start;
    cursor: pointer;
    background-color: var(--body-color);
    font-weight: normal;
}

.day__header .header__icon {
    display: grid;
    place-content: center;
    margin-top: .625rem;
    opacity:0.5;
    transition:.3s ease;
}

.day__header:hover .header__icon {
    opacity:1;
}

.day__header .day__title {
    margin:0;
    font-size:var(--h2-font-size);
    font-family:var(--title-font);
    transition: .3s ease;
    line-height: 1.385;
    text-wrap-style: balance;
}

.day__header .header__data {
    display: grid;
    gap: .5rem;
}

.toggle__switch {
    cursor: pointer;
    position: relative;
    display: grid;
    width: fit-content;
    padding-right:1rem;
    --distance-arrow: 0px;
    user-select:none;
    font-size:var(--small-font-size);
    opacity:.5;
}

.toggle__switch .hide {
    display:none;
}

.active .toggle__switch .show {
    display:none;
}

.active .toggle__switch .hide { 
    display:block;
}


.toggle__switch:before,
.toggle__switch:after {
    content: "";
    background-color: currentColor;
    display: block;
    height: 1.5px;
    width: 5px;
    position: absolute;
    top: 50%;
    transition: all .3s ease;
}

.toggle__switch:before {
    right: calc(var(--distance-arrow) + 3px);
    transform: rotate(45deg);
}

.toggle__switch:after {
    right: var(--distance-arrow);
    transform: rotate(-45deg);
}

.active .toggle__switch:before {transform: rotate(-45deg);}
.active .toggle__switch:after {transform: rotate(45deg);}

.active .day__header .day__title {
    color: var(--title-color);
    text-shadow: 0px 0px 10px rgb(255 255 255 / 50%);
}

.day__header .day__title i {
    font-family:var(--brand-font);
}

.day__content {
    padding: 0;
    overflow-y: clip;
    transition: all .35s cubic-bezier(.75, 0, .25, 1);
}

.day__content--inside {
    padding:0rem 0;
}

.day__content--main ul {
    margin-left: 0;
    padding-left: 1.5rem;
    display: grid;
    gap: 1rem;
    margin-top: 1.5rem;
    list-style-type: disc; 
}


.day__content--wrap {
    display:grid;
    grid-template-rows:0fr;
    transition: grid-template-rows .5s ease;
    overflow:hidden;
}

.active .day__content--wrap {
    grid-template-rows:1fr;
}

.day__content {
    overflow:hidden; 
}

.day__content a {
    text-decoration:underline;
    color:var(--text-color);
}

.day__content a:hover {
    color:var(--accent-color);
}

.day__content strong {
    color: var(--title-color);
    font-weight: bold;
}

.day__content p {
    margin-top: .325rem;
}

.day__content--top {
    border-bottom: 1px dashed rgba(255, 255, 255, 0.2);
    padding: .0rem 1rem 0.75rem 0rem;
    margin-bottom: 1.5rem;
    font-weight: bold;
    font-size: var(--smaller-font-size); 
}

.program__notes {
    color: var(--text-color);
    font-size: var(--small-font-size);
    font-weight: bold;
}

.program__media {
    position:sticky;
    top:0;
    width:100%;
}

.program__media img {
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
}


@media screen and (min-width: 767px) {
    
    .section__program {
        --side-distance: 3.5rem;
    }
    
    .program--wrap {
        grid-template-columns: 1fr 1fr;
        justify-items:center;
    }
    
    .program__content {
        margin: 1lh 2.5vw 1.5rem 0;
        padding: 0 0 0 7.5rem;
        max-width: var(--itinerary-width);
    }
    
    .itinerary {
        padding-left: 0; 
    }
    
    .day__number:before {
        content: none;
    }
    
    .day__number {
        position: absolute;
        display: flex;
        flex-direction: column-reverse;
        gap: .5rem;
        left: calc((var(--side-distance) * -1) - 2.5rem);
        text-align: center;
        z-index: 1;
        padding-bottom: 0.3rem;
        font-weight:normal;
    }
    
    .day__number .number {
        border-radius: 50%;
        aspect-ratio: 1;
        place-content: center;
        width: 2.5rem;
        background-color: var(--first-color);
        color: var(--body-color);
    }

    .day:first-child .day__header--wrap .day__number:after {
        height:2.5rem;
        left: initial;
        transform: none;
        bottom: 100%;
        top: initial;
    }
    
    .program__notes {
        display:grid;
        gap:.75rem;
    }
     
    .program__media {
        height:100dvh;
    }
    
    .program__media img {
        max-height: 100dvh;  
    }
}

/************ Share Component***************/

.itinerary__header {
    padding: 1.5rem 0;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    display: flex; 
    justify-content: space-between;
    gap: 2.5rem;
    align-items: center; 
    font-size: var(--smaller-font-size);
}

.itinerary__header .itinerary__title {
    text-wrap-style: balance;
    text-transform: uppercase;
    font-weight: bold;
}

.share__toggle { 
    position: relative;
}

.share__toggle .share__button { 
    display: grid;
    padding: .75rem;
    cursor:pointer;
}

.share__toggle .share__box {
    position: absolute;
    top: 2.75rem;
    z-index: 3;
    right: -1.5rem;
    width: max-width;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:.3s ease;
    overflow:hidden;
    padding:.5rem;
}

.share__toggle.show .share__box {
    top: 2.25rem;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}

.share__toggle .share__links {
    padding: 0; 
    margin: 0;
    background-color: var(--body-color);
    border: 1px solid rgba(0, 0, 0, 0.25);
    border-radius: 0.35rem;
    position:relative;
    overflow:hidden;
}


.share__toggle .share__box:before {
    content: "";
    position: absolute; 
    top: -3px;
    z-index:1;
    rotate: 90deg;
    right: 2.5rem;
    border-width: 10px 8px 0px 0px;
    display: block;
    border-style: solid;
    border-top: 8px solid transparent; 
    border-right: 8px solid var(--body-color);
    border-bottom: 8px solid transparent;
    filter: drop-shadow(-1px 0px 0px rgba(0, 0, 0, 0.25));
    transition: .3s ease;
}


.share__toggle .share__li {
    display: flex;
    width: 100%; 
    transition: .3s ease;
}

.share__toggle .share__li:hover {
    color:var(--accent-color);
}

.share__toggle .share__li a {
    color:inherit;
}

.share__toggle .share__li svg {
    width: 1rem;
    height: 1rem;
}

.share__toggle .share__li:not(:last-child) {
    border-bottom: 1px solid var(--color-dash);
}

.share__toggle .share__li .share__link {
    display: grid;
    grid-template-columns: 1rem 1fr;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem 0.75rem 1.25rem;
    width: 100%;
    align-items: center;
    user-select: none;
    text-wrap: nowrap;
    cursor:pointer;
    font-size: var(--smaller-font-size);
    border-radius:0;
}

/*Product Page*/
#header .logo svg {
    z-index:1;
    transition: 0.6s cubic-bezier(0.625, 0.05, 0, 1);
}

.heroImage #header .logo svg,
.show-menu #header .logo svg {
    fill:#fff;
}

#header:has(.level-1:hover) .logo {
    pointer-events:none;
}

.heroImage #header {
    background-color: rgba(255, 255, 255, 0);
    backdrop-filter: blur(0px);
}

#header {
    background-color: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(1px);
}

body.show-megamenu .popup__cta {
    z-index:9;
    transition:0s linear;
}

body.show-modal #header {
    z-index:98;
}

main.page__tour {
    margin-top:0;
}

.tour__single--hero {
    position:relative;
    min-height:100svh;
    background-color:var(--title-color);
}

.tour__single--hero picture {
    position:absolute;
    inset:0;
}

.tour__single--hero picture img {
    object-fit: cover;
    height: 100%;
    width:100%;
}

.tour__single--hero picture:before,
.tour__single--hero picture:after {
    content:"";
    left: 0;
    position: absolute;
    width: 100%;
    --shadow-color: rgb(11 31 50 / 85%);
}

.tour__single--hero picture:before {
    background-image: linear-gradient(0deg, transparent 0, var(--shadow-color));
    top: 0;
    height:25%;
} 
 
.tour__single--hero picture:after {
    background-image: linear-gradient(180deg, transparent 0, var(--shadow-color)); 
    bottom: 0;
    height:75%;
}

.hero__content {
    position:relative; 
    min-height:100svh;
    padding: var(--height-menu) 0 2rem 0;
}
    
.hero__content .container {
    margin-top:var(--height-menu);
}

.hero__content h1 {
    font-size:calc(1 * var(--big-font-size));
    color:var(--body-color);
    text-wrap-style:balance;
    text-shadow:0 0 5px rgba(0,0,0,0.15);
    line-height:1.25;
    margin:.5rem 0 1.5rem 0;
}

.hero__content .resume {
    display:none;
}

.header__hero {
    display:grid;
    height:100%;
    gap:1.5rem;
    padding: 2.5rem 0 4.5rem 0;
    grid-template-rows:1fr auto;
}

.header__hero p {
    color: var(--body-color);
    text-wrap-style: balance;
    margin-bottom:0.5rem;
}

.header__hero--left {
    display: grid;
    gap:1.5rem;
    align-content: end;
    height: 100%;
    grid-template-rows: auto 1fr;
    align-items: center;
}

.header__hero--left .resume a {
    color:var(--body-color);
    text-decoration:underline;
    font-size:var(--small-font-size);
    opacity:.675;
}

.header__hero--left .resume a:hover {
    opacity:1;
}

.tour-breadcrumbs ol a {
    color: rgba(255,255,255,0.6);
}

.tour-breadcrumbs ol a:hover {
    text-decoration:underline;
    color:var(--body-color);
}

.tour-breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    color: rgba(255,255,255,0.6);
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.25);
    list-style:none;
    padding:0;
    margin:0;
}

.tour-breadcrumbs ol li {
    display:flex;
    align-items
}

.tour-breadcrumbs ol li:not(:last-child):after {
    content:"";
    display:inline-flex;
    width:0.75rem;
    margin:0 .5rem;
}

.tour-breadcrumbs ol li:after {
    display: inline-block;
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M16.2803 11.4697C16.5732 11.7626 16.5732 12.2374 16.2803 12.5303L8.78033 20.0303C8.48744 20.3232 8.01256 20.3232 7.71967 20.0303C7.42678 19.7374 7.42678 19.2626 7.71967 18.9697L14.6893 12L7.71967 5.03033C7.42678 4.73744 7.42678 4.26256 7.71967 3.96967C8.01256 3.67678 8.48744 3.67678 8.78033 3.96967L16.2803 11.4697Z' fill='black'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M16.2803 11.4697C16.5732 11.7626 16.5732 12.2374 16.2803 12.5303L8.78033 20.0303C8.48744 20.3232 8.01256 20.3232 7.71967 20.0303C7.42678 19.7374 7.42678 19.2626 7.71967 18.9697L14.6893 12L7.71967 5.03033C7.42678 4.73744 7.42678 4.26256 7.71967 3.96967C8.01256 3.67678 8.48744 3.67678 8.78033 3.96967L16.2803 11.4697Z' fill='black'/%3E%3C/svg%3E");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.hero__right {
    color: var(--wp--preset--color--white);
    display: grid;
    align-content: end;
    margin-bottom: 1.5rem;
}

.tour__data {
    display:grid;
}

.data__top {
    display:block;
}

.data__top span {
    display: block;
    width: fit-content;
    padding: .25rem .75rem 0.15rem .75rem;
    background-color: var(--body-color);
    color: var(--title-color);
    font-size: var(--smaller-font-size);
    border-radius: .25rem .25rem 0 0;
}

.data__line {
    border-top: 1px solid rgba(255, 255, 255, 0.75);
    border-right: 0;
    border-left: 0;
    padding: 1rem 0;
    display: flex;
    gap: 0.625rem;
    margin: 0;
    flex-wrap: wrap;
}

ul.tour-route li {
    display:flex;
    gap:.5rem;
}

ul.tour-route li:not(:last-child):after {
    content:"—";
}

.data__line.tour-tags li {
    border: 1px solid rgba(255, 255, 255, 0.625);
    font-size: var(--smaller-font-size);
    padding: 0.15rem .75rem;
    border-radius: 2rem;
    backdrop-filter: blur(2px);
    background-color: rgba(255, 255, 255, 0.1);
}

.data__line .duration {
    display:grid;
}

.data__line .duration .time {
    font-size: var(--h2-font-size);
}

.data__line .duration .note {
    font-size: var(--smaller-font-size); 
    line-height: 1;
}

.data__line.data__bottom {
    gap:1.5rem; 
}

.data__line.data__bottom>span {
    line-height:2.25;
}

.data__line.data__bottom a {
    margin: auto 0 0 auto;
    color: var(--body-color);
    padding-left: 1.5rem;
    border-radius: 0.375rem;
    transition: .3s ease;
    text-wrap-mode: nowrap;
    line-height: 1;
    height: max-content;
    font-size: var(--small-font-size);
    text-decoration: underline;
    opacity:.675;
}

.data__line.data__bottom a:hover {
    opacity:1;
}

.popup__cta {
    position: sticky;
    z-index: 99;
    width: 100%;
    height: auto;
    display: grid;
    gap: 3rem;
    align-content: end;
    align-items: center;
    pointer-events: none;
    transition: .8s var(--power4-out);
    bottom: 0;
    transform: translateY(110%);
}

.popup__cta * {
    pointer-events:auto;
}

.poopup__toggle {
    display: flex;
    margin: auto;
    position: absolute;
    left: 0;
    right: 0;
    justify-content: center;
    bottom: calc(110% + 2.5rem);
    transition:.8s var(--power4-out);
    pointer-events:none;
}

.popup__content {
    background-color: var(--body-color);
    border-radius: 1.5rem;
    padding: 2.5rem;
    width: 100%;
    max-width: 80%;
    margin: auto;
    display:flex;
    gap:2.5rem;
}

.show-modal .popup__cta {
    pointer-events:auto;
    transform:translateY(0);
    gap:1.5rem;
}

.show-modal .poopup__toggle {
    bottom: 110%;
}

.bg-popup {
    position: fixed;
    inset: 0;
    z-index: 98;
    pointer-events: none;
    transition:.8s var(--power4-out);
}

body:has(.level-1:hover) .bg-popup,
.show-modal .bg-popup { 
    background-color: hsl(210deg 65% 12% / 55%);
    pointer-events:auto;
    backdrop-filter: blur(2px);
}

/*Variable Sticky Program*/
.program__content {
    transition:padding .5s ease;
}

.itinerary__header * {
    position:relative;
}

.itinerary__header:before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 10rem;
    top: -1.5rem;
    background-color: var(--body-color);
}

.itinerary__header {
    position: sticky;
    z-index: 3;
    top: -8rem;
    transition:.5s ease;
}

body:has(.scroll-up) .itinerary__header {
    top: -3.75rem;
}

.day__header--wrap:before {
    transition:.5s ease;
}

body:has(.scroll-up) .day.active .day__header--wrap {
    top: calc(0rem + var(--height-menu));
}

@media screen and (min-width: 767px) {
    body.show-megamenu .bg-popup {
        background-color: hsl(210deg 65% 12% / 55%);
        pointer-events:none;
        backdrop-filter: blur(2px);
    }

    .heroImage .level-1:has(.sub-menu)>a {
        color:var(--body-color);
    }

    .level-1:has(.sub-menu)>a { 
        z-index:1;
    }

    .heroImage 
    #header:has(.level-1:hover) .level-1:has(.sub-menu)>a {
        color:var(--title-color);
    }

    #header:has(.level-1:hover) .logo svg {
        fill:var(--title-color);
        z-index:1;
    } 

    #header:has(.level-1:hover) .menu__actions a {
        color:var(--title-color);
        z-index:1;
    }

    .tour__single--hero {
        min-height:113.5svh;
    }

    .header__hero {
        gap:12.5vw;
        grid-template-columns: 5fr minmax(max-content, 4fr);
        grid-template-rows:initial;
        padding-bottom:3rem;
    }

    .header__hero--left {
        padding: 0 0 2.5rem 0;
        grid-template-rows: initial;
        align-items: initial;
    }

    .hero__content h1 {
        font-size:calc(1.35 * var(--big-font-size));
    }

    .hero__content .resume {
        display:initial;
    }
}


@media screen and (min-width: 968px) {
    .header__hero {
        gap:25vw;
    }
}

img { object-position: 50% 50%; }

/*Photo position*/
/*object-position: X Y*/
img.img-id-1272 { object-position: 65% 50%; }
img.img-id-125 { object-position: 50% 100%; }
img.img-id-839 { object-position: 60% 100%; } 
img.img-id-818 { object-position: 25% 100%; }
img.img-id-820 { object-position: 25% 50%; }
img.img-id-821 { object-position: 17.5% 50%; }
img.img-id-851 { object-position: 33% 50%; }
img.img-id-850 { object-position: 10% 50%; }
img.img-id-848 { object-position: 20% 50%; }
img.img-id-844 { object-position: 35% 50%; }
img.img-id-843 { object-position: 58% 50%; }
img.img-id-842 { object-position: 70% 50%; }
img.img-id-841 { object-position: 85% 50%; }
img.img-id-840 { object-position: 37% 50%; }
img.img-id-1336 { object-position: 65% 50%; }
img.img-id-837 { object-position: 36% 50%; }
img.img-id-836 { object-position: 37% 50%; }
img.img-id-834 { object-position: 50% 100%; }
img.img-id-831 { object-position: 80% 100%; }
img.img-id-830 { object-position: 72% 100%; }
img.img-id-829 { object-position: 70% 100%; }
img.img-id-828 { object-position: 87% 50%; }
img.img-id-827 { object-position: 0% 100%; }
img.img-id-826 { object-position: 78% 50%; }
img.img-id-825 { object-position: 64% 100%; }
img.img-id-824 { object-position: 81% 50%; }
img.img-id-798 { object-position: 50% 80%; }
img.img-id-767 { object-position: 50% 36%; }

/*img.img-id- { object-position: 50% 50%; }*/

/* 
.tour__single--hero * {
    pointer-events:none;
}

.tour__single--hero picture img {
    pointer-events:auto;
} */

/*Archive Tours*/
.tours__list {
    padding:0;
    margin:0;
    gap:5rem 1.5rem;
}

.tours__list article {
    height:100%;
}

.tours__list article .tour__card {
    display:grid;
    transition:box-shadow .2s ease;
    height:100%;
    color:var(--text-color); 
}

.tour__card .entry-media {
    display:block;
    position: relative;
}

.tour__card .entry-media .type {
    position: absolute;
    top: 1rem;
    left: 1rem;
    font-size: var(--smaller-font-size);
    background-color: var(--body-color);
    padding: .125rem .625rem;
    border-radius: .325rem;
}

.tour__card picture {
    display: block;
    overflow:hidden;
    height: 100%;
    user-select:none;
}

.tour__card img {
    display:block;
    object-fit:cover;
    width:100%;
    height:100%;
    transition:.2s ease;
    aspect-ratio: 70/43;
}

.tour__card:hover img {
    transform:scale(1.02);
}

.tour__card .entry-content {
    margin: 0;
    display: grid;
    gap: 1.5rem;
    padding:0 1.5rem 1.5rem;
}

.tour__card header {
    align-content: space-between;
    padding-top: 1rem;
}

.tour__card header em {
    font-size: var(--small-font-size);
    font-style: normal;
    opacity: .625;
    color: var(--title-color);
}

.tour__card .entry-content .entry-title {
    margin:0;
    text-wrap-style: pretty;
    font-size: var(--h2-font-size);
}

.tour__card header .entry-meta {
    font-size: var(--small-font-size);
}

.tour__card header .entry-meta div {
    border-top: 1px solid #21212133;
    padding: .625rem 0px;
    text-wrap-style: pretty;
}

.tour__card footer {
    display:grid;
    align-content:end;
    gap:2.5rem;
}

.tour__card footer .duration {
    display:grid;
}

.tour__card footer .duration .time {
    font-size: var(--h3-font-size);
    font-weight:bold;
}

.tour__card footer .duration small {
    font-size: var(--smaller-font-size);
    line-height: 1;
}

/*Filter Tours*/
.tour__archive {
    display: grid;
    gap: 6.25vw;
}

.tours__filter__groups {
    display:grid;
    gap:.5rem;
    padding: 0;
    margin: 0;
}

.tours__filter__groups button {
    width: 100%;
    text-align:left;
    background:transparent;
    border:none;
    padding:0;
    cursor:pointer;
    display: flex;
    gap: .5rem;
}

.tours__filter .filter-group {
    background-color:rgb(240,240,240);
    border-radius: .5rem;
    padding:.5rem;
}

.filter-subgroup:has(ul) {
    background-color: var(--body-color);
    padding: 0;
    border-radius: .5rem;
    position:relative;
}

.filter-subgroup-header>button {
    padding: 1rem 1rem 1rem 1.5rem;
    display: flex;
    justify-content: space-between;
}

.filter-group .check {
    width:1rem;
    height:1rem;
    border:1px solid rgb(193 193 193 / 1);
    border-radius:.25rem;
    position:relative;
}

.filter-group .check:before {
    content:"";
    --icon-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M10.97 4.97a.75.75 0 0 1 1.07 1.05l-3.99 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425z'/%3E%3C/svg%3E");
    --icon-check-lg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M12.736 3.97a.733.733 0 0 1 1.047 0c.286.289.29.756.01 1.05L7.88 12.01a.733.733 0 0 1-1.065.02L3.217 8.384a.757.757 0 0 1 0-1.06.733.733 0 0 1 1.047 0l3.052 3.093 5.4-6.425z'/%3E%3C/svg%3E");
    width: .875rem;
    height: .875rem;

    background-color: currentColor;
    -webkit-mask-image: var(--icon-check-lg);
    mask-image: var(--icon-check-lg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    position:absolute;
    inset:0;
    transform: scale(0.5);
    opacity:0;
    transition:.2s var(--power4-out);
}

.active>button>.check:before {
    transform: scale(1);
    opacity:1;
}

.filter-subgroup-header .subgroup-filter-all {
    position: absolute;
    padding: 0;
    top: 1rem;
    right: 1rem;
}

.filter-subgroup-header .check button {
    border-radius: .25rem;
    width: 100%;
    height: 100%;
    display: block;
    overflow:hidden;
}

.filter-subgroup-header>button .label {
    display:flex;
    gap:.5rem;
}

.filter-group-header>button .label:after,
.filter-subgroup-header>button .label:after {
    content:"";
    width: 1rem;
    height: 1rem;
    background-color: black; /* color visible */
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.5303 16.2803C12.2374 16.5732 11.7626 16.5732 11.4697 16.2803L3.96967 8.78033C3.67678 8.48744 3.67678 8.01256 3.96967 7.71967C4.26256 7.42678 4.73744 7.42678 5.03033 7.71967L12 14.6893L18.9697 7.71967C19.2626 7.42678 19.7374 7.42678 20.0303 7.71967C20.3232 8.01256 20.3232 8.48744 20.0303 8.78033L12.5303 16.2803Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.5303 16.2803C12.2374 16.5732 11.7626 16.5732 11.4697 16.2803L3.96967 8.78033C3.67678 8.48744 3.67678 8.01256 3.96967 7.71967C4.26256 7.42678 4.73744 7.42678 5.03033 7.71967L12 14.6893L18.9697 7.71967C19.2626 7.42678 19.7374 7.42678 20.0303 7.71967C20.3232 8.01256 20.3232 8.48744 20.0303 8.78033L12.5303 16.2803Z'/%3E%3C/svg%3E");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    opacity:.5;
    transition:.5s var(--power4-out);
}

.filter-group.expand .filter-group-header>button .label:after,
.filter-subgroup.expand .filter-subgroup-header>button .label:after {
    transform:rotate(180deg);
}

.filter-group-header>button {
    padding:.25rem 1rem;
}

.filter-group-header>button span {
    display: flex;
    padding: .5rem 0rem;
    color: var(--title-color);
    text-shadow: 0px 0px 1px var(--title-color);
    gap:.5rem;
}

.filter-group-body {
    grid-template-rows: 0fr;
    display: grid;
    transition:.5s var(--power4-out);
}

.filter-group.expand .filter-group-body {
    grid-template-rows: 1fr;
}

.filter-group-body--wrap {
    overflow:hidden;
}

.filter-group .filter-group-body--wrap>ul {
    margin: 1rem 0 0 0;
    display: grid;
    gap: .5rem;
    padding: 1.5rem 1.5rem 1rem 1.5rem;
    background-color: rgb(245 245 245 / 1);
    border-radius: .5rem;
}

.filter-group:has(.filter-subgroup ul) .filter-group-body--wrap>ul {
    background-color: transparent;
    padding: 0;
}

.filter-subgroup-body {
    grid-template-rows: 0fr;
    display: grid;
    transition: .5s var(--power4-out);
}

.filter-subgroup.expand .filter-subgroup-body {
    grid-template-rows: 1fr;
}
    
.filter-subgroup-body--wrap {
    overflow:hidden;
}

.filter-subgroup-body--wrap>ul {
    display: grid;
    padding: .5rem 1.5rem 1rem 1.5rem;
    margin: 0;
    gap:.5rem;
}

.filter-subgroup ul li button {
    padding: .25rem 0;
    display: flex;
    gap: .5rem;
    align-items: center;
}

.tours__filter__groups button[data-filter] span {
    display:flex;
    gap:.5rem;
    align-items: center;
}

/* Filteres d Cards */
.archive .tours__list {
    position: relative;
    overflow: hidden;
    transition: opacity .3s ease;
    align-content: start;
}

.tour__item.excluded {
    position:absolute;
    top:-100%;
    opacity:0;
}

.tour__item.include {
    position:relative;
    opacity:1;
}

/*Extras Filter*/
.tours__filter h3 {
    margin:0 0 2rem 0;
}

.tour__list--result p {
    margin:0;
}

.tours__filter {
    display:grid;
    align-content:start;
    gap:1.5rem;
    height: fit-content;
}

.tours__filter .filter__cta {
    border-top:1px solid #eaeaea;
    padding-top:1.5rem;
}

.tor__list--wrap {
    gap:2.5rem;
    align-content: start;
}

.tour__list--result {
    display:flex;
    justify-content:space-between;
}

.filter__wiew {
    display:flex;
    gap:1rem;
}

.filter__wiew button {
    opacity: .5;
    cursor: pointer;
    color: var(--title-color);
    border: 1px solid transparent;
    background: transparent;
    padding: .5rem 0.625rem;
    border-radius: 0.25rem;
}

.filter__wiew button:hover {
    opacity:1;
}

.filter__wiew button.active {
    opacity:1;
    border-color:#eaeaea;
}

.archive .viewGrid.tours__list {
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr));
    gap: 3rem 2rem;
}

.viewGrid.tours__list article {
    display:grid;
    height: 100%;
    aspect-ratio: 4/5;
}

.viewGrid.tours__list article .tour__card {
    grid-template-columns:1fr;
    position: relative;
    border-radius:.5rem;
    padding:1.5rem; 
    overflow: hidden;
}

.viewGrid .tour__card .entry-content {
    grid-template-columns:1fr;
    position:relative;
    color:var(--body-color);
    padding: 0;
}

.viewGrid .tour__card header .entry-meta {
    width:100%;
    display:none;
}

.viewGrid .tour__card .entry-media {
    position:absolute;
    inset:0;
}

.viewGrid .tour__card footer .button {
    display:none;
}

.viewGrid .tour__card picture:after {
    content: "";
    left: 0;
    position: absolute;
    width: 100%;
    --shadow-color: rgb(11 31 50 / 85%);
}

.viewGrid .tour__card picture:after {
    background-image: 
        linear-gradient(180deg,var(--shadow-color) 0%,transparent 25%),
        linear-gradient(0deg,var(--shadow-color) 0%,transparent 75%);;
    top: 0;
    height: 100%;
}

.viewGrid .tour__card .entry-media .type {
    top:1.5rem;
    left: 1.5rem;
}

.viewGrid .tour__card header {
    padding-top:0;
}

.viewGrid .tour__card header em {
    text-align:right;
    display:block;
    color: var(--body-color);
}

.viewGrid .tour__card .entry-content .entry-title {
    color: var(--body-color);
    text-align: center;
    height: 3lh;
    display: grid;
    align-content: end;
    text-shadow: 0px 0px 1px #fff;

    position:absolute;
    top:50%;
    transform: translateY(-50%);  
    text-align: center;
    margin:0;
    display: grid;
    align-content: center;
}

.tour__card footer {
    justify-content: right;
    text-align:right;
}

.tour__card footer .button {
    display:none;
}

/* Archive Tours*/
.archive__tour {
    margin-top:0;
}

.archive__tour .page-header {
    position:relative;
}

.archive__tour .page-header picture {
    position: absolute;
    inset:0;
}

.archive__tour .page-header picture img {
    width:100%;
    height:100%;
    object-fit:cover;
}

.archive__tour .page-header picture:after {
    --shadow-color: rgb(11 31 50 / 85%);
    content: "";
    inset: 0;
    position: absolute;
    width: 100%;
    background-image: 
        linear-gradient(180deg,var(--shadow-color) 0%,transparent 50%),
        linear-gradient(0deg,var(--shadow-color) 0%,transparent 50%);;
    top: 0;
    height: 100%;
}

.archive__tour .page-header {
    color:var(--body-color);
    text-align:center;
}

.archive__tour .page-header h1 {
    color:var(--body-color);
    margin:0;
    font-size:calc(var(--big-font-size) * 1.2);
}

.archive__tour .page-header p {
    margin:0;
}

.page-header--content {
    position: relative;
    margin-top: var(--height-menu);
    height: 62.5vh;
    align-items: center;
}

.archive__tour .page-content {
    margin-left: max(3.5rem, 5vw);
    margin-right: max(3.5rem, 5vw);
}

@media screen and (min-width: 450px) {
    .viewGrid.tours__list article {
        aspect-ratio: 5/7;
    }
}

@media screen and (min-width: 767px) {
    
    .archive__tour .page-header p {
        margin:0 auto;
        width:60%;
        text-wrap-style: balance;
    }

    .tours__filter {
        margin:0;
    }

    .tours__list {
        gap:1.5rem;
    }

    .tours__list article .tour__card {
        grid-template-columns: 1fr;
        gap:0;
        display:grid;
        border:1px solid #21212133;
        border-radius:.375rem;
        padding: .75rem;
        transition:box-shadow .2s ease;
    }

    .tours__list {
        grid-template-columns: repeat(auto-fill, minmax(min(100%, 21.5rem), 1fr));
    }

    .viewGrid.tours__list {
        margin: 0;
    }

    .tour__card:hover {
        box-shadow: 0 0 #0000, 0 0 #0000,0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);
    }

    .tour__list--result {
        margin: 0;
    }
}

@media screen and (min-width: 1100px) {
    .tour__archive {
        grid-template-columns:18.5rem 1fr;
    }

    .tours__filter {
        position: sticky;
        top: 4.5rem;
    }

    .tours__list {
        grid-template-columns: 1fr;
    }

    .tours__list article .tour__card {
        grid-template-columns: 2fr 3fr;
        gap:2.5rem;
    }

    .tour__card img {
        aspect-ratio: initial;
    }

    .tour__card .entry-content {
        grid-template-columns: 1fr max-content;
        padding:0;
    }

    .tour__card header .entry-meta {
        width: 80%;
    }

    .tour__card footer .button {
        display:block;
    }

}

/************ SIMPLE TOGGLE ************/
.toggle__list {
    display:grid;
    /*margin: 0 0 1.5rem 0;*/
    margin: 0 auto 1.5rem auto;
    padding: 0;
    align-content: start;
}

.toggle__header {
    padding: 1.25rem 0 1rem 0;
    font-weight:500;
    transition:color .3s ease, transition .3s ease;
    position:relative;
    align-items:center;
    cursor:pointer;
    color:var(--title-color); 
}

@media screen and (min-width: 767px) { 
    .toggle__header {
        padding: 1.5rem 0;
    }
}

.toggle__header h3 {
    font-weight: bold;
    line-height: 1.5;
    display:grid;
    justify-content:space-between;
    margin:0;
    gap:1.5rem;
    grid-template-columns: auto 1.5rem;
    width:100%;
    align-items: center;
    transition: 0.4s cubic-bezier(0.625, 0.05, 0, 1);
    --icon-chevron-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z'/%3E%3C/svg%3E");
    font-weight:normal;
}

.toggle__header h3:after {
    content:"";
    display:block;
    width:1.25rem;
    height:1.25rem;
    transition: 0.4s cubic-bezier(0.625, 0.05, 0, 1); 
    background-color: currentColor;
    -webkit-mask-image: var(--icon-chevron-down);
    mask-image: var(--icon-chevron-down);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.active .toggle__header h3:after {
    transform:rotate(180deg);
}

.toggle__li:not(:last-child) {
    border-bottom: 1px solid rgba(0,0,0,.15);
}

.faq:hover .toggle__header {
    color:var(--title-color);
}

.toggle__content {
    display:grid;
    grid-template-rows:0fr;
    padding:0;
    overflow: hidden;
    transition: 0.4s cubic-bezier(0.625, 0.05, 0, 1);
}

.active .toggle__content {
    grid-template-rows:1fr;
}

.toggle__content--wrap {
    border-radius: 0.5rem;
    transition: all .3s ease;
    margin:0;
    opacity:0;
    transition: 0.4s cubic-bezier(0.625, 0.05, 0, 1);
    color: var(--text-color);
    overflow:hidden;
}

.toggle__content--wrap p {
    margin: 0 0 1.5rem 0;
}

.toggle__content ul {
    margin-left: 0;
    padding-left: 1.5rem;
    list-style: disc;
}

.toggle__content a {
    text-decoration:underline;
    color:var(--title-color);
    word-break: break-word;
}

.toggle__content a:hover {
    color:var(--title-color);
}

.active .toggle__content--wrap {
    opacity:1;
}

@media screen and (min-width: 767px) { 
    .toggle__list {
        max-width: 29.25rem;
    }
    
    .toggle__header h3 {
        font-size:var(--normal-font-size);
    }
}

.section__faqs .faqs__header h2 {
    font-size:var(--big-font-size);
    color: var(--title-color);
    margin:0;
    font-weight:bold;
}

.section__faqs .faqs__header p {
    margin-top:0;
}

.section__faqs .faqs__header a,
.section__faqs .faqs__header a:visited {
    color:var(--text-color);
    opacity:.5;
    transition:.3s ease;
    width:fit-content;
}

.section__faqs .faqs__header a:hover,
.section__faqs .faqs__header a:visited:hover {
    text-decoration:underline;
    opacity:1;
}

@media screen and (min-width: 767px) {
    .faqs--wrap {
        grid-template-columns: 4fr 5fr;
        column-gap: 10%;
    }
    
    .section__faqs .faqs__header {
        position:sticky;
        top: calc(var(--height-menu) + 4rem);
        height:fit-content;
        margin-bottom: 6rem;
    }

    .section__faqs .faqs__header p {
        text-wrap-style: balance;
        width:80%;
    }

    .section__faqs .faqs__header h2 {
        margin-top:1.5rem;
        line-height: 1.35;
    }
}

/*Tabs*/
.section__tabs .section__title {
    text-align: center;
    margin: 1.5rem 0;
    font-size:var(--big-font-size);
}

.section__tabs .tabs {
    gap:2.5rem;
    margin-top: var(--height-menu);
}

.tab__controls .tab__control {
    font-family: var(--body-color);
    font-weight: var(--font-semi-bold);
    padding: 0.25rem .75rem;
    border-radius: .35rem;
    cursor: pointer;
    color: var(--text-color);
    text-align: center;
    align-content: center;
    user-select: none;
    border: none;
    background: transparent;
    line-height: 1.5;
    text-wrap-mode: nowrap;
}

.tab__controls {
    position: relative;
}

.tab__controls:after {
    content: "";
    position: absolute;
    right: 0;
    height: 2.5rem;
    width: 2rem;
    background: linear-gradient(270deg, var(--body-color), transparent);
    z-index: 1;
    top: 0;
    display: block;
}

.tab__controls .tab__control:hover {
    color: var(--title-color);
}

.tab__controls .tab__control.active {
    color: var(--title-color);
}

.tab__controls--wrap {
    border-bottom: 1px solid rgba(0, 0, 0, .1);
    padding: .75rem 1rem;
    position: relative;
    /*box-shadow: -1px 1px 10px 2px rgba(0, 0, 0, .02);*/
    width: 100vw;
    overflow: auto;
}

.tab__controls--wrap::-webkit-scrollbar {
    display: none;
}

.tab__content--head {
    padding: 0 1.5rem;
}

.tab__content--body {
    padding: 1.5rem;
}

@media screen and (min-width: 450px) {
    .tab__controls--wrap {
        border: 1px solid rgba(0, 0, 0, .05);
        border-radius: .75rem;
        width: fit-content;
        margin: auto;
        justify-content: center;
    }

    .tab__controls:after {
        display: none;
    }

    .tab__controls .tab__control {
        transition: .2s ease;
        font-size: var(--small-font-size);
        font-weight: var(--font-medium);
    }

    .tab__controls .tab__control:hover {
        background-color: #f3f3f3;
    }

    .dark-theme .tab__controls .tab__control:hover {
        background-color: #434343;
    }
}

@keyframes smooth-bounce-left {
    0% { transform: translateX(0); }
    40% {transform: translateX(-8px);}
    70% {transform: translateX(4px);}
    100% {transform: translateX(0);}
}

@keyframes smooth-bounce-right {
    0% {transform: translateX(0);}
    40% {transform: translateX(8px);}
    70% {transform: translateX(-4px);}
    100% {transform: translateX(0);}
}

.line {
    position: absolute;
    height: 3px;
    bottom: 0;
    width: 49px;
    left: 24px;
    background-color: var(--title-color);
    border-radius: 1rem 1rem 0 0;
    transition: 0.125s ease;
    animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);
    animation-duration: 0.4s;
    user-select: none;
}

.animate-right .line {
    animation-name: smooth-bounce-right;
}

.animate-left .line {
    animation-name: smooth-bounce-left;
}

.tab__contents {
    overflow: hidden;
}

.tab__content {
    display: none;
    animation-duration: 0.4s;
    animation-timing-function: ease;
}

.tab__content h2 {
    font-size: var(--big-font-size);
    color: var(--title-color);
    margin:0;
}

.tab__content.inclusions .tab__content--wrap {
    gap: 1.5rem 10%;
    display: grid;
}

.animate-right .tab__content {
    animation-name: moving-right;
}

.animate-left .tab__content {
    animation-name: moving-left;
}

@keyframes moving-right {
    from {
        transform: translateX(2rem);
        opacity: 0;
    } to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes moving-left {
    from {
        transform: translateX(-2rem);
        opacity: 0;
    }

    to {
        transform: translateX(0);
        opacity: 1;
    }
}

.tab__content.active {
    display: block;
}

.tab__content ul {
    margin-left: 1.5rem;
}

.tab__content ul,
.tab__content ol {
    padding-left: 0;
}

.tab__content ul > li {
    list-style: disc;
    margin-bottom: .5rem;
}

.tab__content ol li ul > li {
    margin-bottom: 0;
}

.tab__content ol {
    margin-bottom: 1rem;
    margin-left: 1em;
    margin-top: .5rem;
}

.tab__content p:empty {
    display: none;
}

.tab__content strong {
    font-weight:bold;
}

@media screen and (min-width: 676px) {
    .tab__content {
        max-width:48rem;
        margin: auto;
    }

    .tab__content.packing ul {
        column-count: 2;
        column-gap: 5rem;
    }

    .tab__content.inclusions .tab__content--wrap {
        grid-template-columns: 1fr 1fr;
    }

    .tab__content--head {
        padding: 0;
    }
}


/********** Tour Options ************/

.options__card {
    display: grid;
    box-shadow: 0px 0px 5px rgba(0, 0, 0, .1);
    border-radius: .5rem;
    overflow: hidden;
    padding: .5rem;
}

.option__poster img {
    display:block;
    aspect-ratio:3/2;
    border-radius:.375rem;
    height:100%;
    object-fit: cover;
}

.option__info {
    display: grid;
    align-content: space-between;
    row-gap:1.5rem;
}

.option__info .title p {
    font-size: 1.75rem;
    margin: 0;
    line-height: 1.25;
    margin-top: .5rem;
}

.option__info .title span {
    font-size: var(--normal-font-size);
    opacity: .5;
    font-style: italic;
}

.option__body {
    display:grid;
    padding:1rem;
}

.option__info .actions {
    display:flex;
    gap:1rem 1.5rem;
    flex-wrap:wrap;
}

.option__info .actions a {
    text-wrap-mode: nowrap;
    width:100%;
}

.option__info .actions a,
.option__info .actions a:visited {
    color:var(--body-color);
}

.option__info .actions a:hover,
.option__info .actions a:visited:hover {
    color:var(--title-color);
}

.option__info .actions a.btn-line,
.option__info .actions a.btn-line:visited {
    border-color:var(--title-color);
    color:var(--title-color);
    background-color:var(--body-color);
}

.option__info .actions a.btn-line:hover,
.option__info .actions a.btn-line:visited:hover {
    color:var(--body-color);
    background-color:var(--title-color);
}

.option__share {
    display: grid;
    align-content: center;
    justify-content: center;
    border-top: 1px solid #eaeaea;
    padding-top: 2rem;
    margin-top:2rem;
}

.option__share ul {
    padding:0;
    margin:0;
    display:grid;
    gap: 1rem;
}

.option__share ul li {
    cursor:pointer;
    color:var(--text-color);
    transition:.3s ease;
}

.option__share ul li .share__link, 
.option__share ul li .share__link:visited {
    display:flex;
    gap:1rem;
    align-items: center;
    color:var(--text-color);
}

.option__share ul li:hover,
.option__share ul li:hover .share__link {
    color:var(--accent-color);
    transition:.3s ease; 
}

.option__actions ul li a,
.option__actions ul li a:visited {
    color:inherit;
}

.option__share .share__link .share__svg {
    background-color: var(--first-color);
    width: 2.25rem;
    height: 2.25rem;
    padding: .5rem;
    border-radius: 50%;
    color: var(--body-color);
    transition:inherit;
}

.option__share ul li:hover .share__svg {
    background-color:var(--accent-color);
}


@media screen and (min-width: 767px) {
    .options__card {
        grid-template-columns: min(16rem, 20%) 1fr;
    }

    .option__poster img {
        aspect-ratio:1;
    }
    .option__body {
        grid-template-columns: 3fr 2fr;
        padding:1rem 3vw;
    }

    .option__info .title p {
        text-wrap-style: balance;
        width:85%;
    }

    .option__info .actions a {
        width:fit-content;
    }

    .option__share {
        padding-left: 3vw;
        border-top:0px solid;
        border-left: 1px solid #eaeaea;
        padding-top: 0;
        margin-top:0;
    }
}

/*****************  Footer  *****************/
/********* Prefooter *********/
.section__associations {
    position:relative;
    background-color:var(--body-color);
}

.section__associations .container__narrow {
    padding: 2rem 0 6rem 0;
}

/** Associates **/
.associations {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 3rem 5rem;
    flex-wrap: wrap;
    margin:0; 
    padding:0; 
}

.section__associations p {
    text-align:center;
}


.associations li {
    -webkit-filter: saturate(0) grayscale(1);
    filter: saturate(0) grayscale(1);
    opacity: 0.5;
    transition: all 0.4s ease;
}

.associations li:hover {
    -webkit-filter: saturate(1) grayscale(0);
    filter: saturate(1) grayscale(0);
    opacity:1;
}

.footer__bottom {
	margin-top: 3rem;
    position: relative;
    padding: 2rem 0;
    border-top: 1px solid #ffffff1a;
}

.footer__legals {
	display:grid;
    gap:1rem;
	padding: 0;
	margin: 0;
	font-size:var(--small-font-size);
	opacity:.5;
    text-align:center;
}

.footer__legals ul {
	padding:0;
	margin:0;
    justify-content: center;
    display:flex;
    gap:1rem;
    flex-direction:column;
}

.footer__legals a,
.footer__legals a:visited {
	color:var(--body-color);
}

.footer__legals a:hover {
	text-decoration:underline;
}

.site__map ul {
	margin:0;
	padding:0;
}

.site__map li {
	padding: .25rem 0;
}

.site__map li a,
.site__map li a:visited {
	color:var(--body-color);
}

.site__map li a:hover {
	text-decoration:underline; 
}

.footer-bg {
	position: absolute;
    inset: -150%;
    background: radial-gradient(ellipse at center, #182a6ddd 0%, var(--first-color) 18%, var(--first-color) 100%);
    transform: rotateY(10deg);
}  

.site-footer {
	background-color: var(--first-color);
	color: var(--body-color);
	position: relative;
	overflow: hidden;
}

.footer__top {
    padding-top:6rem;
}

.site-footer .logo svg {
	fill:var(--body-color);
	/* width:5.875rem; */
}

.site-info {
	position:relative;
    justify-items: center;
    text-align: center;
    row-gap:6rem;
}

.site-info .site__brand {
	justify-items: center;
    width: fit-content;
    align-content: start;
}

.site-info .site__brand ul {
	display:flex;
	margin:0;
	padding:0;
	gap:1rem;
}

.site-info .site__brand ul a {
	color:var(--body-color);
	transition:.3s ease;
}

.site-info .site__brand ul a:hover {
	color:var(--accent-color);
}


.button.btn-light,
.button.btn-light:visited {
	background-color:var(--body-color);
	border-color:var(--body-color);
	color:var(--title-color);
}

.site__cta {
	display:grid;
	place-content:center;
    padding-top:1.5rem;
}

@media screen and (min-width: 767px) {
    .site-info {
        grid-template-columns: 1fr 28.5rem;
        justify-items: initial;
        text-align: initial;
    }

    .site__map ul {
	    column-count: 2;
    }

    .footer__bottom {
        margin-top: 7.5rem;
    }

    .footer__legals {
        display:flex;
        text-align:initial;
        justify-content: space-between;
    }

    .footer__legals ul {
        flex-direction:row;
    }

    .footer__legals > :first-child {
        flex:1;
    }

    .footer__legals > :last-child {
        flex:1;
        text-align: right;
    }
}

@media screen and (min-width: 1150px) {

    .site__cta {
        position: absolute;
        right: 0;
        width: 14.25rem;
        top: 50%;
        transform: translateY(-50%);
    }

    .site-info {
        grid-template-columns: 1fr 28.5rem 14.25rem;
    }

    .footer__bottom {
        margin-top: 11rem;
    }
}


/****************inputs type Google****************/
.field__subgroup--doc {
    display: grid;
    grid-template-columns: 2fr 3fr;
}

.form__date-group {
    display: grid;
    grid-template-columns: 4ch min-content 4ch min-content 6ch;
    height: 100%;
    text-align: center;
    padding: 0 1rem;
    align-content: center;
    align-items: center;
    cursor:text;
}

.form__date-group input { 
    width:100%;
    border:none;
    color: var(--title-color); 
}

.form__date-group .break {
    padding: 3px;
    line-height: 0;
    margin-bottom: -4px;
}

.form__date-group input:focus-visible {
    outline:none;
}

.form__date-group input::placeholder,
.form__date-group .break {
    opacity:0;
    transition:.3s ease;
}
.form__div:has(input:focus) .form__date-group input::placeholder,
.form__div:has(.input-birthday:not(:placeholder-shown).input-birthday:not(:focus)) input::placeholder,
.form__div:has(input:focus) .form__date-group .break,
.form__div:has(.input-birthday:not(:placeholder-shown).input-birthday:not(:focus)) .break {
    opacity:1;
}


.form__div {
    position:relative;
    height:3rem;
    border-radius:.5rem;
    border:1px solid #eaeaea;
    transition:.3s ease;
}

.form__div.disabled {
    opacity: 0;
    transition: .3s ease;
    height: 0;
}

.form__div:has(textarea) {
    height:auto;
}


.form__div:has([type="radio"]) {
    border-color:transparent;
}

.form__div:has([type="radio"]) .form__label {
    top:-0.35rem; 
    left:0.8rem;
}

form .form__input {
    width:100%;
    height:100%;
    border:none;
    border-radius:.5rem;
    outline:none;
    padding:0 1rem;
    background:transparent;
    z-index:1;
    font-size: var(--normal-font-size); 
    font-family: var(--body-font);
    color: var(--title-color); 
}

form textarea.form__input {
    padding-top: 2.5rem; 
    padding-bottom: 1.25rem;
}

[data-validate="idnumb"] { 
    text-transform:uppercase;
}

.form__div:has([data-datepicker]):before {
    position: absolute;
    top: 0; 
    right: 10px;
    content: " ";
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTEiIHZpZXdCb3g9IjAgMCAxNCAxMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEuMyAxLjJIMTIuNzQ5OCIgc3Ryb2tlPSIjNEE0QTRBIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIi8+CjxwYXRoIGQ9Ik0xLjMgNC4ySDEyLjc0OTgiIHN0cm9rZT0iIzRBNEE0QSIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIvPgo8cGF0aCBkPSJNMS4zIDcuMkgxMi43NDk4IiBzdHJva2U9IiM0QTRBNEEiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiLz4KPHBhdGggZD0iTTEuMzEyNSAxMC4ySDguNDc0MDYiIHN0cm9rZT0iIzRBNEE0QSIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIvPgo8L3N2Zz4K);
    background-position: center;
    background-repeat: no-repeat;
    width: 20px;
    height: 100%;
    filter: invert(1);
    pointer-events:none;
}


.form__div:has([data-group]):before { 
    position: absolute;
    top: 0; 
    right: 10px;
    content: " ";
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9IiM0YTRhNGEiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE4cHgiIGhlaWdodD0iMThweCIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNOCA0Ljc1YTEuNSAxLjUgMCAxIDAgMCAzIDEuNSAxLjUgMCAwIDAgMC0zbS0zIDEuNWEzIDMgMCAxIDEgNiAwIDMgMyAwIDAgMS02IDBtMTEgLjVhMS41IDEuNSAwIDEgMCAwIDMgMS41IDEuNSAwIDAgMCAwLTNtLTMgMS41YTMgMyAwIDEgMSA2IDAgMyAzIDAgMCAxLTYgMG0tNSAyLjVhNi45MSA2LjkxIDAgMCAxIDUuMzYgMi40OTMgNi45NiA2Ljk2IDAgMCAxIDguMjQ0IDIuMzEybC4xNDYuMTk5djQuOTk2SDIuMjV2LTYuOTk3bC4xNDctLjE5OUE2LjkxIDYuOTEgMCAwIDEgOCAxMC43NW0zLjc1IDguNWg4LjV2LTIuOTk1YTUuNDYgNS40NiAwIDAgMC04LjUgMHptLTEuNSAwaC02LjV2LTQuOTk0YTUuNDEgNS40MSAwIDAgMSA0LjI0NS0yLjAwNmguMDFhNS40IDUuNCAwIDAgMSA0LjAwNiAxLjczIDcgNyAwIDAgMC0xLjYxNSAxLjU3NWwtLjE0Ni4xOTl6Ij48L3BhdGg+PC9zdmc+);
    background-position: center;
    background-repeat: no-repeat;
    width: 20px;
    height: 100%;
    filter: invert(1);
    pointer-events:none;
}
 
.form__label {
    position:absolute;
    left:1rem; 
    top:1rem;
    padding:0 .25rem;
    background-color:var(--section-color);
    -webkit-transition: all .25s cubic-bezier(.4,0,.2,1),opacity .15s cubic-bezier(.4,0,.2,1),background-color .3s ease;
    transition: all .25s cubic-bezier(.4,0,.2,1),opacity .15s cubic-bezier(.4,0,.2,1),background-color .3s ease;
    font-size:var(--normal-font-size);
    line-height: 1;
    pointer-events: none;
    color:var(--text-color);
    z-index:1;
    pointer-events: none;
}

.form__div:has(input:focus) .form__label { 
    top:-0.35rem; 
    left:0.8rem;
    color:var(--title-color);
    font-size:var(--smaller-font-size);
    font-weight:600; 
    z-index:1;
    pointer-events: auto;
}

.form__div:has(.form__input:not(:placeholder-shown).form__input:not(:focus)) .form__label,
.form__div:has(.input-birthday:not(:placeholder-shown).input-birthday:not(:focus)) .form__label,

.dropdown.visible .form__label,
.dropdown.filled .form__label,
.form__div.fill .form__label {  
    top:-0.35rem;
    left:0.8rem;
    font-size:var(--smaller-font-size);
    font-weight:600;
    z-index:1;
    color:var(--title-color);
}

.form__div:has(input:focus) {
    outline: -webkit-focus-ring-color auto 1px; 
}

.input__date.select__date,
.form__div select {
    cursor: pointer;
}

/*Form Terms + check verify*/
.form__terms label {
    display: flex; 
    gap: 0.25rem;
    margin-bottom:1rem;
    font-size:var(--small-font-size);
    align-items: center;
    cursor:pointer;
}

input[type="checkbox"] {
    appearance: none;
    width:0.9rem;
    height:0.9rem;
    border:1px solid var(--text-color);
    border-radius:.25rem;
    display: flex; 
    align-items: center;
    justify-content: center;
    cursor:pointer;
    background-color:var(--section-color);
    -webkit-transition: all .25s cubic-bezier(.4,0,.2,1),opacity .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1);
    transition: all .25s cubic-bezier(.4,0,.2,1),opacity .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1);
}

input[type="checkbox"]:checked {
    background-color:var(--first-color);
    border:1px solid var(--first-color);
}

input[type="checkbox"]:before {
    content: "✔";
    color:var(--section-color);
    font-size:.625rem;
    opacity:0;
}

input[type="checkbox"]:checked:before {
    opacity:1;
}

.form__terms a {
    color: var(--text-color);
    text-decoration: underline;
    transition:.3s ease;
}

.form__terms a:hover {
    color: var(--accent-color);
} 

.grecaptcha-badge {
    display: none!important;
    opacity: 0;
}


@media screen and (min-width: 767px) {
    .contact__container {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (min-width: 1024px){
    .contact__inputs {
        grid-template-columns: repeat(2, 1fr);
    } 
}

/*Phone Field*/

.dropdown {
    display:flex;
    gap:1rem;
    position:relative;
    height:100%; 
}

.dropdown input {
    width: 100%;
    border: none;
    outline: none;
    user-select: none;
    padding: 0;
    cursor:pointer;
    border-radius: 0;
    transition: background-color .3s ease;
}

.dropdown .toggle {
    display:flex;
    gap:0.5rem;
    align-items:center;
    cursor:pointer;
    justify-content: space-between;
    padding:0 1rem;
}

.dropdown .form__input {
    padding:0;
    
}
 
.dropdown .options {
    position: absolute;
    z-index: 9;
    top: 1.5rem;
    border: 1px solid hsl(var(--form-color-main));
    border-radius: .5rem;
    overflow: hidden;
    background-color: #fff;
    width: 450px;
    max-height: 320px;
    transition: .3s ease-out;
    visibility: hidden;
    opacity:0;
    pointer-events: none; 
    margin-left:-1px;
}

.dropdown.visible .options { 
    top: 0;
    visibility: visible;
    opacity:1;
    pointer-events: auto;
}

.dropdown:has([name*="document_type"]) .options {
    min-width:max-content;
}

.dropdown .options .search-box {
    padding: 1rem 0 .6875rem 1rem;
}

.dropdown .options input {
    width: 100%;
    border: none;
    outline: none;
    padding:0;
}

.options__list {
    margin: 0;
    padding: 0 1rem 1rem;
    list-style: none;
    display: grid;
    gap: 0.5rem;
    overflow-y: auto;
    max-height: calc(280px - 16px);
    align-content: start;
    width:100%;
}

.options__list .option {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    align-items: center;
    padding: 0.3125rem .5rem;
    margin-right: 0;
    min-height: initial;
    overflow:initial;
    cursor: pointer;
}


.options__list .option.hide {
    display:none;
}

.option .data { 
    flex: 1;
    display: flex;
    justify-content: space-between;
    gap: .75rem;
}

.option .data .country-code {
    text-wrap: nowrap;
}

.frm-message {
    position: fixed;
    display:grid;
    gap:1rem;
    transform: translate(-50%, calc(-100% - 1.5rem) );
    top:0;
    opacity:0;
    z-index: 9999;
    left: 50%;
    max-width: 24rem;
    width:100%;
    transition: transform .6s cubic-bezier(.6, 0, .4, 1), 
                opacity .6s cubic-bezier(.6, 0, .4, 1);
    
} 

.frm-message.visible {
    transform: translate(-50%, 1.5rem );
    opacity:1;
}

.box_message {
    color:hsl(25,8%,75%);
    padding: 1rem 1.5rem;
    border-radius: 1rem;
    background-color: rgba(0,0,0, .85);
    backdrop-filter: blur(7px);
    font-size: var(--small-font-size);
    box-shadow: rgba(112, 112, 112, .1) 0px 0px 10px 5px;
    margin:0 1.5rem;
    position:relative;
}

.box_message strong {
    color:hsl(25,8%,95%);
    display:block;
    margin-bottom:.25rem;
}

.box_message .box__close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    display: grid;
    place-content: center;
    cursor: pointer;
    border: 1px solid;
    border-radius: 50%;
    opacity: .75;
    color: #fff;
    transition: .3 esase;
}

.box_message .box__close:hover {
    opacity:1;
}

.box_message .box__wrap  {
    display: grid;
    grid-template-columns: 2.5rem 1fr;
    gap: 1.5rem;
    align-items: center;
}

.box_message .box__avatar {
    display: grid;
    border-radius: 50%;
    place-content: center;
    aspect-ratio: 1;
    background-color: #fff;
}

.box_message p {
    margin:0;
}

.box_message .box__avatar svg {
    color:#000;
}

.radio__group {
    display: flex;
    align-items: end;
    gap: .5rem 3.5rem;
    flex-wrap: wrap;
    height: 100%;
}

.radio__group--options {
    gap: 1rem 1.5rem;
    display: flex;
}

.radio__group--option {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    cursor: pointer;
    gap: 0.25rem;
    overflow: visible!important;
}

.radio--value {
    transition: .3s ease-in-out;
    font-weight: initial;
}

.radio__group--option input[type="radio"] {
    display:none;
}

.radio__group--option .radio--selector {
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    border: 2px solid var(--text-color);
    position:relative;
    -webkit-transition: all .25s cubic-bezier(.4,0,.2,1),opacity .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1);
    transition: all .25s cubic-bezier(.4,0,.2,1),opacity .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1);
    margin-top: -2px;
}

.radio__group--option .radio--selector:after {
    content:"";
    position:absolute;
    width:.5rem;
    height:.5rem;
    background-color:var(--title-color);
    border-radius:50%;
    display:block;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0);
    -webkit-transition: all .25s cubic-bezier(.4,0,.2,1),opacity .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1);
    transition: all .25s cubic-bezier(.4,0,.2,1),opacity .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1);
}

.radio__group--option input[type="radio"]:checked ~ .radio--selector {
    border: 2px solid var(--title-color);
}

.radio__group--option input[type="radio"]:checked ~ .radio--selector:after {
    transform: translate(-50%, -50%) scale(1);
}

.radio__group--option input[type="radio"]:checked ~ .radio--value {
    color:var(--title-color);
}

.form__input.dropdown input[type="tel"] {
    border:none;
    width:100%;
    transition:background-color .3s ease; 
}

.form__input.dropdown input[type="tel"]:focus {
    outline:none;
    background:transparent;
    margin:2px 0;
}

.contact__form {
    --form-hue: 24.98;
    /* --form-color-main: var(--form-hue), 96.08%, 50%; */
    --form-color-main: var(--form-hue), 0%, 0%;
}

.form__div:has(.dropdown.visible) {
    position: relative;
    z-index: 2;
}
    
.dropdown .options {
    top:calc(100% - 1.5rem);
    left:0;
    width:100%;
    -webkit-box-shadow: 5px 5px 20px 5px rgba(0, 0, 0, 0.1);
    box-shadow: 5px 5px 20px 5px rgba(0, 0, 0, 0.1);
    border: none;
}
    
.dropdown .options .option {
    color: var(--text-color);
}
    
.dropdown .options .option:hover {
    background-color:rgba(0,0,0,0.045);
    color:var(--title-color);
}
    
.dropdown .options__list {
    height:100%;
    padding:1rem 0;
    gap:0;
}

.dropdown:has(.search-box) .options__list {
    padding-top:0;
}

    
.dropdown .options__list::-webkit-scrollbar {
    width:.25rem;
}
    
.options__list .option {
    box-shadow: none;
    border-radius: 0;
    background: none;
    padding: 0.3125rem 1.3125rem;
}
    
.dropdown.visible .options {
    top: calc(100% + .25rem);
}
    
.form__input.dropdown .toggle { 
    box-shadow:none;
    padding:0;
}

.selected-code { 
    font-size: var(--smaller-font-size);
    color: var(--text-color);
    margin-top: 4px;
}
    
.dropdown .fflag {
    border-radius: 1px;
    width: 20px; 
} 

/*========= CLAIMS PAGE =========*/
.claims__book.container {
    max-width:48rem;
}

.claims__book .title__page h1 {
    margin: 0 0 1rem 0;
    font-size:var(--big-font-size);
} 

.claims__book p {
    margin-bottom:0;
} 

.sent_message {
    margin-bottom:1.5rem;
}

.sent_message p {
    color:var(--valid-color);
    display:flex;
    gap:.25rem;
}

.error_sent_message {
    color: var(--invalid-color);
    margin-bottom: 1.5rem;
}

.form__section--claims {
    padding-bottom:2rem;
}

.claims__inputs {
    grid-template-columns: repeat(auto-fill, minmax(min(50%, 15rem), 1fr));
}

.complaint__subtitle {
    font-weight: var(--font-medium);
    font-size: var(--h3-font-size);
}

.claims__book .conditional__group:has(.conditional__field) {
    padding-top:2.5rem;
}

.conditional__field {
    height:0;
    overflow:hidden;
    opacity:0;
    -webkit-transition: all .25s cubic-bezier(.4,0,.2,1),opacity .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1);
    transition: all .25s cubic-bezier(.4,0,.2,1),opacity .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1);
}

.conditional__field.visible { 
    height:3rem;
    opacity:1;
    margin-top: 1rem;
    overflow:visible;
}

#frm-contact input[type="date"].form__input, 
#frm-claims input[type="date"].form__input {
    padding-left: 1.5rem;
    text-align: center;
    color: var(--text-color);
}

#frm-contact input[type="date"].form__input:focus, 
#frm-claims input[type="date"].form__input:focus {
    color: var(--title-color);
}

#frm-contact input[type="date"]::-webkit-inner-spin-button,
#frm-claims input[type="date"]::-webkit-calendar-picker-indicator {
    opacity:.6;
    cursor:pointer;
}

textarea::placeholder {
    opacity:.5;
    margin-top:.25rem;
    font-size: var(--small-font-size);
}

.claims__details strong {
    font-weight: var(--font-semi-bold);
}

.claims__aclarations p {
    display:flex;
    gap:.5rem;
    font-size: var(--small-font-size);
    font-style: italic;
}

/*========= CONTACT PAGE =========*/
.title__page h1 {
    text-align: center; 
    font-size: calc(var(--h1-font-size) * 1.3);
    margin: 0 0 6rem 0; 
}

.legal__info {
    text-align:center;
}

.legal__info address {
    margin:0;
    font-style: normal;
}

.contact__text {
    margin: 0 8rem 4rem 0;
}

.contact__information {
    display: flex;
    margin-bottom: var(--mb-2-5);
    gap: 0.75rem;
}

.contact__title {
    font-weight: var(--font-medium);
    margin:0;
}

.contact__subtitle, 
.contact__subtitle a {
    font-size: var(--small-font-size);
    color: var(--text-color-light);
    transition: all .3s ease;
    white-space: nowrap;
}

.contact__subtitle:hover, 
.contact__subtitle a:hover {
    color:var(--first-color);
}

.social__contacts {
    display: flex;
    gap: 1rem;
    margin-top: 0.5rem;
}

.section__staff .section__title {
    line-height: 1.25;
    margin-bottom: .75rem
}

.staff__images {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(auto-fit,minmax(min(100%,10.5rem),1fr));
    align-content: end
}

.staff__card picture {
    max-width: 10.5rem;
    aspect-ratio: 1;
    border-radius: 50%;
    overflow: hidden;
    margin: auto
}

.staff__card picture img {
    height: 100%;
    object-fit: cover
}

.staff__card figcaption {
    display: grid;
    text-align: center
}


.section__licenses h2 {
    font-size:var(--big-font-size);
}

.licenses__images {
    margin:0 1.5rem;
}

.licenses__images .gallery__item {
    display: block;
    border-radius: .35rem;
    overflow: hidden;
    margin-bottom: 1.5rem
}

.licenses__images .gallery__item img {
    transition: transform .3s;
    display: block
}

.licenses__images .gallery__item:hover img {
    transform: scale(1.015)
}

.licenses__images .gallery__item:nth-child(n + 4) {
    display:none;
}

.licenses__images:has(.show) .gallery__item:nth-child(n + 4) {
    display:block;
}

.toggle__licenses {
    display: flex;
    justify-content: center;
    cursor:pointer;
    opacity:.5;
    transition:.3s ease;
}

.toggle__licenses:hover {
    opacity:1;
}

.licenses__images:has(.show) .toggle__licenses {
    display:none;
}

@media screen and (min-width: 650px) {
    .review__wrap {
        margin-bottom:3.5rem
    }

    .reviews__list .review:nth-child(odd) {
        margin-left: 7.5rem
    }

    .reviews__list .review:nth-child(2n) {
        margin-right: 7.5rem
    }

    .licenses__images {
        margin:0;
    }

    .licenses__images .lightbox {
        display: block;
        column-count: 2;
        column-gap: 1.5rem;
    }

    .licenses__images .gallery__item:nth-child(n + 4) {
        display:block;
    }

    .toggle__licenses { 
        display: none;
    }
}

@media screen and (min-width: 967px) {
    .review__wrap {
        grid-template-columns:2fr 3fr
    }

    .reviews__description p {
        max-width: 18rem
    }

    .reviews__more {
        grid-column: 1/3
    }

    .staff__wrap {
        grid-template-columns: 2fr 3fr;
        column-gap: 5rem;
        padding-bottom: 4rem
    }

    .staff__card:first-child {
        grid-column-start: 2
    }

    .licenses__wrap {
        grid-template-columns: 2fr 3fr;
        column-gap: 5rem;
        padding-top: 1rem
    }

    .licenses__description {
        height: fit-content;
        position: sticky;
        top: calc(5rem + var(--height-menu));
        margin-bottom: 2.5rem
    }

    .licenses__images {
        display: grid;
        place-content: end center
    }
}

.section__contact {
    text-align:center;
    margin-top:6rem;
}

.section__contact--wrap {
    position:relative;
}

.section__contact--wrap .parallax-- { 
    position:absolute; 
    inset:0;
}

.section__contact .container {
    padding-bottom: 4.5rem;
    position:relative; 
}
 
.section__contact h2 {
    color:var(--body-color);
    margin-top:50vh;
    font-size: calc(1.5 * var(--h1-font-size));
    text-shadow: 0 0 5px rgb(0 0 0 / 35%);  
}

.section__contact .parallax--,
.section__contact .parallax-- img {
    height:120vh;
    object-fit: cover;
    width:100%; 
}

.home .popup__cta { 
    gap:2.5rem;
}

.fill__ {
    height: 40vh;
}

.section__contact .button {
    display: flex;
    padding: 1rem 3rem;
    width: max-content;
    margin: auto;
    background-color: var(--first-color);
    border-radius: .5rem;
    transition: .3s
}

.section__contact .button:hover {
    background-color: var(--title-color);
    color: var(--first-color)
}


/* Sticky Button */
.button_ {
    display: block;
    position: relative;
    transition: transform .1s linear, color .1s linear, background .15s linear;
    cursor: pointer;
    border: none;
    padding: 0;
    background-color: transparent;
    will-change: transform;
    transform-style: preserve-3d;
    backface-visibility: hidden;
}

.button_ a {
    position: relative;
    z-index: 2;
    padding: .25rem;
    border-radius: 2rem;
    background-color: rgba(255, 255, 255, 0.25);
    will-change: transform;
    transform-style: preserve-3d;
    box-shadow:0 198px 55px 0 rgba(0, 0, 0, 0.00),
      0 127px 51px 0 rgba(0, 0, 0, 0.01),
      0 71px 43px 0 rgba(0, 0, 0, 0.04),
      0 32px 32px 0 rgba(0, 0, 0, 0.07),
      0 8px 17px 0 rgba(0, 0, 0, 0.08);
}

.button__icon a {
    display: flex;
    align-items: center;
    gap: .25rem;
    color:var(--title-color);
}

.button__icon .animation-link {
    background-color: var(--body-color);
    padding: 0 1rem;
    color: var(--title-color);
    border-radius: 1.5rem;
    font-size: var(--smaller-font-size);
    font-weight: bold;
    height: 2rem;
    place-content: center;
}

.button__icon .icon {
    background-color: var(--body-color);
    width: 2rem;
    border-radius: 50%;
    aspect-ratio: 1;
    padding: 0;
    overflow:clip;
    display: grid;
    place-content:center;
}

.button__icon .icon .svg-close {
    display:none;
}

.show-modal .button__icon .icon .svg-close {
    display:block;
}

.show-modal .animation-link,
.show-modal .button__icon .icon .svg-open {
    display:none;
}

.svg-open {
    position:relative;
    width:1rem;
    height:1rem;
}


.svg-close {
    width:1rem;
    height:1rem;
}

.svg-open:before, 
.svg-open:after, 
.svg-close:before {
    content:"";
    width:1rem;
    height:1rem;
    display: block;
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.svg-close:before {
    --icon-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M7.99948 7.05767L11.2993 3.75781L12.2421 4.70062L8.94228 8.00047L12.2421 11.3003L11.2993 12.2431L7.99948 8.94327L4.69965 12.2431L3.75684 11.3003L7.05668 8.00047L3.75684 4.70062L4.69965 3.75781L7.99948 7.05767Z'/%3E%3C/svg%3E");
    -webkit-mask-image: var(--icon-close);
    mask-image: var(--icon-close);
}

.svg-open:before, 
.svg-open:after {
    --icon-open: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='black' d='M16.8336 6.29137C16.2298 6.00004 15.4795 5.9162 14.9375 5.89587C14.4581 5.87471 14 6.00004 13.5833 6.20837L10.521 7.60404L5.85474 6.16687C5.79208 6.14571 5.72942 6.14571 5.68791 6.18803L4.77158 6.6462C4.70892 6.6877 4.64625 6.75036 4.64625 6.83337C4.64625 6.91638 4.66741 6.97904 4.72926 7.0417L7.60447 9.12504L4.64635 10.6875L2.70868 9.39604C2.62567 9.35453 2.54185 9.35453 2.45885 9.39604L1.77118 9.8542C1.66701 9.91687 1.64585 10.0625 1.70852 10.1667L3.54202 12.875C3.58352 12.9377 3.66734 12.9792 3.75035 12.9792L5.79218 12.7497C5.81334 12.7497 5.83369 12.7497 5.85485 12.7285L9.10526 11.3117L8.43876 15.4369C8.4176 15.4996 8.43876 15.5622 8.48027 15.6241C8.52177 15.6656 8.58443 15.7071 8.6471 15.7071H9.83443C9.91744 15.7071 10.0013 15.6656 10.0428 15.5818L12.7298 9.74845L16.2715 8.20711C16.5425 8.1241 16.8135 7.91578 17.0633 7.64478C17.2717 7.41528 17.3547 7.29078 17.2928 6.99861C17.292 6.66657 17.1049 6.43709 16.8339 6.29143L16.8336 6.29137Z'/%3E%3C/svg%3E");
    -webkit-mask-image: var(--icon-open);
    mask-image: var(--icon-open);
}


.button_:hover .svg-open {
  animation: svgOpenMove .8s var(--power4-out);
}

@keyframes svgOpenMove {
  from { transform: translate(-150%, 75%); }
  to { transform: translate(0%, 0%); }
}
    

.svg-open:before {
    transform: translate(150%, -75%); 
}

.svg-open:after {
    content:"";
    position: absolute;
    inset: 0% auto auto 0%; 
}

.pswp .pswp__button--arrow .pswp__icn { 
    top: 50%;
    margin-top: -1rem;
    width: 3rem;
    height: 2rem;
    opacity: .6;
    stroke: #ffffff;
    stroke-width: 0.125px;
    transition:.3s ease;
}

.pswp .pswp__button--arrow:hover .pswp__icn {
    opacity:1;
}

/******************** animation flipcard ********************/
.sticky-element {
    gap:30rem;
}

.card-back--content {
    display: flex;
    align-items: flex-start;
    text-align: start;
    padding: 3rem 2rem;
    color: var(--body-color);
    height: 100%;
    width: 100%;
    flex-flow: column;
}

#card-1 .card-back--content,
#card-1 .card-back--content h3 {
    color:var(--text-color);
}

.card-back--content h3 {
    color: var(--body-color);
    flex: 1;
    align-items: center;
    display: flex;
    font-size: var(--h2-font-size);
    line-height: 1.3;
}

.card-back--texture {
    position:absolute; 
    inset:0;
    border-radius:inherit; 
    background-image: url('/wp-content/themes/loti-child/assets/card-texture.jpg');
    background-repeat: repeat;
    background-position: left top;
    border: 0px;
    background-size: 128px;
    mix-blend-mode: overlay;
    opacity:0.2;
    pointer-events:none;
}

.card--container--title {
    /* opacity: var(--progress); */
    position:sticky;
    top:9rem;
}

.card--container--title h2 {
    margin:0;
    font-size:var(--big-font-size);
    text-align:center;
    text-wrap-style: balance;
}

.card {
    position:sticky;
    aspect-ratio: 5/7;
    will-change: transform;
    transform-style: preserve-3d;
    transform: rotateY(180deg);
    position: sticky;
    top: 17.5rem;
    border-radius:1rem;
    max-width: 20rem;
    width: 100%;
    margin: 0 auto;
}

#card-1 {
    rotate: calc(-8deg + (4deg * min(calc(var(--progress) / 0.33), 1)));
}

#card-2 {
    rotate: calc(8deg + (-4deg * min(calc(var(--progress) / 0.66), 1)));
}

.card--container {
    display: flex;
    flex-direction: column;
    gap: 10rem;
    opacity: calc((var(--progress) * 5) + 0.1);
}

@media screen and (min-width: 967px) {
    .section__cards {
        height:350vh;
    }

    .sticky-element {
        gap:1.5rem;
    }

    .section__cards .container {
        display:flex;
        gap:4rem;
        align-items: center;
        justify-content: center;
        height:100vh;
        position:sticky;
        top:0;
        max-width: 62.5rem;
        flex-direction: column;
        gap:4rem;
    }
 
    .card--container {
        display:flex;
        flex-direction:row;
        position:relative;
        transform: scale(calc(1 + (0.2 * (1 - var(--progress)))));
        perspective:1200px;
        will-change: transform;
        width:100%;
        gap:initial;
        opacity:1;
    }

    .card--container:before {
        content:"";
        position:absolute;
        inset:0;
        background-image: var(--bg-image);
        background-size: 100%;
        border-radius: 1rem; 
        opacity:1;
        transition: opacity 0s linear .4s;
    }

    .card {
        position:relative;
        flex:1;
        transform: rotateY(0deg);
        top:initial;
        transition: .5s var(--power3-out), transform .8s var(--power3-in-out);
        border-radius: 0rem;
        max-width: initial;
    }


    #card-1 {
        rotate: initial;
    }

    #card-2 {
        rotate: initial;
    }

    .card--container--title {
        /* opacity: var(--progress); */
        transform: translateY(calc(-1rem * (1 - var(--progress))));
        position:initial;
        top:initial;
    }

    .card--container--title h2 {
        margin:0;
    }

    .card--container--title h2 br {
        display:none;
    }


    .trigger .card--container:before {
        opacity:0;
        transition: opacity 0s linear .0s;
    }
    
    #card-1 {
        border-radius: 16px 0 0 16px;
        left:0;
    }

    #card-3 {
        border-radius: 0 16px 16px 0;
        right:0;
    }

    .trigger #card-1 {border-radius: 16px; left:-2rem; }
    .trigger #card-2 {border-radius: 16px;}
    .trigger #card-3 {border-radius: 16px; right: -2rem;}

    .reveal .card-front {
        transform:rotateY(-180deg);
    }

    .reveal .card-back {
        transform:rotateY(0deg);
    }

    .reveal #card-1 {transform:rotate(-15deg) translateY(40px) translateX(2rem)}
    .reveal #card-3 {transform:rotate(10deg) translateY(30px) translateX(-2rem)}

    #card-1 img {object-position:left}
    #card-3 img {object-position:right}
}

.card-front,
.card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    border-radius: inherit;
    overflow:hidden;
    transition: transform .8s var(--power3-in-out);
    perspective:1200px;
    transform-style: preserve-3d;
}

.card-back {
    transform: rotateY(180deg);
}

.card-back p {
    margin: 0;
}


.card--container picture {
    display:block;
    height:100%; 
}

.card--container picture img {
    display:block;
    height:100%;
    width:100%;
    object-fit: cover;
}

.card {
    --bg-c1: linear-gradient(166deg, rgb(199, 199, 199) 0%, rgb(131, 131, 131) 100%); /* Neutro (similar al original) */
    --bg-c2: linear-gradient(177deg,hsl(42, 90%, 58%) -18%,hsl(42, 83%, 45%) 31%,hsl(42, 70%, 22%) 100%); /* Dorado de marca */
    --bg-c3: linear-gradient(180deg,hsl(210, 65%, 18%) 0%,hsl(210, 65%, 12%) 50%,hsl(210, 65%, 8%) 100%); /* Azul principal de marca */
    --bs-base : var(--body-color);
    --bs-c1: var(--bs-base) 0px 24px 65px 0px, var(--bs-base)  0px 2px 2px 0px inset;
    --bs-c2:var(--bs-base)  0px 24px 65px 0px,hsla(42, 90%, 75%, .45) 0px 2px 1px 0px inset;
    --bs-c3:var(--bs-base)  0px 24px 65px 0px,hsla(210, 40%, 35%, .35) 0px 1px 2px 0px inset;
}

#card-1 .card-back {background: var(--bg-c1);}
#card-2 .card-back {background: var(--bg-c2);}
#card-3 .card-back {background: var(--bg-c3);}

#card-1 .card-back {box-shadow: var(--bs-c1);}
#card-2 .card-back {box-shadow: var(--bs-c2);}
#card-3 .card-back {box-shadow: var(--bs-c3);}

#card-1 .card-back {background-color: #b2b2b2;}
#card-2 .card-back {background-color: #ce2017;}
#card-3 .card-back {background-color: #2f2f2f;}

/********************************/
.embla {
    position:relative;
    overflow: hidden;
    height:100%;
}

.embla__container {
    display: grid; 
    grid-auto-flow: column;
    grid-auto-columns: calc((100% / var(--count)) - ((var(--gap) * (var(--count) - 1)) / var(--count)));
    grid-column-gap: calc(var(--gap)); 
    grid-template-columns: initial;
}

.embla__viewport {
    height: 100%;
}

.embla__config {
    --count: 1; 
    --gap:1rem;
    overflow:hidden;
  }

.embla__controls {
    display:flex;
    gap:.5rem;
}

.embla__controls button {
    border: 1px solid var(--text-color);
    border-radius: 50%;
    background:transparent;
    width:2.5rem;
    height:2.5rem;
    display:grid;
    place-content:center;
    padding:0;
    transition:.3s ease;
    cursor:pointer;
}

.embla__controls button[disabled] {
    opacity:.5;
    pointer-events:none;
}

.embla__controls button:hover {
    color:var(--body-color);
    background-color: var(--title-color);
}

.embla__controls button svg {
    width:1.5rem;
    height:1.5rem;
}

@media (min-width: 650px) {
  .embla__config {
        --count: 2;
  }
  
  .embla.count-2:not(.embla--fade) .embla__button {
        opacity:0;
        visibility:hidden;
        pointer-events:none; 
    } 
}

@media (min-width: 1155px) {
    .embla__config {
        --count: 3;
    }
    
    .embla.count-3:not(.embla--fade) .embla__button {
        opacity:0;
        visibility:hidden;
        pointer-events:none; 
    }
}

/* Activa las transiciones entre páginas */
@view-transition {
    navigation: auto;
}

::view-transition-group(image-134) {
    animation-duration: 1s;
}

::view-transition-old(image-134),
::view-transition-new(image-134) {
    animation: none;
    mix-blend-mode: normal;
}

/* Embla Controls */
.related__header .embla__controls {
    position:absolute;
    bottom:.5rem;
    right:0;
}

.tours__related h2 {
    font-size:var(--big-font-size);
    line-height: 1.35;
    margin:0;
}

.tours__related .button {
    width:fit-content;
}

.related__header {
    align-content: space-between;
    position:relative;
}

.related__header span {
    font-size:var(--small-font-size);
}

@media screen and (min-width: 767px) {
    .tours__related {
        grid-template-columns: 1fr 3fr; 
    }

    .related__header .embla__controls {
        position:initial;
    }

    .related__header {
        padding:1.5rem 0;
    }

}

.about__hero img {
    height: 80vh;
    object-fit: cover;
    object-position: 50% 50%;
}

/*************************/
.section__gallery ul {
    margin:0;
    padding: 0;
}

.section__gallery .embla {
    overflow:initial;
}

.section__gallery .embla__slide img {
    aspect-ratio: 3/2;
    object-fit: cover;
    user-select:none;
}

.section__gallery .embla__viewport {
    display:grid;
    gap:1.5rem;
}

.section__gallery .embla__controls {
    justify-content: end;
}

@media (min-width: 1155px) {
    .section__gallery.embla__config {
        --count: 2.25;
    }
}

/*************/
.tour__single--intro .container {
    max-width:48rem;
}

.tour__single--intro .container h2 {
    font-size: var(--h1-font-size);
    text-align: center;
    text-wrap-style: balance;
}

/****************** Experience Type ******************/
.section__experience__types .section__header {
    display:grid;
    align-items: end;
    row-gap: 1.5rem;
}

.section__experience__types {
    gap: 3.5rem;
}
    
.section__experience__types h2 {
    font-size:var(--h2-font-size);
    margin:0;
}

.section__experience__types .section__header p {
    margin:0;
}
    
.experiences__types {
    display:grid;
}

.experiences__types picture {
    display:block;
    height:100%;
}

.experiences__types picture:after {
    --shadow-color: rgb(11 31 50 / 85%);
    content: "";
    inset: 0;
    position: absolute;
    width: 100%;
    background-image: 
        linear-gradient(180deg, var(--shadow-color) 0%, transparent 50%), 
        linear-gradient(0deg, var(--shadow-color) 0%, transparent 50%);
    top: 0;
    height: 100%;
}

.experiences__types picture img {
    height:100%;
    display:block;
    aspect-ratio: 4/5; 
    object-fit: cover;
    transition:.3s ease;
}

.experiences__type:nth-child(1) picture img {
    transform-origin: left bottom;
}

.experience__type {
    position:relative;
    color:var(--body-color);
    overflow:hidden;
}

.experience__type--content {
    position: absolute;
    inset: 0;
    padding: max(2rem, 3.5vw);
    display:grid;
}

.experience__type:nth-child(2) .experience__type--content div {
    text-align:right;
}

.experience__type:nth-child(2) .experience__type--content p {
    margin-left: auto;
}

.experience__type:nth-child(1) span {
    text-align:right;
}

.experience__type h4 {
    font-size: var(--big-font-size);
    color: var(--body-color);
    margin:0;
}

.experience__type p {
    width:80%;
    text-wrap-style: balance;
    margin-bottom:0;
}

.experience__type span {
    opacity:0;
    transition: .3s ease;
}

.experience__type:hover span {
    opacity:1;
}

.experience__type:hover img {
    transform: scale(1.01);
}

@media screen and (min-width: 767px) {
    .section__experience__types {
        margin: 0 0 4rem 0; 
    }

    .section__experience__types .section__header {
        grid-template-columns: 2fr 2fr 2fr;
    } 

    .section__experience__types .section__header p {
        grid-column-start: 3;
    }

    .experiences__types {
        grid-template-columns: 1fr 1fr;;
    }

    .experiences__types picture img {
        aspect-ratio: 3/2;
    }

    .experience__type--content {
        align-content: end; 
    }
} 


/****************** animations points ******************/
/*** Animation ***/
.point{
    --scaler : .5;
    r: calc(var(--scaler) * 10px); 
    transition: r .3s ease, fill .3s ease;
    /* fill: hsl(42deg 83% 45% / 50%);  */
    fill:rgba(255,255,255,0.5);
}

.route__point.pulse {
  -webkit-transition: r .3s ease, fill .3s ease;
  transition: r .3s ease, fill .3s ease;

  -webkit-animation: pulse 2s infinite ease;
  animation: pulse 2s infinite ease;
  r:calc(var(--scaler) * 19px);
}


.route__point.point__back.pulse {
  -webkit-transition: r .3s ease;
  transition: r .3s ease;

  -webkit-animation: pulsin 2s infinite ease;
  animation: pulsin 2s infinite ease;
  r:calc(var(--scaler) * 10px); 
}

@keyframes pulse {
  0% {
    r:calc(var(--scaler) * 10px);
    opacity: 0.7;
  }
  70% {
    r:calc(var(--scaler) * 19px);
    opacity: 0;
  }
  100% {
    r:calc(var(--scaler) * 10px);
    opacity: 0;
  }
}

@-webkit-keyframes pulse {
  0% {
    r:calc(var(--scaler) * 10px);
    opacity: 0.7;
  }
  70% {
    r:calc(var(--scaler) * 19px);
    opacity: 0;
  }
  100% {
    r:calc(var(--scaler) * 10px);
    opacity: 0;
  }
}

@keyframes pulsin {
  0% {
    r:calc(var(--scaler) * 9px);
    opacity: 0.7;
  }
  70% {
    r:calc(var(--scaler) * 10px);
    opacity: 1;
  }
  100% {
    r:calc(var(--scaler) * 9px);
    opacity: 1;
  }
}

@-webkit-keyframes pulsin {
  0% {
    r:calc(var(--scaler) * 9px);
    opacity: 0.7;
  }
  70% {
    r:calc(var(--scaler) * 10px);
    opacity: 1;
  }
  100% {
    r:calc(var(--scaler) * 9px);
    opacity: 1;
  }
}
/*** Animation ***/


/****************** HERO HOMEPAGE ******************/
#map-cursor {
    position: fixed;
    left: 0;
    top: 0;
    transform: translate(-50%, -50%);
    pointer-events: none;
    opacity: 0;
    transition: opacity .2s;
    z-index: 1000;
}

#map-cursor.is-active {
    opacity: 1;
}

.label__content {
    position: absolute;
    top: -.5rem;
    left: 0;
    transform: translate(25%, calc(25% - 0rem));
    /* border: 1px solid; */
    min-width: max-content; 
    text-align: center;
    color: var(--body-color);
    font-size:var(--smaller-font-size);
}

#map-cursor .label__content span {
    font-size:var(--small-font-size); 
    text-transform: uppercase;
}

#map-cursor .label__content span:before{
    content: attr(data-name);
}

.hero__title h2 {
    color:var(--body-color);
    font-weight: normal;
    font-size:var(--normal-font-size);
    text-wrap-style: balance;
    text-align: center; 
}

:root {
    --start-scale: 2.5;
    --start-y: calc(50vh - 50%);
}

@media screen and (min-width: 676px) {
    .logo {
    transform:
        translateY(calc(var(--start-y) * (1 - var(--progress))))
        scale(calc(1 + (var(--start-scale) - 1) * (1 - var(--progress))));
    }

    .hero__title {
        margin-bottom:10vh;
    }

    .hero__title h2 {
        width:80%;
        text-align: initial;
    }
}

.hero__main__ picture:before {
    --shadow-color: rgb(11 31 50 / 99%);
    content: "";
    inset: 0;
    position: absolute;
    width: 100%;
    background-image: 
        linear-gradient(180deg, var(--shadow-color) 0%, transparent 75%), 
        linear-gradient(140deg, var(--shadow-color) 0%, transparent 80%); 
    top: 0;
    height: 100%;
}

@media screen and (min-width: 676px) {
    .hero__main__ picture:before {
        background-image: 
            linear-gradient(180deg, var(--shadow-color) 0%, transparent 75%), 
            linear-gradient(77deg, var(--shadow-color) 0%, transparent 50%);
    }
}

.hero__main__ { 
    width:100%;
    height:140vh;
    overflow:hidden;
    position:relative; 
}

.hero__main__ .parallax--  {
   transform: rotateY(180deg);
}  

@media screen and (min-width: 676px) {
    .hero__main__ .parallax--  {
    transform: none;
    } 
}

.hero__main__ img,
.hero__main__ picture {
    display: block;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.hero__info {
    height:100svh;
    margin-top: var(--height-menu);
    position:absolute;
    inset:0;
} 

.hero__info--wrap {
    display:grid;
    align-items:end;
}

@media screen and (min-width: 676px) {
    .hero__info--wrap {
        grid-template-columns:1fr 25rem 1fr;
    }

    .hero__main__ { 
        height:200svh;
    }

    .hero__info {
        margin-top:auto;
    }
}

.hero__info svg {
    pointer-events: none; 
    transform-origin:top;
    --scale-initial: 0.8;
    --scale-final: 1; 
    --scale-trunk: 1;
    pointer-events: none;
    transform-origin: top;
    --scale-initial: 0.75;
    --scale-final: 1;
    --scale-trunk: 1;
    transform: 
        translateY(calc((var(--progress)) * 22.5vh)) 
        scale(calc(var(--scale-final) + (var(--scale-initial) - var(--scale-final)) * (1 - min(var(--progress), var(--scale-trunk)) / var(--scale-trunk))));
} 

.progress-done .hero__info svg {
    pointer-events:auto;
}

@media screen and (min-width: 676px) {
    .hero__info svg {
        --scale-initial: 2;
        --scale-final: 1; 
        --scale-trunk: 0.8;

        fill:none;
        transform:
        translateY(calc((1 - var(--progress)) * 0vh))
        scale(
            calc(
            var(--scale-final) +
            (var(--scale-initial) - var(--scale-final)) *
            (1 - min(var(--progress), var(--scale-trunk)) / var(--scale-trunk))
            )
        );
        transform-origin:center;
    }
}

.hero__info svg path {
    fill:rgba(255, 255, 255, 0.5);
    transition:.5s var(--ease); 
    transform:scale(1.001);
    stroke: rgba(255,255,255,0.3);
    stroke-width: .5px;
}

.hero__info svg a path {
    fill:rgba(255, 255, 255, 0.5);
}

.hero__info svg a path {
    cursor:pointer;
}

.hero__info svg a.focused path,
.hero__info svg a:focus path,
.hero__info svg a:hover path {
    stroke:rgba(255,255,255,.5);
    opacity:1;
    fill:rgba(255, 255, 255, 0.7);
}

.hero__info svg a circle {
    opacity:0!important; 
}

.hero__info svg a.focused circle {
    opacity:1!important;
    /* fill:hsl(42deg 83% 45% / 50%);  */
}

.hero__info h1 {
    color:var(--body-color);
    font-size:calc(1.25 * var(--big-font-size));
    text-align:center;
    margin:0;
}

.hero__info h1 br {
    display:none;
}  

@media screen and (min-width: 676px) {
    .hero__info h1 {
        line-height: 1.15; 
        text-align:initial;
        margin:0.67em 0;
    }

    .hero__info h1 br {
        display:block;
    }
}

g text {
    font-size:.75rem;
    fill:var(--body-color);
    text-transform:uppercase;
    opacity:0;
    transition:.3s ease; 
    font-weight: bold;
}

a.focused g text,
a:hover g text,
a:focus g text {
    opacity:1;
}

.hero__mapdata {
    grid-row-start: 2;
    transform: 
        translateY(calc((var(--progress)) * 18.5vh));  
    opacity:0;
    margin-top:-1.5rem;
    transition:.3s ease;  
}

.progress-done .hero__mapdata {
    opacity: 1;
}

.hero__mapdata .mapdata {
    width: 30ch;
    margin: 0;
    color: var(--body-color);
    font-size: var(--small-font-size);
    text-wrap-style: pretty;
    position:relative;
}

.region__data {
    position:absolute;
    opacity:0;
    transition: 0.6s cubic-bezier(.75, 0, .25, 1);
    top:0;
    transform:translateY(1rem);
}

.region__data.focused {
    position:relative;
    opacity:1;
    transform:translateY(0);
}

.region__data h3 {
    color: var(--body-color);
    margin: 0;
    text-transform: uppercase;
    
}

.region__data p {
    margin:0;
    text-wrap-style: balance;
}


@media screen and (min-width: 676px) {
    .hero__mapdata {
        margin-bottom:auto;
        grid-row-start: initial; 
    }

    .hero__mapdata .mapdata {
        margin: 7.5vh auto 0 auto;
    }
}



/****************** ABOUT PAGE - INTRO ******************/
.section__about-intro {
    text-align: center;
}

.section__about-intro .container {
    /* max-width: 60rem; */
}

.section__about-intro h2 {
    font-size: var(--h1-font-size); 
}

.section__about-intro p {
    text-wrap-style: balance;
    width:80%;
    margin:auto;
}

@media screen and (min-width: 676px) {
    .section__about-intro h2 {
        font-size: var(--big-font-size);
    }
}

/****************** ANIMATION MULTIPLE GSAP ******************/
img.img-id-1276 {object-position: 80% bottom}
 
main {
   margin:0;
}

main.page__contact,
main.legal__page,
main.page__claims { 
   margin-top:var(--height-menu); 
}

.header {
    opacity:0;
}

.header {
    animation: menuHome 1s var(--ease) forwards;
    animation-delay: .5s; /* simula '-=2' de GSAP */
}

.hero__main {
    width:100vw;
    height:100vh;
    overflow:hidden;
    position:relative;
}

.hero__main img,
.hero__main picture {
    display: block;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

img {
    object-position: center;
}

.container__images {
    position:absolute;
    display:flex;
    gap:1rem;
    width:100%;
    height:100vh;
    top:0;
    background:var(--title-color);
}

.container__images .col {
    position:relative;
    display:flex;
    flex:1;
    width:100%;
    flex-direction:column;
    gap:1rem;
}

.col .item {
    position:relative;
    flex:1;
    width:100%;
    overflow:hidden;
    will-change: transform;
}

/*
.c1, .c3, .c5 {
    top:100%;
}
*/
.c1 .item, .c3 .item, .c5 .item { 
    transform: translateY(105vh);
}

.c2 .item, .c4 .item {
    transform: translateY(-105vh);
}

 
:root {
    --duration: 3s;
    --ease: linear( 0, 0.0012 14.95%, 0.0089 22.36%, 0.0297 28.43%, 0.0668 33.43%, 0.0979 36.08%, 0.1363 38.55%, 0.2373 43.07%, 0.3675 47.01%, 0.5984 52.15%, 0.7121 55.23%, 0.8192 59.21%, 0.898 63.62%, 0.9297 66.23%, 0.9546 69.06%, 0.9733 72.17%, 0.9864 75.67%, 0.9982 83.73%, 1 );
    --stagger: 0.25s;
}

/* Keyframe desde el top inicial */
@keyframes itemReveal {
    from { transform: translateY(105vh); }
    to   { transform: translateY(0); }
}

@keyframes itemRevealInvert {
    from { transform: translateY(-105vh); }
    to   { transform: translateY(0); }
}

@keyframes containerScale {
    from { transform: scale(1); }
    to   { transform: scale(5.625); }
}

@keyframes menuHome {
    from { opacity:0; }
    to   { opacity:1; }
}

.c1 .item { animation: itemReveal var(--duration) var(--ease) forwards; animation-delay: calc(var(--i) * var(--stagger)); }
.c2 .item { animation: itemRevealInvert var(--duration) var(--ease) forwards; animation-delay: calc((var(--total) - var(--i)) * var(--stagger)); }
.c3 .item { animation: itemReveal var(--duration) var(--ease) forwards; animation-delay: calc(var(--i) * var(--stagger)); }
.c4 .item { animation: itemRevealInvert var(--duration) var(--ease) forwards; animation-delay: calc((var(--total) - var(--i)) * var(--stagger)); }
.c5 .item { animation: itemReveal var(--duration) var(--ease) forwards; animation-delay: calc(var(--i) * var(--stagger)); }

.container__images {
    animation: containerScale 4s var(--ease) forwards;
    animation-delay: 2.75s; /* simula '-=2' de GSAP */
}

/******************  ******************/
.page__home .experience__type {
    overflow:initial;
    height:calc(100vh + (var(--height-menu) * 2));   
}
 
.page__home .experience__type--content {
    position:sticky;
    top:0;
    height:100vh;
    padding: var(--height-menu) 1.5rem 7.5rem 1.5rem;
    align-items: end; 
}

.page__home .experiences__types .parallax-- {
    position:absolute;
    inset:0;
    overflow:hidden;  
}

.page__home .experience__type:hover img {
    transform: scale(1);
}

.page__home .experience__type h4 {
    font-size:calc(var(--big-font-size) * 1.25);
}

.page__home .experiences__types picture:after {
    content: none;
}

.page__home .experiences__types .experience__type--content>div {
    position:relative;
}

.page__home .experiences__types .experience__type--content:before {
    --shadow-color: rgb(11 31 50 / 85%);
    --shadow-color-bottom: rgb(11 31 50 / 85%); 
    content: "";
    inset: 0;
    position: absolute;
    width: 100%;
    background-image: 
        linear-gradient(180deg, var(--shadow-color) 0%, transparent 40%),  
        linear-gradient(0deg, var(--shadow-color-bottom) 0%, transparent 50%);
    top: 0;
    height: 100%;
}

.experience__subtypes {
    position: absolute;
    top: 2.5rem;
    transform: translateY(-0%);
    padding: 0;
    margin: 0 1.5rem;
    display: grid;
    gap: .5rem;
}

body:has(.scroll-down) .experience__subtypes {
    transition: .35s linear; 
}

body:has(.scroll-up) .experience__subtypes {
    top: calc(var(--height-menu) + 2.5rem); 
    transition: .5s ease; 
}

.experience__subtypes a {
    color:var(--body-color);
    display:block;
    transition:.3s var(--power1-in-out);
}

.experience__subtypes a:hover,
.experience__subtypes a:focus {
    color:var(--accent-color);
    transform:translateX(.5rem); 
}

.experience__type:nth-child(1) .experience__subtypes a:hover,
.experience__type:nth-child(1) .experience__subtypes a:focus {
    transform:translateX(-.5rem); 
}

.experience__type:nth-child(1) .experience__subtypes { 
    right:0;
    text-align:right; 
}

@media screen and (min-width: 767px) {
    .page__home .experience__type {
        height:150svh;  
    }

    .page__home .experience__type--content {
        padding: 4rem max(2rem, 3.5vw); 
    }

    .experience__subtypes {
        margin: 0 1rem;
        gap:.25rem; 
    }
} 

/****************** Featured Experiences ******************/
.page__home .viewGrid .tour__card header em {
    position: absolute;
    top: 0;
    left: 0;
    font-size: var(--smaller-font-size);
    background-color: var(--body-color);
    padding: .125rem .625rem; 
    border-radius: .325rem;
    color:var(--title-color);
    opacity:1;
} 

.page__home .viewGrid .tour__card .entry-media .type {
    display:none; 
}

.featured__journeys,
.featured__activities {
    margin-top:2.5rem;
}

/****************** Intro Section ******************/
.section__philosophy h2 {
    font-size: calc(1.25 * var(--h1-font-size));
    text-wrap-style: balance;
    margin:0; 
    text-align: center;
}

.philosophy--wrap {
    display:grid;
    gap: 2.5rem 5%;
}

.philosophy__content {
    display: grid;
    align-items: center;
}

.philosophy__media picture {
    display:grid;
    place-content:center;
    height:100%;
} 

.philosophy__media picture img {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: .5rem;
    box-shadow: rgba(112, 112, 112, .25) 0 5px 8px;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center;
    width:100%;
} 

.philosophy__media picture img.img-id-1332 {
    object-position: 88% 50%; 
    transform: rotateY(180deg);
}

.philosophy__content h2 {
    margin:0;
    font-size:var(--big-font-size);
}

.philosophy__content h3 { 
    margin:0;
    font-size: var(--h2-font-size);
}

.philosophy__content p {
    text-wrap-style: balance;
    margin:0;
}

.philosophy__item {
    display: grid;
    gap: 2.5rem;
    padding: 1.5rem 0;
    border-radius: 1.5rem;
    transition: .3s ease-in-out;
    grid-template-columns: 2.5rem 1fr;
}

.philosophy__icon {
    height: 2lh; 
    display: grid; 
    place-content: center;
    /* background-color: rgba(var(--color-black), 0.045); */
    border-radius: .35rem;
    color: var(--title-color);
    transition: .3s ease;
    font-size: var(--h2-font-size);
}

.page__home .section__gallery.embla__config {
    --count:1.2; 
}

.page__home .section__gallery .embla__slide img {
    aspect-ratio:4/5;
}

@media screen and (min-width: 767px) {
    .section__philosophy h2 {
        font-size: calc(1.25 * var(--big-font-size));
        text-wrap-style: initial;
    }

    .philosophy--wrap {
        grid-template-columns: 4fr 5fr;
    }
    
    .philosophy__media {
        grid-column-start: 1;
        grid-row-start:1; 
    }

    .section__philosophy>.container {
        gap:8rem;
        margin-top:2rem;
    }

    .philosophy__item {
        padding: 1.5rem 1.5rem;
    }

    .page__home .section__gallery.embla__config {
        --count:2.15; 
        --gap:0rem;  
    }

    .page__home .section__gallery .embla__slide img {
        aspect-ratio:3/2;
    }
}


/****************** PAGE ABOUT ******************/
.hero__image {
    color: var(--body-color);
    text-align: center;
    position:relative;
}

.hero__image picture {
    position: absolute;
    inset: 0;
}

.hero__image picture:after {
    --shadow-color: rgb(11 31 50 / 85%);
    content: "";
    inset: 0;
    position: absolute; 
    width: 100%;
    background-image: 
        linear-gradient(180deg, var(--shadow-color) 0%, transparent 50%), 
        linear-gradient(0deg, var(--shadow-color) 0%, transparent 50%);
    top: 0;
    height: 100%;
}
 
.hero__image .content {
    position: relative;
    padding-top: var(--height-menu);
    height: 80vh;
    align-items: center; 
}

.hero__image h1 {
    color: var(--body-color);
    margin: 0;
    font-size: calc(var(--big-font-size) * 1.2);
    line-height: 1.35;
}

.hero__image p {
    margin: 0;
}


/******************  ******************/
/* About Gallery */
.section__gallery--about ul {
    margin:0;
    padding: 0;
}

.section__gallery--about .embla {
    overflow:initial;
}

.section__gallery--about .embla__slide img {
    aspect-ratio: 3/2;
    object-fit: cover;
    user-select:none;
}

.section__gallery--about .embla__viewport {
    display:grid;
    gap:1.5rem;
}

.section__gallery--about .embla__controls { 
    justify-content: end;
}

@media (min-width: 1155px) {
    .section__gallery--about.embla__config {
        --count: 3;
    }
}

/* About History */
.section__history .section__header {
    text-align: center;
}

.section__history h2 {
    font-size:var(--big-font-size);
    margin-bottom: 0;
    margin-top:0;
    text-wrap-style: balance;
}

.section__history h3 {
    font-size:var(--h2-font-size);
    text-wrap-style: balance;
    text-align: center;
}

.section__history .container {
    max-width: 650px;
}

.section__history p {
    margin-bottom:.5rem;
}

/******************  ******************/
.page__about .popup__cta {
    opacity:0;
    transition-delay:2s;
}

.page__about:has(.trigger.reveal) .popup__cta {
    opacity:1;
}

/******************  ******************/
.section__types--prev { 
    text-align: center;
}

.section__types--prev h2 {
    font-size: calc(1.25 * var(--h1-font-size));
    text-wrap-style: balance;
    margin:0;
}

.section__types--prev h3 {
    font-size: calc(1 * var(--h2-font-size));
}

.section__types--prev p {
    text-wrap-style: balance; 
}

@media screen and (min-width: 767px) { 
    .section__types--prev h2 {
        font-size: calc(1.25 * var(--big-font-size)); 
    }
}

/****************** About Partners ******************/
.section__partners .partners {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 2.5rem;   
    margin:0;
    padding:0;  
}

.section__partners .partners li {
    display: flex; 
    align-items: center;
    justify-content: center;
}

.section__partners .partners li img {
    height: 12rem;
    display: grid;
    width: auto;
    object-fit: contain; 
}
 
.section__partners {
    text-align: center;
}