/** 
          1. prt-row 

          2. Row-Equal-Height

          3. Bg-Layer 

          4. Row-Bg-Image

          5. Col-Bg-Image

          6. Section-Title 

          7. sep_holder

          8. Buttons

          9. Icons

          10. Fid

          11. featured-icon-box

          12. Featured-imagebox

          13. Progress-Bar 

          14. Testimonial

          15. Client-row

          16. Accordion

          17. Wrap-Form

          18. Tab

          19. Boxes-Spacing

          20. Pricing-Plan

          21. Sidebar

**/


/* ===============================================
    1.prt-row
------------------------*/
.prt-row { padding: 120px 0;}
.prt-row.padding_bottom_zero-section { padding: 120px 0 0; }
.prt-row.padding_top_zero-section { padding: 0 0 120px; }
.prt-row.padding_zero-section { padding: 0 0; }

.prt-row.cta-section { padding: 95px 0 75px;}
.prt-row.event-section { padding: 110px 0 0px;}
.prt-row.testimonial-section { padding: 100px 0 0px; }
.prt-row.blog-section { padding: 115px 0 100px;}
.prt-row.pricing-section { padding: 95px 0 120px;}

.prt-row.about-us-section { padding: 5px 0 120px;}
.prt-row.cta-section_1 { padding: 190px 0 50px; }
.prt-row.blog-section-2 { padding: 120px 0 100px; }
.prt-row.services-section_2 { padding: 65px 0 115px; }
.prt-row.gallery-section { padding: 0 0 110px;}

.prt-row.routes-section { padding: 120px 0 30px; }
.prt-row.team-details-section { padding: 200px 0 90px;}
.prt-row.step-section { padding: 120px 0 120px; }
.prt-row.blog-section_1 { padding: 210px 0 100px; }
.prt-row.first-section { padding: 115px 0 100px; }

.prt-row.services-section_1 { padding: 105px 0 105px; }
.prt-row.from-section { padding: 115px 0 112px; }
.prt-row.faq-section { padding: 103px 0 115px; }
.prt-row.blog-details-section { padding: 110px 0 120px;}
.prt-row.pricing-section-1 { padding: 105px 0 0px; }

/* ===============================================
    2.Row-Equal-Height
------------------------*/
.row-equal-height{ display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex;}
.row-equal-height > [class*='col-'] { 
    display: -webkit-box; 
    display: -webkit-flex; 
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}


/* ===============================================
    3.Bg-Layer 
------------------------*/
.prt-bg{ position: relative;}
.prt-col-bgimage-yes {z-index: 1;}
.bg-layer-equal-height .prt-col-bgimage-yes, 
.bg-layer-equal-height .prt-col-bgcolor-yes,
.prt-col-bgimage-yes{ height: 100%;}
.prt-bg-layer , .prt-titlebar-wrapper-bg-layer, .prt-col-wrapper-bg-layer-inner {
    position: absolute;
    height: 100%;
    width: 100%; 
    top: 0;
    left: 0;
}
.prt-left-span > .prt-col-wrapper-bg-layer {
    width: auto;
    margin-left: -500px;
    right: 0;
}
.prt-right-span > .prt-col-wrapper-bg-layer {
    width: auto;
    margin-right: -500px;
    right: 0;
}

.bg-img4.prt-bg.prt-bgimage-yes >.prt-bg-layer, 
.bg-img4.prt-bg.prt-col-bgimage-yes > .prt-bg-layer > .prt-col-wrapper-bg-layer-inner {
    opacity: 0.50;
}

.layer-content{ position: relative; z-index: 1; height: 100%; width: 100%; }
.bg-layer { position: relative; }
.bg-layer > .container > .row { margin: 0; }
.bg-layer > .container , .bg-layer > .container-fluid { padding: 0; }

.prt-bg.prt-bgimage-yes >.prt-bg-layer, 
.prt-bg.prt-col-bgimage-yes > .prt-bg-layer > .prt-col-wrapper-bg-layer-inner {
    opacity: 0;
}
.bg-img1.prt-bg.prt-bgimage-yes >.prt-bg-layer, 
.bg-img1.prt-bg.prt-col-bgimage-yes > .prt-bg-layer > .prt-col-wrapper-bg-layer-inner {
    opacity: .75;
}
.bg-img3.prt-bg.prt-bgimage-yes >.prt-bg-layer, 
.bg-img3.prt-bg.prt-col-bgimage-yes > .prt-bg-layer > .prt-col-wrapper-bg-layer-inner {
    opacity: .60;
}
.prt-bgcolor-white.prt-bg.prt-bgimage-yes >.prt-bg-layer, 
.prt-bgcolor-white.prt-bg.prt-col-bgimage-yes > .prt-bg-layer > .prt-col-wrapper-bg-layer-inner {
    opacity: .94;
}


/* ===============================================
    4.Row-Bg-Image  
------------------------*/
.bg-img1 {
    background-image: url(../images/primavera/formula-vrs-race.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}
.bg-img2 {
    background-image: url(../images/bg-image/row-bgimage-2.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom;
}
.bg-img3 {
    background-image: url(../images/bg-image/row-bgimage-3.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom;
}



/* ===============================================
    5.Col-Bg-Image  
------------------------*/
.prt-equal-height-image{ display: none; }
.col-bg-img-one.prt-col-bgimage-yes > .prt-col-wrapper-bg-layer {
    background-image: url(../images/bg-image/col-bgimage-1.webp);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: var(--base-border-radius-30);
}
.col-bg-img-two.prt-col-bgimage-yes > .prt-col-wrapper-bg-layer {
    background-image: url(../images/primavera/formula-vrs-hero.webp);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    margin-left: -30px;
}
.col-bg-img-three.prt-col-bgimage-yes > .prt-col-wrapper-bg-layer {
    background-image: url(../images/bg-image/col-bgimage-3.webp);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}
.col-bg-img-four.prt-col-bgimage-yes > .prt-col-wrapper-bg-layer {
    background-image: url(../images/bg-image/col-bgimage-4.webp);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 30px;
}
.col-bg-img-five.prt-col-bgimage-yes > .prt-col-wrapper-bg-layer {
    background-image: url(../images/bg-image/col-bgimage-5.webp);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 30px;
}
.col-bg-img-six.prt-col-bgimage-yes > .prt-col-wrapper-bg-layer {
    background-image: url(../images/bg-image/col-bgimage-6.webp);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 30px;
}
.col-bg-img-seven.prt-col-bgimage-yes > .prt-col-wrapper-bg-layer {
    background-image: url(../images/bg-image/col-bgimage-7.webp);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}
.col-bg-img-six .prt-equal-height-image { display: none !important; }


/* ===============================================
    6.Section-Title  
------------------------*/
.section-title{ 
    position: relative;
    margin-bottom: 12px;
    margin-top: -12px;
}
.section-title h2 {
    position: relative;
    font-size: 68px;
    line-height: 88px;
    font-weight: 500;
    text-transform: uppercase;
}
.section-title .title-desc p {
    padding-bottom: 15px;
    margin: 0;
}
.section-title.title-style-center_text {
    text-align: center;
}
.section-title.title-style-center_text .title-desc p{ 
    margin-bottom: 15px;
    width: 100%;
    margin: 0 auto;
}
.section-title h3 {
    position: relative;
    font-size: 14px;
    line-height: 24px;
    font-weight: 600;
    margin-bottom: 25px;
    font-family: var(--base-bodyfont);
    color: var(--base-bodyfont-color);
}
.section-title .title-header { padding-bottom: 0px; }

/* style1 */
.section-title.style1 h2.title {
    position: relative;
    font-size: 28px;
    line-height: 42px;
    font-weight: 600;
    padding-right: 95px;
    text-transform: uppercase;
}

/* style2 */
.section-title.style2 .title {
    font-size: 98px;
    line-height: 120px;
    font-weight: bold;
    text-align: center;
    text-transform: uppercase;
    font-family: var(--base-headingfont);
    color: var(--base-white);
}

/* style3 */
.section-title.style3 h2 {
    font-size: 108px;
    line-height: 118px;
    font-weight: bold;
}
.section-title.style3 .secondary-text span.normal-text  {
    font-size: 68px;
    line-height: 78px;
    color: var(--base-white);
    font-style: italic;
    padding-right: 10px;
}
.section-title.style3 .secondary-text span.Kaushan-text ,
.section-title.style3 .secondary-text span.normal-text-1 {
    font-family: var(--base-second-font);
    font-size: 28px;
    line-height: 38px;
    font-weight: 400;
    color: var(--base-white);
    text-transform: capitalize;
}
.section-title.style3 .secondary-text { 
    display: flex;
    padding-left: 75px;
    margin-top: -110px;
}
.section-title.style3 .normal-text-1 {
    display: block;
    color: var(--base-white);
}

/* style4 */
.section-title.style4 { margin-top: 65px; }
.section-title.style4 h2 {
    font-size: 98px;
    line-height: 108px;
    font-weight: bold;
}
.section-title.style4 .secondary-text { display: flex; }
.section-title.style4 .title-desc p { color: var(--base-white); }
.section-title.style4 .secondary-text span.normal-text  {
    font-size: 128px;
    line-height: 138px;
    color: var(--base-white);
    font-style: italic;
    padding-left: 5px;
    padding-right: 10px;
    font-family: var(--base-bodyfont);
    font-weight: bold;
    -webkit-text-stroke: 1px rgb(255 255 255 / 75%);
    -webkit-text-fill-color: transparent;
}
.section-title.style4 .secondary-text span.Kaushan-text ,
.section-title.style4 .secondary-text span.normal-text-1 {
    font-family: var(--base-second-font);
    font-size: 32px;
    line-height: 42px;
    font-weight: 400;
    color: var(--base-white);
    text-transform: capitalize;
}
.section-title.style4 .normal-text-1 {
    display: block;
    color: var(--base-white);
}
.section-title.style4 .title-desc a:hover {
    color: var(--base-skin);
}
.section-title.style4 .title-desc a:hover:before {
    background-color: var(--base-skin);
}

/* style5 */
.section-title.style5 h2 {
    font-size: 34px;
    line-height: 44px;
    text-transform: uppercase;
}

/* style6 */
.section-title.style6 h3 {
    font-size: 24px;
    line-height: 34px;
    font-weight: 400;
    margin-bottom: 20px;
}
.section-title.style6 h2 { line-height: 0;margin-bottom: 30px; }
.section-title.style6 h2 a {
    color: var(--base-white);
    font-size: 42px;
    line-height: 52px;
    position: relative;
}
.section-title.style6 h2 a:before {
    position: absolute;
    content: '';
    height: 2px;
    right: auto;
    width: calc(100% + 0px);
    background-color: var(--base-white);
    bottom: 0px;
    transition: all 0.1s ease-in-out;
}
.section-title.style6 .number-main a {
    font-size: 34px;
    line-height: 44px;
    color: var(--base-white);
    font-family: var(--base-headingfont);
}



/* gid-section */

.grid-wrapper {
	display: grid;
	grid-gap: 15px;
	grid-template-columns: repeat(8, 1fr);
	grid-auto-rows: repeat(3, 180px);
    margin-top: 30px;
}
.grid-wrapper .grid-item {
    display: flex;
}
.grid-wrapper .grid-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 30px;
}

.grid-wrapper .grid-item-1 {
	grid-column-start: 1;
	grid-column-end: 3;
	grid-row-start: 1;
	grid-row-end: 3;
}
.grid-wrapper .grid-item-2 {
	grid-column-start: 3;
	grid-column-end: 6;
	grid-row-start: 1;
	grid-row-end: 2;
}
.grid-wrapper .grid-item-3 {
	grid-column-start: 6;
	grid-column-end: 8;
	grid-row-start: 1;
	grid-row-end: 3;
}
.grid-wrapper .grid-item-4 {
	grid-column-start: 8;
	grid-column-end: 9;
	grid-row-start: 1;
	grid-row-end: 2;
}
.grid-wrapper .grid-item-5 {
	grid-column-start: 3;
	grid-column-end: 3;
	grid-row-start: 2;
	grid-row-end: 3;
}
.grid-wrapper .grid-item-6 {
	grid-column-start: 4;
	grid-column-end: 6;
	grid-row-start: 2;
	grid-row-end: 3;
}
.grid-wrapper .grid-item-7 {
	grid-column-start: 8;
	grid-column-end: 8;
	grid-row-start: 2;
	grid-row-end: 3;
}


/* .grid-wrapper > div {
	display: flex;
	justify-content: center;
	align-items: center;
}
.grid-wrapper > div > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 30px;
}

.grid-wrapper {
	display: grid;
	grid-gap: 10px;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	grid-auto-rows: 230px;
	grid-auto-flow: dense;
    margin-top: 30px;
}
.grid-wrapper .wide {
	grid-column: span 2;
}
.grid-wrapper .tall {
	grid-row: span 2;
}
.grid-wrapper .big {
	grid-column: span 2;
	grid-row: span 2;
} */


/* ===============================================
    7.sep_holder
------------------------*/
.prt-horizontal_sep {
    border-top: 1px solid rgba(255, 255, 255, 0.10);
    display: block;
    position: relative;
}
.prt-horizontal_sep_1 {
    border-top: 1px solid #d7d7f9;
}
.bg-base-dark .prt-horizontal_sep{
    border-top-color: rgba(255,255,255,0.08);
}
.bg-base-skin .prt-horizontal_sep{
    border-top-color: rgba(255,255,255,0.2);
}
.bg-base-white .prt-horizontal_sep{
    border-top-color: #dee1f5;
}
.border, .border-top, .border-left, .border-bottom, .border-right {
    border-color: #dededee !important;
}
.border-right { border-right: 1px solid #dee1f5; }
.border-left {
    border-left: 1px solid #dedede !important;
}

.bg-base-dark .border,
.bg-base-dark .border-top,
.bg-base-dark .border-left,
.bg-base-dark .border-bottom,
.bg-base-dark .border-right,
.bg-base-skin .border,
.bg-base-skin .border-top,
.bg-base-skin .border-left,
.bg-base-skin .border-bottom,
.bg-base-skin .border-right{
    border-color: rgba(255,255,255,0.06) !important;
}
.prt-vertical_sep > [class*='col'] { position: relative; }
.prt-vertical_sep > [class*='col']:not(:last-child):before {
    position: absolute;
    content: "";
    height: 100%;
    top: 0;
    right: 0;
    width: 1px;
    background-color: rgba(0, 0, 0, 0.20);
}
.prt-vertical_sep.style1 > [class*='col']:not(:last-child):before{ background-color: rgba(0, 0, 0, 0.10); }

.row.no-gutters.prt-vertical_sep > [class*='col']:not(:last-child):before{ right: 0; }
.bg-base-dark .prt-vertical_sep > [class*='col']:not(:last-child):before,
.bg-base-skin .prt-vertical_sep > [class*='col']:not(:last-child):before {
    background-color: rgba(255,255,255,.21);
}
.bg-base-gradient .prt-vertical_sep > [class*='col']:not(:last-child):before{
    background-color: rgba(255,255,255,0.50);
}
.prt-vertical_sep.style1 > [class*='col']:not(:last-child):before{
    right: 15px;
}

/* bg-title-image */
.bg-title-image { position: relative; }
.bg-title-image h3 a {
    position: absolute;
    top: -115px;
    content: "";
    right: 265px;
    font-size: 18px;
    line-height: 28px;
}
.bg-title-image a {
    position: absolute;
    top: -145px;
    content: "";
    right: 31%;
    font-size: 28px;
    font-weight: 600;
    color: var(--base-white);
    line-height: 28px;
    font-family: var(--base-headingfont);
}
.bg-title-image a:hover { color: var(--base-white);}

/*prt-single-img*/
.prt_single_image-wrapper {
    position: relative;
}
.prt_single_image-wrapper img { border-radius: 30px; }
.prt_single_image-wrapper_align {
    position: relative;
}
.prt_single_image-wrapper_align {
    animation-name: float_left_right;
    animation-duration: 9s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
    -webkit-animation-name: float_left_right;
    -webkit-animation-duration: 9s;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-name: float_left_right;
    -moz-animation-duration: 9s;
    -moz-animation-iteration-count: infinite;
    -moz-animation-timing-function: linear;
}
@keyframes float_left_right {
    0% {
        transform: translateX(0px);
        transform: translateX(0px);
        opacity: 1;
    }

    50% {
        transform: translateX(20px);
        transform: translateX(20px);
        opacity: 1;
    }

    100% {
        transform: translateX(0px);
        transform: translateX(0px);
        opacity: 1;
    }

}

/* style1 */
.prt_single_image-wrapper.style1:hover img {
    animation: pulse 1s ease;
}
.prt_single_image-wrapper.style1 { 
    position: relative;
    display: inline-block;
}
@keyframes pulse {
    0%   { transform: scale(1.0); }
    25%  { transform: scale(1.05); }
    50%  { transform: scale(1.0); }
    75%  { transform: scale(1.05); }
    100% { transform: scale(1.0); }
}

/* style2 */
.prt_single_image-wrapper.style3 img {
    border-radius: 0 30px 30px 0;
}


/* ticket-box */
.ticket-box {
    padding: 60px 60px;
    background-color: var(--base-white);
    border-radius: 20px;
    position: relative;
    overflow: hidden;
}
.ticket-box .ticket-section h3 {
    font-size: 46px;
    line-height: 62px;
    font-weight: 500;
    padding-top: 20px;
    padding-bottom: 15px;
    color: var(--base-dark);
}
.ticket-box:before {
    position: absolute;
    right: 0;
    top: -125px;
    margin-bottom: -10px;
    display: block;
    content: '';
    background: url(../images/single-img-13-369x369.webp) no-repeat;
    height: 392px;
    width: 392px;
    opacity: .1;
}
.ticket-box-wrapper {
    background-color: var(--base-grey);
    border-radius: 20px;
    padding: 40px 30px 25px;
    margin: 30px 0;
}
.ticket-box-wrapper .ticket-value-title { display: inline-block; }
.ticket-box-wrapper .ticket-value-title h3 {
    font-size: 24px;
    font-weight: 500;
    line-height: 34px;
}
.ticket-box-wrapper .ticket-prize {
    font-family: var(--base-headingfont);
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    color: var(--base-headingfont-color);
    line-height: 34px;
    display: inline-block;
    padding-right: 35px;
    float: right;
}
.ticket-box-wrapper select {
    background-color: transparent;
    border: unset;
    font-size: 20px;
    font-weight: 500;
    line-height: 34px;
    display: inline-block;
    border-bottom: 1px solid #CEC9C1;
    float: right;
    width: auto;
    padding: 0px 25px 0px 0;
    color: var(--base-headingfont-color);
}



/* ===============================================
    8.Buttons
------------------------*/
.prt-btn{ 
    display: inline-block;
    vertical-align: middle;
    font-size: 17px;
    line-height: 1;
    padding: 14px 30px 17px;
    background: transparent;
    border-width: 1px;
    border-style: solid;
    border-color: transparent;
    position: relative;
    text-transform: uppercase;
    font-weight: 400;
    overflow: hidden;
    z-index: 1;
    text-align: center;
    font-family: var(--base-headingfont);
    transition: all 0.5s ease 0s;
}

/** btn-color **/
.prt-btn-color-skincolor {
    color: var(--base-skin);
}
.prt-btn-color-darkcolor {
    color: var(--base-dark);
}
.prt-btn-color-whitecolor{
    color: var(--base-white);
}
.prt-btn.prt-btn-style-border.prt-btn-color-grey {
    color: var(--base-dark);
    border: 1px solid #CEC9C1;
}
.bg-base-dark .prt-btn.prt-btn-style-border.prt-btn-color-grey {
    color: var(--base-white);
}
.prt-btn.prt-btn-style-fill.prt-btn-color-darkcolor {
    background-color: var(--base-dark);
    color: var(--base-white);
    border-color: transparent;
}
.prt-btn.prt-btn-style-fill.prt-btn-color-gradientcolor {
    background: var(--base-gradient);
    color: var(--base-white);
    background-origin: border-box;
    background-clip: border-box;
}
.prt-btn.prt-btn-style-fill.prt-btn-color-whitecolor {
    background-color: var(--base-white);
    border-color: transparent;
    color: var(--base-dark);
    transition: all 0.5s ease 0s;
}
.prt-btn.prt-btn-style-fill.prt-btn-color-skincolor {
    background-color: var(--base-skin);
    border-color: var(--base-skin);
    color: var(--base-white);
}

.prt-btn.prt-btn-style-fill.prt-btn-color-skincolor:hover {
    background-color: var(--base-white);
    color: var(--base-dark);
    border-color: var(--base-dark);
}
.prt-btn.prt-btn-style-fill.prt-btn-color-whitecolor:hover {
    background-color: var(--base-skin);
    color: var(--base-white);
    border-color: var(--base-skin);
}
.prt-btn.prt-btn-style-border.prt-btn-color-grey:hover {
    background-color: var(--base-skin);
    color: var(--base-white);
    border: 1px solid var(--base-skin);
}
.prt-btn.prt-btn-style-fill.prt-btn-color-darkcolor:hover {
    background-color: var(--base-skin);
    color: var(--base-white);
    border-color: transparent;
}
.prt-btn-style-border.prt-btn-color-whitecolor:hover {
    background-color: var(--base-dark);
    color: var(--base-white);
    border-color: var(--base-dark);
}
.faq-section .prt-btn-style-border.prt-btn-color-whitecolor:hover {
    background-color: var(--base-white);
    color: var(--base-dark);
}

/** btn-with-icon **/
.prt-btn i{
    display: inline-block;
    vertical-align: middle;
    text-align: inherit;
    font-weight: bold;
}
.prt-btn.prt-icon-btn-right i { text-align: right; margin-left: 5px; margin-right: 0;}
.prt-btn.prt-icon-btn-left i { text-align: left; margin-right: 8px; margin-left: 0;}

/** btn-size-xs **/
.prt-btn.prt-btn-size-xs { font-size: 11px; padding: 8px 20px;}
.prt-btn.prt-btn-size-xs i { font-size: 11px; line-height: 11px;}
.prt-btn.prt-icon-btn-right.prt-btn-size-xs i { text-align: right; margin-left: 6px; margin-right: 0;}
.prt-btn.prt-icon-btn-left.prt-btn-size-xs i { text-align: left; margin-right: 6px; margin-left: 0;}

/** btn-size-sm **/
.prt-btn.prt-btn-size-sm { font-size: 14px; padding: 14px 26px 17px; }
.prt-btn.prt-btn-size-sm i { font-size: 14px; line-height: 16px;}

/** btn-size-md **/
.prt-btn.prt-btn-size-md { font-size: 15px; line-height: 25px; padding: 15px 30px; }
.prt-btn.prt-btn-size-md i { font-size: 15px; line-height: 16px; }

/** btn-size-lg **/
.prt-btn.prt-btn-size-lg { font-size: 18px; line-height: 28px; padding: 21px 50px;}
.prt-btn.prt-btn-size-lg i { font-size: 18px; line-height: 18px;}

/** btn-size-xl **/
.prt-btn.prt-btn-size-xl { font-size: 17px; line-height: 17px; padding: 30px 60px;}
.prt-btn.prt-btn-size-xl i { font-size: 17px; line-height: 17px;}

/** btn-shape **/
.prt-btn.prt-btn-shape-round { border-radius: 8px; }
.prt-btn.prt-btn-shape-rounded { border-radius: 50px; }
.prt-btn.prt-btn-shape-square { border-radius: 0; }

/** btn-style-border **/
.prt-btn.prt-btn-style-border{ 
    background-color: transparent; 
    border: 1px solid currentColor;
}
.prt-btn.prt-btn-color-white.prt-btn-style-border {
    color: #fff;
    border-color: currentColor;
    background-color: transparent;
}
.prt-btn.prt-btn-color-white.prt-btn-style-border:hover {
    background-color: var(--base-white);
    color: var(--base-dark);
}

/** prt-icon-shap**/
.prt-btn.prt-icon-shap {
    padding: 15px 48px 15px 29px;
}
.header_btn .prt-btn.prt-icon-shap.prt-btn-style-fill i,
.prt-btn.prt-icon-shap.prt-btn-style-fill.prt-btn-color-skincolor i,
.prt-pricing-plan.pricing-recommended-plan .prt-btn.prt-icon-shap.prt-btn-style-border i{
    background-color: var(--base-white);
    color: var(--base-dark);
}
.pricing-table-heading .prt-btn.prt-btn-style-border.prt-btn-color-darkgrey:hover {
    color: var(--base-white);
}
.header_btn .prt-btn.prt-icon-shap.prt-btn-style-fill:hover i,
.prt-pricing-plan.pricing-recommended-plan .prt-btn.prt-icon-shap.prt-btn-style-border:hover i{
    background-color: var(--base-skin);
    color: var(--base-white);
}
.prt-btn.prt-icon-shap.prt-btn-style-border i,
.prt-btn.prt-icon-shap.prt-btn-style-fill i{
    text-align: center;
    right: 6px;
    top: 6px;
    position: absolute;
    font-size: 11px;
    font-weight: 600;
    display: inline-block;
    height: 34px;
    width: 34px;
    line-height: 34px;
    background-color: var(--base-skin);
    border-radius: 5px;
    color: var(--base-white);
    transition: all 0.5s ease 0s;
}
.newsletter-form button[type="submit"] i:before{font-weight: 600;}
.round-button { position: relative; }
.round-button a {
    position: absolute;
    font-size: 0;
    bottom: 30px;
    right: 0;
    opacity: 1;
    border: 2px solid var(--base-white);
    width: 100px;
    height: 100px;
    line-height: 100px;
    text-align: center;
    display: block;
    color: var(--base-white);
    border-radius: 50%;
    transition: all .5s;
}
.round-button a:hover {
    background-color: var(--base-skin);
    border: 2px solid var(--base-skin);
}
.round-button a:hover:after {
    color: var(--base-white);;
}
.round-button a:after {
    content: "\e649";
    font-family: "themify";
    position: absolute;
    top: -3px;
    right: 28px;
    z-index: 1;
    display: block;
    transition: all .5s;
    font-size: 30px;
    color: var(--base-headingfont);
}


/** btn-inline **/
.prt-btn.btn-inline {
    text-transform: uppercase;
    padding: 0;
    border: 0;
    overflow: visible;
    font-weight: 500;
    font-family: var(--base-headingfont);
    background-color: transparent;
    transition: all 0.1s ease 0s;
}
.prt-btn.btn-inline.prt-btn-color-whitecolor:before {
    position: absolute;
    content: '';
    height: 1px;
    right: auto;
    width: calc(100% + 0px);
    background-color: var(--base-white);
    bottom: 0px;
    transition: all 0.1s ease-in-out;
}
.prt-btn.btn-inline.prt-btn-color-whitecolor:hover { color: var(--base-white);}
.prt-btn.btn-inline.prt-icon-btn-left.prt-btn-color-darkcolor i:before,
.prt-btn.btn-inline.prt-icon-btn-left.prt-btn-color-whitecolor i:before{
    content: "\f12c";
    position: absolute;
    width: 55px;
    height: 55px;
    line-height: 55px;
    top: 0;
    left: 0;    
    text-align: center;
    background-color: var(--base-dark);
    color: var(--base-white);
    border-radius: 50px;
    font-weight: 900;
    transition: all 0.3s ease 0s;
}
.prt-btn.btn-inline.prt-icon-btn-left.prt-btn-color-darkcolor:hover i:before {
    background: var(--base-gradient);
}
.prt-btn.btn-inline.prt-icon-btn-left.prt-btn-color-whitecolor i:before{
    background-color: var(--base-white);
    color: var(--base-dark);
}
.prt-btn.btn-inline.prt-icon-btn-left.prt-btn-color-whitecolor:hover i:before{
    background: var(--base-dark);
    color: var(--base-white);
}
.prt-btn.btn-underline { position: relative; overflow: visible; vertical-align: baseline;}
.prt-btn.btn-underline:before {
    position: absolute;
    content: '';
    height: 1px;
    width: 100%;
    background-color: currentColor;
    bottom: -1px;
    left: 0px;
    transition: all 0.1s ease 0s;
}
.prt-btn:not(.btn-inline):after {
    background-color: var(--base-white);
    content: "";
    height: 150px;
    left: -75px;
    position: absolute;
    top: -35px;
    transform: rotate(35deg);
    transition: all 1600ms cubic-bezier(0.19, 1, 0.22, 1);
    width: 40px;
    opacity: 0;
}
.prt-btn:not(.btn-inline):hover::after {
    left: 120%;
    transition: all 1300ms cubic-bezier(0.19, 1, 0.22, 1);
    opacity: 0.30;
}
.routes-section .title-desc a.prt-btn.btn-inline:hover { color: var(--base-skin); }
.routes-section .title-desc a.prt-btn.btn-inline:hover::before { background-color:  var(--base-skin); }

/*circular*/
/*roating*/
.prt-rotating-text svg {
    animation: spinner_main 10s linear infinite;
}
@keyframes spinner_main {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.prt-rotating-text text { 
    fill: var(--base-white);
    font-size: 23px;
    font-family: var(--base-headingfont);
    font-weight: 600;
    letter-spacing: 3px;
}
.circular-main {
    position: relative;
    z-index: 0;
    width: 150px;
    height: 150px;
    border-radius: 50%;
}
.circular-main .prt_single_image-wrapper { 
    position: absolute;
    top: 25px;
    left: 27px;
}
.circular-main .circular {
    position: relative;
    top: -60px;
}
.circular-fid-and-text-box {
    display: flex;
    padding-right: 50px;
    justify-content: center;
    align-items: center;
}
.circular-main img {
    position: relative;
    left: 50px;
    bottom: 35px;
}

/* scroll-text */
.tm-scrollintetx-wrapper {
    font-size: 162px;
    margin-top: -100px;
    z-index: 1;
    font-style: italic;
    margin-right: 50px;
    text-align: right;
    color: rgb(164 150 128 / 8%);
    position: relative;
    line-height: 1;
    font-weight: bold;
    text-transform: uppercase;
    font-family: var(--base-headingfont);
}

/* scroll-text */
.tm-scrollintetx-wrapper-main {
    font-size: 162px;
    z-index: 1;
    font-style: italic;
    margin-right: 50px;
    text-align: right;
    color: var(--base-white);
    position: relative;
    line-height: 1;
    font-weight: bold;
    text-transform: uppercase;
    font-family: var(--base-headingfont);
}

/* flag */
.winner-flag {
    position: relative;
}
.winner-flag img {
    position: absolute;
    left: auto;
    bottom: -160px;
    right: -120px;
}

/* flag-1 */
.winner-flag-1 {
    position: relative;
    z-index: 2;
}
.winner-flag-1 img {
    position: absolute;
    left: auto;
    top: -120px;
    right: 0px;
}

/* flag-2 */
.winner-flag-2 {
    position: relative;
    z-index: 2;
}
.winner-flag-2 img {
    position: absolute;
    left: auto;
    top: 320px;
    right: -85px;
    bottom: auto;
}

/* ---------- Fog ---------- */
.fogwrapper {
    height: 100%;
    position: absolute;
    top: 0;
    width: 100%;
    -webkit-filter: blur(1px) grayscale(0.2) saturate(1.2) sepia(0.2);
    filter: blur(1px) grayscale(0.2) saturate(1.2) sepia(0.2);
  }
  #foglayer_01, #foglayer_02, #foglayer_03 {
    height: 100%;
    position: absolute;
    width: 200%;
    bottom: 0;
  }
  #foglayer_01 .image01, #foglayer_01 .image02,
  #foglayer_02 .image01, #foglayer_02 .image02,
  #foglayer_03 .image01, #foglayer_03 .image02 {
    float: left;
    height: 100%;
    width: 50%;
  }
  #foglayer_01 {
    -webkit-animation: foglayer_01_opacity 10s linear infinite, foglayer_moveme 15s linear infinite;
    -moz-animation: foglayer_01_opacity 10s linear infinite, foglayer_moveme 15s linear infinite;
    animation: foglayer_01_opacity 10s linear infinite, foglayer_moveme 15s linear infinite;
  }
  #foglayer_02, #foglayer_03 {
    -webkit-animation: foglayer_02_opacity 21s linear infinite, foglayer_moveme 13s linear infinite;
    -moz-animation: foglayer_02_opacity 21s linear infinite, foglayer_moveme 13s linear infinite;
    animation: foglayer_02_opacity 21s linear infinite, foglayer_moveme 13s linear infinite;
  }
  #foglayer_01 .image01, #foglayer_01 .image02 {
    background-image: url(../images/smoke-1.webp);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
  }
  #foglayer_02 .image01, #foglayer_02 .image02,
  #foglayer_03 .image01, #foglayer_03 .image02{
    background-image: url(../images/smoke-2.webp);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
  }
  
  /* ---------- Keyframe Layer 1 ---------- */
  @-webkit-keyframes foglayer_01_opacity {
    0% { opacity: .1; }
    22% { opacity: .8; }
    40% { opacity: .48; }
    58% { opacity: .6; }
    80% { opacity: .36; }
    100% { opacity: .20; }
  }
  @-moz-keyframes foglayer_01_opacity {
    0% { opacity: .1; }
    22% { opacity: .8; }
    40% { opacity: .48; }
    58% { opacity: .6; }
    80% { opacity: .36; }
    100% { opacity: .20; }
  }
  @-o-keyframes foglayer_01_opacity {
    0% { opacity: .1; }
    22% { opacity: .8; }
    40% { opacity: .48; }
    58% { opacity: .6; }
    80% { opacity: .36; }
    100% { opacity: .20; }
  }
  @keyframes foglayer_01_opacity {
    0% { opacity: .1; }
    22% { opacity: .8; }
    40% { opacity: .48; }
    58% { opacity: .6; }
    80% { opacity: .36; }
    100% { opacity: .2; }
  }
  /* ---------- Keyframe Layer 2 ---------- */
  @-webkit-keyframes foglayer_02_opacity {
    0% { opacity: .7; }
    25% { opacity: .2; }
    50% { opacity: .1; }
    80% { opacity: .4; }
    100% { opacity: .7; }
  }
  @-moz-keyframes foglayer_02_opacity {
    0% { opacity: .7; }
    25% { opacity: .2; }
    50% { opacity: .1; }
    80% { opacity: .4; }
    100% { opacity: .7; }
  }
  @-o-keyframes foglayer_02_opacity {
    0% { opacity: .7; }
    25% { opacity: .2; }
    50% { opacity: .1; }
    80% { opacity: .4; }
    100% { opacity: .7; }
  }
  @keyframes foglayer_02_opacity {
    0% { opacity: .7; }
    25% { opacity: .2; }
    50% { opacity: .1; }
    80% { opacity: .4; }
    100% { opacity: .7; }
  }
  /* ---------- Keyframe Layer 3 ---------- */
  @-webkit-keyframes foglayer_03_opacity {
    0% { opacity: 1 }
    27% { opacity: .2; }
    52% { opacity: .6; }
    68% { opacity: .3; }
    100% { opacity: 1; }
  }
  @-moz-keyframes foglayer_03_opacity {
    0% { opacity: 1 }
    27% { opacity: .2; }
    52% { opacity: .6; }
    68% { opacity: .3; }
    100% { opacity: 1; }
  }
  @-o-keyframes foglayer_03_opacity {
    0% { opacity: 1 }
    27% { opacity: .2; }
    52% { opacity: .6; }
    68% { opacity: .3; }
    100% { opacity: 1; }
  }
  @keyframes foglayer_03_opacity {
    0% { opacity:1; }
    27% { opacity: .2; }
    52% { opacity: .6; }
    68% { opacity: .3; }
    100% { opacity:1; }
  }
  /* ---------- Keyframe moveMe ---------- */
  @-webkit-keyframes foglayer_moveme {
    0% { left: 0; }
    100% { left: -100%; }
  }
  @-moz-keyframes foglayer_moveme {
    0% { left: 0; }
    100% { left: -100%; }
  }
  @-o-keyframes foglayer_moveme {
    0% { left: 0; }
    100% { left: -100%; }
  }
  @keyframes foglayer_moveme {
    0% { left: 0; }
    100% { left: -100%; }
  }
  
/* route-wrapper */
.route-location-wrapper .section-title h3 {
    font-size: 42px;
    font-weight: 500;
    line-height: 52px;
    margin-bottom: 10px;
    color: var(--base-white);
    font-family: var(--base-headingfont);
}
.route-location-wrapper .section-title h2 {
    font-size: 68px;
    font-weight: bold;
    line-height: 78px;
    font-family: var(--base-headingfont);
}
.route-location-wrapper ul.route-list li {
    font-family: var(--base-headingfont);
    font-size: 18px;
    font-weight: 500;
    line-height: 30px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    padding-bottom: 7px;
    margin-top: 20px;
    color: var(--base-white);
}
.route-location-wrapper span.route-content {
    font-family: var(--base-bodyfont);
    color: rgb(255 255 255 / 80%);
    font-weight: normal;
    padding-left: 10px;
}
ul.route-list {
    list-style-type: none;
    padding-left: 0;
}

/* play-btn / play-icon */
.prt-videoplay{
    color: #fff;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    top: -50%;
    right: 0;
    bottom: 0px;
    z-index: 1;
}
.prt-play-icon .prt-play-icon-animation{ 
    display: inline-block;
    position: relative;
}
.prt-play-icon .prt-play-icon-animation:after, .prt-play-icon .prt-play-icon-animation:before {
    content: '';
    border: 3px solid;
    width: 150%;
    height: 150%;
    -webkit-border-radius: 100%;
    border-radius: 100%;
    position: absolute;
    left: -25%;
    top: -25%;
    opacity: 1;
    z-index: -1;
    -webkit-animation: 1s videoplay-anim linear infinite;
    animation: 1s videoplay-anim linear infinite;
}
.prt-play-icon .prt-play-icon-animation:after, .prt-play-icon .prt-play-icon-animation:before {
    -webkit-animation:videoplay-anim 1.08s infinite;
    -moz-animation:videoplay-anim 1.08s infinite;
    -ms-animation:videoplay-anim 1.08s infinite;
    -o-animation:videoplay-anim 1.08s infinite;
    animation:videoplay-anim 1.08s infinite;
}
.prt-play-icon .prt-play-icon-animation:before {
    -webkit-animation-delay: 0.95s;
    animation-delay: 0.95s;
}
.prt-play-icon-btn .prt-icon.prt-icon_element-size-sm i.fa-play{ 
    padding-left: 5px;
    font-size: 20px;
    display: inline-block;
    vertical-align: middle;
    line-height: 0;
    z-index: 2;
}
.prt-play-icon-btn .prt-icon.prt-icon_element-size-md i.fa-play{ 
    font-size: 23px;
    z-index: 2;
}
i.fa-play{ padding-left: 5px; }
.prt-play-icon-btn .prt-play-icon-animation{
    position: relative;
    display: inline-block;
}
.prt-play-icon-btn .prt-play-icon-animation .prt-icon { margin-bottom: 0; }
.prt-play-icon-btn .prt-play-icon-animation .prt-icon:after {
    content: '';
    position: absolute;
    top: 51%;
    left: 51%;
    transform: translate(-50%,-50%);
    border-radius: 50%;
}
.prt-play-icon-btn .prt-play-icon-animation .prt-icon:after{
    z-index: 1;
    width: calc(100% * 1.25 );
    height: calc(100% * 1.25 );
    opacity: .4;
    background-color: inherit;
}
.prt-bgcolor-skincolor .prt-play-icon-btn .prt-play-icon-animation:after { opacity: .1; }

.prt-play-icon-btn.animated .prt-play-icon-animation .prt-icon:after, 
.prt-play-icon-btn:hover .prt-play-icon-animation .prt-icon:after {
    -webkit-animation:sep-anim 1.05s infinite;
    -moz-animation:sep-anim 1.05s infinite;
    -ms-animation:sep-anim 1.05s infinite;
    -o-animation:sep-anim 1.05s infinite;
    animation:sep-anim 1.05s infinite;
}
@-webkit-keyframes sep-anim{ 100% { width:200%;height:200%;opacity:0 } }
@keyframes sep-anim{ 100% { width:200%;height:200%;opacity:0 } }

/* .video-autoplay {
    margin-top: -270px;
} */

.video-autoplay-section {
    height: 620px;
    overflow: hidden;
}

/* ===============================================
    9.Icons
------------------------*/
.prt-icon{
    margin-bottom: 25px;
    display: inline-block;
    vertical-align: middle;
    text-align: center;
    border: 1px solid transparent;
    position: relative;
    transition: all 1s ease 0s;
    -moz-transition: all 1s ease 0s;
    -webkit-transition: all 1s ease 0s;
    -o-transition: all 1s ease 0s;
    box-sizing: content-box;
    position: relative;
}
.prt-icon i {
    display: inline-block;
    vertical-align: middle;
    line-height: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    -o-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    transition: all 0.3s ease 0s;
}
.prt-icon_element-color-skincolor {
    color: var(--base-skin);
}
.prt-icon_element-color-darkcolor {
    color: var(--base-dark);
}
.prt-icon_element-color-whitecolor {
    color: var(--base-white);
}
.prt-icon_element-color-secondary-skincolor {
    color: var(--base-secondary-skin);
}
.prt-icon.prt-icon_element-fill.prt-icon_element-color-skincolor {
    background-color: var(--base-skin);
    color: var(--base-white);
}
.prt-icon.prt-icon_element-border.prt-icon_element-color-skincolor {
    border: 1px solid var(--base-skin);
    color: var(--base-skin);
}
.prt-icon_element-color-darkgrey {
    color: var(--base-dark);
}
.prt-icon.prt-icon_element-fill.prt-icon_element-color-darkgrey {
    background-color: var(--base-dark);
    color: var(--base-white);
}
.prt-icon.prt-icon_element-border.prt-icon_element-color-darkgrey {
    border: 1px solid var(--base-dark);
    color: var(--base-dark);
}
.prt-icon.prt-icon_element-fill.prt-icon_element-color-grey {
    background-color: var(--base-grey);
    color: var(--base-skin);
}
.prt-icon.prt-icon_element-border.prt-icon_element-color-grey {
    border: 1px solid var(--base-grey);
    color: var(--base-skin);
}
.prt-icon.prt-icon_element-fill.prt-icon_element-color-white {
    background-color: var(--base-white);
    color: var(--base-skin);
}
.prt-icon.prt-icon_element-border.prt-icon_element-color-white {
    border: 1px solid var(--base-white);
    color: var(--base-white);
}
/** icon-size-xs **/
.prt-icon.prt-icon_element-size-xs { height: 30px; width: 30px; line-height: 30px; }
.prt-icon.prt-icon_element-size-xs i { font-size: 16px; }

/** icon-size-sm **/
.prt-icon.prt-icon_element-size-sm { height: 55px; width: 55px; line-height: 55px; }
.prt-icon.prt-icon_element-size-sm i { font-size: 31px; }

/** icon-size-md **/
.prt-icon.prt-icon_element-size-md { height: 70px; width: 70px; line-height: 70px }
.prt-icon.prt-icon_element-size-md i { font-size: 37px; }

/** icon-size-lg **/
.prt-icon.prt-icon_element-size-lg { height: 78px; width: 78px; line-height: 78px; }
.prt-icon.prt-icon_element-size-lg i { font-size: 48px; }

/** icon-size-xl **/
.prt-icon.prt-icon_element-size-xl { height: 80px; width: 80px; line-height: 80px; }
.prt-icon.prt-icon_element-size-xl i { font-size: 58px; }

.prt-icon.prt-icon_element-onlytxt { height: auto; width: auto; line-height: 1;}
.prt-icon.prt-icon_element-onlytxt i { 
    position: relative;
    top: 0;
    left: 0;
    -webkit-transform: unset;
    -ms-transform: unset;
    -o-transform: unset;
    transform: unset;
    -webkit-transform: translate(0,0);
    -ms-transform: translate(0,0);
    -o-transform: translate(0,0);
    transform: translate(0,0);
    transform: translate(0,0);
}

/** icon-shape **/
.prt-icon.prt-icon_element-style-round { border-radius: 5px; }
.prt-icon.prt-icon_element-style-rounded { border-radius: 50%; }
.prt-icon.prt-icon_element-style-square { border-radius: 0;}

/* prt-list-style-icon */
.prt-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.prt-list li {  padding: 5px 0; }
.prt-list.prt-list-style-icon.fw-normal li i , 
.prt-list.prt-list-style-icon.fw-normal .prt-list-li-content {
    font-weight: normal;
    padding-bottom: 2px;
}
.prt-list.prt-list-style-icon li {
    position: relative;
    padding: 14px 0;
    display: flex;
    align-items: baseline;
    width: 100%;
}
.prt-list.prt-list-style-icon li:last-child{padding-bottom: 0;}
/* .prt-list.prt-list-style-icon li i.fa-minus:before{
    position: absolute;
    content: "";
    top: 6px;
    left: 0;
    height: 2px;
    width: 7px;
    background-color: currentcolor;
}
.prt-list.prt-list-style-icon li i:before {
    content: "\e649";
    position: absolute;
    width: 40px;
    height: 40px;
    line-height: 40px;
    left: 0;
    top: 6px;
    font-size: 14px;
    font-weight: 900;
    text-align: center;
    color: #000;
    background-color: var(--base-grey);
    border-radius: 50px;
} */
.prt-list.prt-list-style-icon .prt-list-li-content {
    display: inline-block;
    padding-left: 10px;
    font-size: 18px;
    color: var(--base-bodyfont-color);
    font-weight: 400;
}

.prt-list.fs-14 { font-size: 14px; }
.prt-list.fs-15 { font-size: 15px; }
.prt-list.fs-15 i { font-size: 12px; }

.prt-list-icon-color-skincolor li i { color: var(--base-skin); }
.prt-list-icon-color-darkgrey li i { color: var(--base-dark); }


/*style2*/
.prt-list.style1 li { 
    position: relative; 
    padding-left: 25px;
    padding: 5px 0;
}
.prt-list.style1 li:last-child { padding-bottom: 0px; }
.prt-list.style1 li span {
    position: relative;
    line-height: 26px;
    font-size: 17px;
    font-weight: 400;
    color: var(--base-white);
    font-family: var(--base-bodyfont);
}
.prt-list.style1 li i { 
    color: var(--base-skin);
}

/* style2 */
.prt-list.style2  { padding-bottom: 0px;}
.prt-list.style2 li {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}
.prt-list.style2 li div {
    width: 5px;
    height: 5px;
    line-height: 28px;
    background-color: var(--base-white);
    border-radius: 50%;
    margin-top: 13px;
    margin-right: 15px;
    flex-shrink: 0;
}
.prt-list.style2 li span { 
    font-size: 17px;
    line-height: 28px;
    color: var(--base-headingfont-color);
}

/* style3 */ 
.prt-list.style3  { padding-bottom: 25px;}
.prt-list.style3 li {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}
.prt-list.style3 li div {
    width: 5px;
    height: 5px;
    line-height: 28px;
    background-color: var(--base-dark);
    border-radius: 50%;
    margin-top: 13px;
    margin-right: 15px;
    flex-shrink: 0;
}
.prt-list.style3 li span { 
    font-size: 17px;
    line-height: 28px;
    color: var(--base-dark);
}



/* prt-video-icon */
.prt-video-icon .prt-icon.prt-icon_element-size-md {
    height: 98px;
    width: 98px;
    line-height: 98px;
}
.prt-video-icon .prt-icon.prt-icon_element-size-md i { 
    font-size: 40px;
}
.prt-right-video-icon, .prt-left-video-icon, .prt-center-video-icon {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
}

/* ===============================================
    10.Fid
------------------------*/
.inside {
    position: relative;
    transition: all .4s;
    padding: 10px 0 15px;
}
.prt-fid-view-lefticon .prt-fid-icon-wrapper ,
.prt-fid-view-lefticon .prt-fid-contents ,
.prt-fid-view-righticon .prt-fid-icon-wrapper ,
.prt-fid-view-righticon .prt-fid-contents{
    display: table-cell;
    vertical-align: top;
}
.prt-fid-view-lefticon .prt-fid-contents,
.prt-fid-view-righticon .prt-fid-icon-wrapper {
    padding-left: 15px;
    text-align: left;
}
.prt-fid-view-topicon i {
    margin-bottom: 10px;
}
.prt-fid-icon-wrapper i {
    font-size: 45px;
    line-height: 50px;
    position: relative;
    display: inline-block;
}
.inside h4, .inside h4 span {
    font-size: 40px;
    line-height: 50px;
    margin-bottom: 0;
}
.inside h3 {
    margin-bottom: 0;
    width: 100%;
    font-size: 15px;
    line-height: 26px;
    font-weight: 400;
    padding-top: 0;
}

/* style2 */
.prt-fid.inside.style2 {
    padding: 20px 40px 25px 35px;
    border-right: 1px solid #CEC9C1;
}
.row .col-lg-4.col-md-6:nth-child(3) .prt-fid.inside.style2 { border-right: unset;}
.prt-fid.inside.style2 h4, .prt-fid.inside.style1 h4 span {
    font-size: 108px;
    line-height: 122px;
    font-weight: 700;
    color: var(--base-headingfont-color);
}
.prt-fid.inside.style2 .prt-fid-contents .prt-fid-title {
    font-size: 24px;
    font-weight: 500;
    line-height: 34px;
    font-family: var(--base-headingfont);
    color: var(--base-headingfont-color);
}
.fid-section .prt-fid-wrapper {
    background-color: var(--base-white);
    border-radius: 20px;
    border: 1px solid #CEC9C1;
}
.prt-fid.inside.style2 {
    padding: 20px 40px 25px 35px;
    border-right: 1px solid #CEC9C1;
}
.row .col-lg-4.col-md-6:nth-child(3) .prt-fid.inside.style2 { border-right: unset;}
.prt-fid.inside.style2 h4, .prt-fid.inside.style2 h4 span {
    font-size: 108px;
    line-height: 122px;
    font-weight: 700;
    color: var(--base-dark);
}
.prt-fid.inside.style2 .prt-fid-contents .prt-fid-title {
    font-size: 24px;
    font-weight: 500;
    line-height: 34px;
    font-family: var(--base-headingfont);
    color: var(--base-dark);
}
.fid-section .prt-fid-wrapper {
    background-color: var(--base-white);
    border-radius: 20px;
    border: 1px solid #CEC9C1;
}


/*circle-progress*/
.prt-fid-view-circle-progress {
    border: 1px solid #e7e7e7;
    padding: 30px 20px 25px 20px;
    margin: 12px 0;
}
.prt-fid-view-circle-progress .prt-circle-content { 
    float: left;
    line-height: 0;
    position: relative;
    margin-right: 15px;
}
.prt-fid-view-circle-progress .prt-circle-boxcontent {
    position: absolute;
    top: 51%;
    left: 0;
    width: 100%;
    text-align: center;
    -khtml-transform: translateX(0) translateY(-50%);
    -moz-transform: translateX(0) translateY(-50%);
    -ms-transform: translateX(0) translateY(-50%);
    -o-transform: translateX(0) translateY(-50%);
    transform: translateX(0) translateY(-50%)
}
.prt-fid-view-circle-progress .prt-fid-number,
.prt-fid-view-circle-progress .prt-fid-number sub,
.prt-fid-view-circle-progress .prt-fid-number sup {
    padding: 17px;
    font-size: 19px;
    font-weight: 700;
    color: var(--base-dark);
}
.prt-fid-view-circle-progress .prt-fid-title {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 8px;
}

/* ===============================================
    11.featured-icon-box ( only contents )
------------------------*/
.featured-icon-box { position: relative; margin: 15px 0; }
.featured-icon-box .prt-icon{ margin-bottom: 0; }
.featured-title h3{ font-size: 24px; line-height: 34px; margin-bottom: 12px; font-weight: 500;}

.featured-icon-box.icon-align-before-content .featured-icon,
.featured-icon-box.icon-align-before-content .featured-content,
.featured-icon-box.icon-align-before-title .featured-title,
.featured-icon-box.icon-align-before-title .featured-icon {
    display: table-cell;
    vertical-align: middle;
}
.featured-icon-box.icon-align-before-content .featured-icon i { display: inline-block; vertical-align: middle; }
.featured-icon-box.icon-align-before-content.icon-ver_align-top .featured-content,
.featured-icon-box.icon-align-before-content.icon-ver_align-top .featured-icon {
    vertical-align: top;
    padding-top: 0px;
}
.featured-icon-box.icon-align-before-content .featured-content, 
.featured-icon-box.icon-align-before-title .featured-title{ padding-left: 15px; }
.featured-icon-box.icon-align-before-title .featured-title h3{ margin-bottom: 0; }
.featured-icon-box.icon-align-before-content .featured-content .featured-desc p{ 
    margin-bottom: 0;
    text-transform: uppercase;
    margin-top: 8px;
    margin-bottom: 8px;
}
.featured-icon-box.icon-align-before-title .featured-content{ margin-top: 15px; }
.featured-icon-box.icon-align-top-content .featured-content { padding-top: 15px; }

section { counter-reset:container}
.container .number:after {
    counter-increment: container;
    content: counter(container,decimal-leading-zero);
    font-family: var(--base-bodyfont);
    font-style: normal;
}
.featured-icon-box.icon-flip-hover .prt-icon i {
    transition: all 1s ease;
    display: block;
    transform: translate(0%,0%) rotateY(0deg);
}
.featured-icon-box.icon-flip-hover:hover .prt-icon i {
    transform: translate(0%,0%) rotateY(360deg);
}

/* style1 */
.featured-icon-box.style1 { 
    background-color: var(--base-dark); 
    border-radius: 27px;
    width: fit-content;
    margin-top: 35px;
}
.featured-icon-box.style1 .featured-desc { 
    display: inline-block;
    color: var(--base-white);
    font-size: 16px;
}
.featured-icon-box.style1 .featured-desc p { text-transform: unset !important;}
.featured-icon-box.style1 .featured-title h3 {
    font-size: 28px;
    line-height: 38px;
    font-weight: 500;
    top: -8px;
    margin-bottom: 0;
    padding-left: 20px;
    position: relative;
    padding-right: 40px;
    color: var(--base-white);
}
.featured-icon-box.style1 .featured-content { padding: 3px 30px 3px 0; }
.featured-icon-box.style1 .featured-title { display: inline-block;}
.featured-icon-box.style1 .prt-icon { border-radius: 50%; }

/* style2 */
.featured-icon-box.style2 { margin-top: 5px; }
.featured-icon-box.style2 .featured-title { 
    padding-bottom: 0;  
    padding-left: 0;
}
.featured-icon-box.style2 .featured-title h3 { text-transform: uppercase;}

/* style3 */
.featured-icon-box.style3 {
    background-color: rgb(31 29 26 / 60%);
    border-radius: 32px;
    margin-top: 28px;
}
.featured-icon-box.style3  .featured-title h3 {
    text-transform: uppercase;
}
.featured-icon-box.style3 .featured-icon {
    width: 60px;
    height: 60px;
    background-color: var(--base-dark);
    border-radius: 50%;
    vertical-align: middle;
}
.featured-icon-box.style3 .featured-icon img {
    width: 30px;
    height: 30px;
    position: relative;
    left: 15px;
}
.featured-icon-box.style3 .featured-title { 
    padding-left: 30px;
    padding-right: 30px;
    vertical-align: middle;
    position: relative;
    padding-top: 7px;
    padding-bottom: 9px;
}

/* style4 */
.featured-icon-box.style4 .featured-title p {
    font-size: 18px;
    line-height: 28px;
    margin-bottom: 0;
}
.featured-icon-box.style4 .featured-title h3 a {
    font-size: 18px;
    line-height: 28px;
    font-family: var(--base-headingfont);
    text-transform: uppercase;
    color: var(--base-white);
}
.featured-icon-box.style4 .featured-title h3 a:hover { color: var(--base-skin); }
.col-lg-6:not(:last-child) .featured-icon-box.style4:after {
    content: "";
    right: 20px;
    height: 100%;
    position: absolute;
    top: 0;
    width: 0;
    border-right: 1px solid rgba(255, 255, 255, 0.10);
    left: auto;
}
.row > [class*='col-']:last-child .featured-icon-box.style4:after {
    content: unset;
}
.featured-icon-box.style4 .featured-title { padding-left: 0px; }

/* style5 */
.featured-icon-box.style5 {
    padding: 70px 35px;
    text-align: center;
    border-radius: 30px;
    height: calc(90% + 15px);
    background-color: var(--base-dark);
}
.featured-icon-box.style5 .featured-title h3 {
    font-size: 28px;
    line-height: 38px;
    padding-top: 25px;
    text-transform: uppercase;
}
.featured-icon-box.style5 .featured-btn {
    padding-top: 25px;
}
.featured-icon-box.style5:hover {
    background-color: var(--base-skin);
}
.featured-icon-box.style5:hover .featured-desc p { color: var(--base-white); }

/* style6 */
.featured-icon-box.style6 {
    padding: 40px;
    border-radius: 26px;
    background-color: var(--base-skin);
}
.featured-icon-box.style6 .featured-icon .prt-icon {
    background-color: var(--base-dark);
    border-radius: 50%;
}
.featured-icon-box.style6 .featured-title h3 {
    font-size: 46px;
    font-weight: 500;
    color: var(--base-white);
    line-height: 62px;
    padding-bottom: 10px;
}
.featured-icon-box.style6 .featured-desc p {
    color: rgb(255 255 255 / 80%);
}
.featured-icon-box.style6 .prt-btn-style-border.prt-btn-color-whitecolor:hover {
    background-color: var(--base-dark);
    color: var(--base-white);
    border-color: var(--base-dark);
}

/* ===============================================
    13.featured-imagebox ( contents with image)
------------------------*/
.featured-imagebox,
.featured-imagebox .featured-thumbnail { 
    position: relative; 
    overflow: hidden;
}
.featured-imagebox .featured-thumbnail img {
    -moz-transform: scale(1);
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    width: 100%;
    -webkit-transition: all .6s ease-in-out;
    -moz-transition: all .6s ease-in-out;
    -ms-transition: all .6s ease-in-out;
    -o-transition: all .6s ease-in-out;
}
.featured-imagebox:hover .featured-thumbnail img{
    -moz-transform: scale(1.09);
    -webkit-transform: scale(1.09);
    -ms-transform: scale(1.09);
    transform: scale(1.09);
}
.prt-grid-view .featured-imagebox { margin-bottom: 30px; }
.featured-imagebox .featured-content .featured-title h3 {
    font-size: 24px;
    line-height: 34px;
    font-weight: 500;
    margin-bottom: 10px;
    position: relative;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;  
}
.featured-imagebox .featured-content .category, .featured-imagebox .featured-content .category a {
    font-size: 14px;
}

/* post */
.featured-imagebox {
    margin: 15px 0;
}
.featured-imagebox-post { 
    overflow: visible;
}
.featured-imagebox-post .featured-content .post-meta span{ 
    display: inline-block;
    position: relative;
    margin-right: 20px;
    font-size: 15px;
    line-height: 15px;
    margin-bottom: 12px;
}
.featured-imagebox-post .featured-content .post-meta span,
.featured-imagebox-post .featured-content .post-meta span a {
    color: var(--base-dark);
}
.featured-imagebox-post .featured-content .post-meta span:last-child{
    margin-right: 0;
}
.featured-imagebox-post .featured-content .post-meta span i{ 
    padding-right: 4px; 
    font-size: 14px;
    line-height: 0;
    color: var(--base-dark);
}
.featured-imagebox-post .featured-content .post-meta span i.fa-comments-o { font-size: 16px; }
.post-category{
    display: inline-block;
    border-radius: 6px;
    font-size: 14px;
    line-height: 1;
    padding: 6px 10px;
    color: #fff;
    margin-bottom: 15px;
}
/* post-1 */
.featured-imagebox-post-border,
.featured-imagebox-post-border.top-border{
    border-top: 1px solid #CEC9C1;
    -webkit-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}
.featured-imagebox-post-border:last-child{
    border-bottom: 1px solid #CEC9C1;
}
.featured-imagebox-post-border:hover, 
.featured-imagebox-post-border.active,
.featured-imagebox-post-border:hover + .featured-imagebox-post-border,
.featured-imagebox-post-border.active + .featured-imagebox-post-border{
    border-top: 1px solid transparent;
}
.featured-imagebox-post-border:last-child:hover,
.featured-imagebox-post-border:last-child.active{
    border-bottom: 1px solid transparent;
}
.featured-imagebox-post.style1 {
    position: relative;
    padding: 30px 30px 0px;
    border-radius: 15px;
    border: transparent;
    z-index: 9;
    overflow: hidden;
    -webkit-transition: all .5s ease-in-out;
    -moz-transition: all .5s ease-in-out;
    -ms-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
    background-color: var(--base-grey);
    border: 1px solid #353535;
}
.featured-imagebox-post.style1:hover {
    border: 1px solid transparent;
}
.featured-imagebox-post.style1 .blog-overlay-img img {
    border-radius: 30px;
}
.featured-imagebox-post.style1 .prt-box-content{
    background-color: var(--base-dark);
    overflow: hidden;
    padding: 40px 50px 27px;
    clear: both;
    display: flex;
    justify-content: space-between;
    border: 1px solid #353535;
    border-radius: 15px;
    position: relative;
    margin: 0;
    z-index: 9;
}
.featured-imagebox-post.style1 .featured-content {
    padding: 0;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
}
.featured-imagebox-post.style1 .featured-thumbnail {
    position: absolute;
    left: 0;
    right: 0;
    z-index: 1;
    opacity: 1;
    top: 150px;
    margin: 0px 30px;
    border-radius: 20px 20px 0 0;
    -webkit-transition: all .5s ease-in-out;
    -moz-transition: all .5s ease-in-out;
    -ms-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
}
.featured-imagebox-post.style1:hover .featured-thumbnail {
    opacity: 1;
    top: 0px;
    margin: 0px;
}
.featured-imagebox-post.style1 .featured-thumbnail .featured-link-wrapper {
    object-fit: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 450px;
    border-radius: 20px 20px 0 0;
}
.featured-imagebox-post.style1 .featured-readmore {
    padding: 0;
    margin: 0;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    opacity: 0;
    display: flex;
    text-align: center;
    align-items: center;
    justify-content: center;
    -webkit-transition: all .5s ease-in-out;
    -moz-transition: all .5s ease-in-out;
    -ms-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
    z-index: 9;
}
.featured-imagebox-post.style1:hover .featured-readmore {
    opacity: 1;
}
.featured-imagebox-post.style1 .prt-blog-post-cat .cat-links {
    font-size: 0px;
}
.featured-imagebox-post.style1 .post-meta .prt-meta-line.date {
    margin: 0;
    font-size: 14px;
    color: var(--base-white);
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
}
.featured-imagebox-post.style1 .post-meta .prt-meta-line:before{content: unset;}
.featured-imagebox-post.style1 .post-meta .prt-meta-line{color: var(--base-white);}
.featured-imagebox-post.style1 .post-meta .sup {
    font-size: 16px;
    top: -33px;
    left: 5px;
    position: relative;
    color: #000000;
    text-transform: uppercase;
    font-family: var(--base-bodyfont);
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
}
.featured-imagebox-post.style1 .featured-content .post-button {
    display: inline-block;
    padding-right: 20px;
}
.featured-imagebox-post.style1 .featured-content .post-button a {
    border: 1px solid currentColor;
}
.featured-imagebox-post.style1 .featured-content .featured-title h3 {
    margin-bottom: 45px;
}
.featured-imagebox-post.style1 .featured-content .post-date {
    display: inline-block;
}
.featured-imagebox-post.style1 .featured-content .featured-title a {
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
}
.featured-imagebox-post.style1 .featured-title h3 a{
    color: var(--base-dark);
    font-size: 34px;
    font-weight: 500;
    line-height: 52px;
}
.featured-imagebox-post.style1 .featured-desc{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.featured-imagebox-post.style1 .featured-desc .post-meta{
    padding-right: 20px;
}
.featured-imagebox-post.style1 .blog-tag a, 
.featured-imagebox-post.style1 .comment a{
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    color: var(--base-bodyfont-color);
}
.featured-imagebox-post.style1 .comment {
    margin-top: 5px;
}
.featured-imagebox-post.style1 .post-date i ,
.featured-imagebox-post.style1 .post-category i {
    color: var(--base-skin);
    padding-right: 5px;
}
.featured-imagebox-post.style1 .featured-content {
    border-radius: 20px;
}

/* .featured-imagebox-post.style1:hover .featured-content ,
.featured-imagebox-post.style1:hover .featured-title {
    opacity: 0;
} */
.featured-imagebox-post.style1 .featured-content .post-date span ,
.featured-imagebox-post.style1 .featured-content .post-category {
    font-size: 17px;
    font-weight: 400;
    line-height: 28px;
    font-family: var(--base-bodyfont);
    color: rgb(255 255 255 / 80%);
    margin-bottom: 0px;
    padding: 0px 25px 0 0;
}
.featured-imagebox-post.style1 .featured-content .post-date span ,
.featured-imagebox-post.style1 .featured-content .post-category span { 
    padding-right: 7px; 
    color: var(--base-bodyfont-color);
}
.blog-overlay-img {
    position: absolute;
    left: 0;
    right: 0;
    z-index: -1;
    opacity: 0;
    top: -50px;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    -webkit-filter: blur(10px);
    filter: blur(10px);
}
.blog-overlay-img:before {
    content: "";
    position: absolute;
    z-index: 2;
    background-color: rgba(0,0,0,.6);
    top: 0;
    bottom: -5px;
    left: 0;
    right: 0;
    opacity: 0.7;
    backface-visibility: hidden;
    -webkit-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}
/*.featured-imagebox-post-border.active .blog-overlay-img, */
.featured-imagebox-post-border:hover .blog-overlay-img {
    opacity: 1;
    top: 0;
    -webkit-filter: blur(0);
    filter: blur(0);
} 
.featured-imagebox-post-border .blog-overlay-img img{
    width: calc(100% + 10px);
    max-width: none;
    -webkit-transition: all .6s ease-in-out;
    -o-transition: all .6s ease-in-out;
    transition: all .6s ease-in-out;
    margin-top: -350px;
}
.featured-imagebox-post-border:hover .post-meta .prt-meta-line.date,
.featured-imagebox-post-border.active .post-meta .prt-meta-line.date,
.featured-imagebox-post-border:hover .post-meta .sup,
.featured-imagebox-post-border.active .post-meta .sup,
.featured-imagebox-post-border.active .blog-tag a, 
.featured-imagebox-post-border:hover .blog-tag a, 
.featured-imagebox-post-border.active .comment a, 
.featured-imagebox-post-border:hover .comment a{
    color: #fff;
}

/*style1*/
.featured-imagebox-service.style1 {
    padding: 40px 20px 0px 0px;
    margin: 0;
}
.featured-imagebox-service.style1 .featured-content {
    margin: -50px 0px 0px 0px;
}
.featured-imagebox-service.style1 .featured-content .featured-title h3 {
    font-size: 42px;
    font-weight: 500;
    line-height: 52px;
    color: var(--base-headingfont-color);
    text-transform: uppercase;
}
.featured-imagebox-service.style1 .featured-btn {
    margin-top: 90px;
}
.featured-imagebox-service.style1 .featured-desc p { 
    padding-top: 35px;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.frame-border .featured-thumbnail img { border-radius: 15px; }
#circuitos .frame-border .featured-thumbnail {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    min-height: 320px;
    max-height: 430px;
    overflow: hidden;
    border-radius: 32px;
    background: rgba(255, 255, 255, 0.04);
}
#circuitos .frame-border .featured-thumbnail img {
    width: 100%;
    height: 100%;
    min-height: inherit;
    max-height: inherit;
    object-fit: cover;
    object-position: center;
    border-radius: 32px;
}
.frame-border {
    border-radius: 50px;
    background-color: var(--base-dark);
    padding: 50px;
    margin: 15px 0;
    border: 2px solid var(--base-body-color-dark);
    /* box-shadow: 5px 6px 8px rgb(0 0 0 / 15%); */
}
/* Efecto sticky de superposición para todas las 6 cards del calendario */
#frame_1,#frame_2,#frame_3,#frame_4,#frame_5,#frame_6 { 
    position: sticky;
    top: 120px;
}
#frame_2{top: 140px;}
#frame_3{top: 160px;}
#frame_4{top: 180px;}
#frame_5{top: 200px;}
#frame_6{top: 220px;}

/* Reglas anteriores de frame_5 y frame_6 ya incluidas arriba */

/* Extra espacio al final del bloque sticky para que todas las 6 tarjetas se superpongan correctamente */
.sticky-section .sticky-spacer {
    height: 800px; /* Espacio suficiente para el efecto de superposición de las 6 cards */
}

/* Sección Cuenta Atrás */
.countdown-section {
    padding: 25px 0;
    position: relative;
    background: linear-gradient(135deg, var(--base-skin) 0%, #dc2626 100%);
}

.countdown-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grid" width="10" height="10" patternUnits="userSpaceOnUse"><path d="M 10 0 L 0 0 0 10" fill="none" stroke="rgba(255,255,255,0.1)" stroke-width="0.5"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)" /></svg>');
    opacity: 0.3;
}

.countdown-centered {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 20px;
    position: relative;
    z-index: 2;
}

.countdown-info {
    position: relative;
    z-index: 2;
}

.countdown-info h3 {
    color: white;
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 8px;
    opacity: 0.9;
}

.countdown-info h4 {
    color: white;
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1;
    margin-bottom: 8px;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
    text-transform: uppercase;
}

.countdown-info p {
    color: rgba(255,255,255,0.9);
    font-size: 0.9rem;
    font-weight: 500;
    margin: 0;
}

.countdown-timer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    position: relative;
    z-index: 2;
}

.countdown-item {
    text-align: center;
    background: rgba(255,255,255,0.15);
    backdrop-filter: blur(10px);
    border-radius: 12px;
    padding: 15px 12px;
    border: 1px solid rgba(255,255,255,0.2);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
    min-width: 80px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.countdown-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 35px rgba(0,0,0,0.2);
}

.countdown-number {
    display: block;
    font-size: 2rem;
    font-weight: 800;
    color: white;
    line-height: 1;
    margin-bottom: 4px;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
    font-family: 'Oswald', sans-serif;
}

.countdown-label {
    font-size: 0.75rem;
    color: rgba(255,255,255,0.8);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.countdown-separator {
    font-size: 2rem;
    color: white;
    font-weight: 700;
    opacity: 0.7;
    animation: blink 2s infinite;
}

@keyframes blink {
    0%, 50% { opacity: 0.7; }
    51%, 100% { opacity: 0.3; }
}

.countdown-action {
    text-align: center;
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.countdown-action .prt-btn {
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 15px 30px;
    transition: all 0.3s ease;
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

.countdown-action .prt-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 35px rgba(0,0,0,0.25);
}

/* Responsive */
@media (max-width: 992px) {
    .countdown-timer {
        margin: 30px 0;
        gap: 10px;
    }
    
    .countdown-item {
        padding: 15px 10px;
        min-width: 70px;
    }
    
    .countdown-number {
        font-size: 2rem;
    }
    
    .countdown-separator {
        font-size: 1.5rem;
    }
}

@media (max-width: 768px) {
    .countdown-section {
        padding: 20px 0;
    }
    
    .countdown-section .row {
        flex-direction: column;
        text-align: center;
    }
    
    .countdown-section .col-lg-9,
    .countdown-section .col-lg-3 {
        flex: 0 0 100%;
        max-width: 100%;
    }
    
    .countdown-centered {
        gap: 15px;
    }
    
    .countdown-info h4 {
        font-size: 2rem;
        line-height: 1;
    }
    
    .countdown-timer {
        gap: 8px;
        margin-bottom: 20px;
    }
    
    .countdown-action {
        margin-top: 15px;
    }
    
    .countdown-item {
        padding: 12px 8px;
        min-width: 60px;
    }
    
    .countdown-number {
        font-size: 1.8rem;
    }
    
    .countdown-label {
        font-size: 0.7rem;
    }
}

/* Sección Clasificación */
.standings-section {
    padding: 80px 0;
    position: relative;
}

.standings-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grid2" width="20" height="20" patternUnits="userSpaceOnUse"><path d="M 20 0 L 0 0 0 20" fill="none" stroke="rgba(255,255,255,0.03)" stroke-width="1"/></pattern></defs><rect width="100" height="100" fill="url(%23grid2)" /></svg>');
    opacity: 0.5;
}

/* Podio */
.standings-podium {
    margin-bottom: 60px;
}

.podium-container {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 20px;
    position: relative;
    z-index: 2;
}

.podium-position {
    position: relative;
}

.position-1 {
    order: 2;
    transform: translateY(-20px);
}

.position-2 {
    order: 1;
}

.position-3 {
    order: 3;
}

.podium-card {
    background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05));
    backdrop-filter: blur(15px);
    border-radius: 20px;
    padding: 30px 20px;
    text-align: center;
    border: 1px solid rgba(255,255,255,0.1);
    box-shadow: 0 15px 35px rgba(0,0,0,0.2);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    min-width: 280px;
    position: relative;
    overflow: hidden;
}

.podium-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--base-skin);
}

.podium-card.winner::before {
    background: linear-gradient(90deg, #ffd700, #ffed4a);
}

.podium-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 45px rgba(0,0,0,0.3);
}

.position-number {
    font-size: 1.2rem;
    font-weight: 800;
    color: var(--base-skin);
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.podium-card.winner .position-number {
    color: #ffd700;
}

.driver-photo {
    width: 100px;
    height: 100px;
    margin: 0 auto 20px;
    border-radius: 50%;
    overflow: hidden;
    border: 4px solid rgba(255,255,255,0.2);
    background: rgba(255,255,255,0.1);
}

.podium-card.winner .driver-photo {
    border-color: #ffd700;
    box-shadow: 0 0 20px rgba(255, 215, 0, 0.3);
}

.driver-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.driver-info h4 {
    color: white;
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 8px;
    line-height: 1.2;
}

.team-name {
    color: rgba(255,255,255,0.7);
    font-size: 0.9rem;
    margin-bottom: 15px;
}

.nationality {
    margin-bottom: 20px;
}

.nationality img {
    border-radius: 3px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}

.points-badge {
    background: var(--base-skin);
    color: white;
    padding: 10px 20px;
    border-radius: 25px;
    font-weight: 700;
    font-size: 1.1rem;
    display: inline-block;
    letter-spacing: 1px;
}

.points-badge.winner {
    background: linear-gradient(135deg, #ffd700, #ffed4a);
    color: #1a1a1a;
    box-shadow: 0 4px 15px rgba(255, 215, 0, 0.3);
}

/* Tabla de Clasificación */
.standings-table-section {
    position: relative;
    z-index: 2;
}

.standings-table-wrapper {
    background: rgba(255,255,255,0.05);
    backdrop-filter: blur(15px);
    border-radius: 20px;
    border: 1px solid rgba(255,255,255,0.1);
    overflow: hidden;
    box-shadow: 0 15px 35px rgba(0,0,0,0.2);
}

.standings-tabs {
    display: flex;
    background: rgba(255,255,255,0.05);
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

.standings-tab {
    flex: 1;
    padding: 20px;
    background: none;
    border: none;
    color: rgba(255,255,255,0.7);
    font-weight: 600;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
}

.standings-tab::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--base-skin);
    transform: scaleX(0);
    transition: transform 0.3s ease;
}

.standings-tab.active {
    color: white;
    background: rgba(255,255,255,0.08);
}

.standings-tab.active::after {
    transform: scaleX(1);
}

.standings-tab:hover {
    color: white;
    background: rgba(255,255,255,0.05);
}

.standings-table {
    width: 100%;
}

.table-header {
    display: grid;
    grid-template-columns: 80px 1fr 150px 200px 100px;
    gap: 20px;
    padding: 20px 30px;
    background: rgba(255,255,255,0.08);
    border-bottom: 1px solid rgba(255,255,255,0.1);
    font-weight: 600;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: rgba(255,255,255,0.8);
}

.table-row {
    display: grid;
    grid-template-columns: 80px 1fr 150px 200px 100px;
    gap: 20px;
    padding: 20px 30px;
    border-bottom: 1px solid rgba(255,255,255,0.05);
    transition: background 0.3s ease;
    align-items: center;
}

.table-row:hover {
    background: rgba(255,255,255,0.05);
}

.col-pos {
    color: white;
    font-weight: 700;
    font-size: 1.1rem;
}

.driver-info {
    display: flex;
    align-items: center;
    gap: 15px;
}

.driver-avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid rgba(255,255,255,0.2);
    background: rgba(255,255,255,0.1);
}

.driver-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Avatares con iniciales */
.driver-avatar .initials {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--base-skin), #ef4444);
    color: white;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: background 0.3s ease;
}

.podium-card .driver-photo .initials {
    font-size: 2rem;
    background: linear-gradient(135deg, var(--base-skin), #dc2626);
}

.podium-card.winner .driver-photo .initials {
    background: linear-gradient(135deg, #ffd700, #ffed4a);
    color: #1a1a1a;
}

.table-row .driver-avatar .initials {
    font-size: 1.2rem;
}

.driver-avatar:hover .initials {
    background: linear-gradient(135deg, #dc2626, #ef4444);
    transform: scale(1.05);
}

.podium-card.winner .driver-photo:hover .initials {
    background: linear-gradient(135deg, #ffed4a, #ffd700);
}

.driver-name {
    color: white;
    font-weight: 600;
    font-size: 1rem;
}

.col-nationality img {
    border-radius: 3px;
}

.col-team {
    color: rgba(255,255,255,0.8);
    font-weight: 500;
}

.col-points {
    color: var(--base-skin);
    font-weight: 700;
    font-size: 1.1rem;
}

/* Equipos - Header diferente */
#teams-content .table-header {
    grid-template-columns: 80px 1fr 100px;
}

#teams-content .table-row {
    grid-template-columns: 80px 1fr 100px;
}

.team-info {
    display: flex;
    align-items: center;
    gap: 15px;
    position: relative;
    width: 100%;
}

.team-logo {
    width: 40px;
    height: 40px;
    object-fit: cover;
    border-radius: 8px;
    border: 2px solid rgba(255,255,255,0.2);
    flex-shrink: 0;
}

.team-details {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
    min-width: 0;
}

.team-name {
    color: white;
    font-weight: 600;
    font-size: 1rem;
    margin: 0;
}

.team-drivers-simple {
    color: rgba(255,255,255,0.7);
    font-size: 0.85rem;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.team-expand-btn {
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 8px;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.team-expand-btn:hover {
    background: var(--base-skin);
    border-color: var(--base-skin);
    transform: scale(1.05);
}

.team-expand-btn i {
    color: white;
    font-size: 0.9rem;
}

/* Modal de Equipo */
.team-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.team-modal.show {
    opacity: 1;
    visibility: visible;
}

.team-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(4px);
}

.team-modal-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(20, 20, 30, 0.95);
    backdrop-filter: blur(20px);
    border-radius: 20px;
    border: 1px solid rgba(255,255,255,0.1);
    box-shadow: 0 25px 50px rgba(0,0,0,0.5);
    max-width: 500px;
    width: 90%;
    max-height: 80vh;
    overflow: hidden;
}

.team-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 24px;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

.team-modal-header h3 {
    color: white;
    font-size: 1.4rem;
    font-weight: 700;
    margin: 0;
}

.team-modal-close {
    background: none;
    border: none;
    color: rgba(255,255,255,0.7);
    font-size: 1.8rem;
    cursor: pointer;
    padding: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.2s ease;
}

.team-modal-close:hover {
    background: rgba(255,255,255,0.1);
    color: white;
}

.team-modal-body {
    padding: 24px;
    max-height: calc(80vh - 100px);
    overflow-y: auto;
}

.team-modal-stats {
    display: flex;
    gap: 20px;
    margin-bottom: 24px;
}

.team-stat {
    flex: 1;
    text-align: center;
    padding: 16px;
    background: rgba(255,255,255,0.05);
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,0.1);
}

.stat-label {
    display: block;
    color: rgba(255,255,255,0.7);
    font-size: 0.85rem;
    font-weight: 500;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.stat-value {
    display: block;
    color: var(--base-skin);
    font-size: 1.5rem;
    font-weight: 700;
}

.team-drivers-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
}

.modal-driver-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    background: rgba(255,255,255,0.05);
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,0.1);
    transition: all 0.2s ease;
}

.modal-driver-card:hover {
    background: rgba(255,255,255,0.08);
    transform: translateY(-2px);
}

.modal-driver-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,0.2);
    background: rgba(255,255,255,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    font-weight: 600;
    color: white;
    text-transform: uppercase;
    flex-shrink: 0;
}

.modal-driver-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.modal-driver-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
    min-width: 0;
}

.modal-driver-name {
    color: white;
    font-weight: 600;
    font-size: 0.95rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.modal-driver-team {
    color: rgba(255,255,255,0.6);
    font-size: 0.8rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Responsive para modal */
@media (max-width: 768px) {
    .team-modal-content {
        width: 95%;
        max-height: 85vh;
    }
    
    .team-modal-header,
    .team-modal-body {
        padding: 20px;
    }
    
    .team-modal-stats {
        flex-direction: column;
        gap: 12px;
    }
    
    .team-drivers-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    
    .modal-driver-card {
        padding: 12px;
    }
    
    .modal-driver-avatar {
        width: 40px;
        height: 40px;
        font-size: 0.9rem;
    }
}

.show-more-section {
    text-align: center;
    padding: 30px;
    border-top: 1px solid rgba(255,255,255,0.1);
}

.show-more-btn {
    background: rgba(255,255,255,0.1);
    border: 2px solid rgba(255,255,255,0.2);
    color: white;
    padding: 15px 30px;
    border-radius: 25px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 auto;
}

.show-more-btn:hover {
    background: var(--base-skin);
    border-color: var(--base-skin);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.2);
}

/* Loading Skeletons */
.skeleton {
    background: linear-gradient(90deg, rgba(255,255,255,0.1) 25%, rgba(255,255,255,0.2) 50%, rgba(255,255,255,0.1) 75%);
    background-size: 200% 100%;
    animation: loading 1.5s infinite;
    border-radius: 4px;
    height: 20px;
}

.skeleton-text {
    background: linear-gradient(90deg, rgba(255,255,255,0.1) 25%, rgba(255,255,255,0.2) 50%, rgba(255,255,255,0.1) 75%);
    background-size: 200% 100%;
    animation: loading 1.5s infinite;
    border-radius: 4px;
    color: transparent;
}

@keyframes loading {
    0% {
        background-position: 200% 0;
    }
    100% {
        background-position: -200% 0;
    }
}

/* Responsive */
@media (max-width: 1200px) {
    .podium-container {
        gap: 15px;
    }
    
    .podium-card {
        min-width: 240px;
        padding: 25px 15px;
    }
    
    .table-header,
    .table-row {
        grid-template-columns: 60px 1fr 120px 150px 80px;
        gap: 15px;
        padding: 15px 20px;
    }
}

@media (max-width: 992px) {
    .standings-section {
        padding: 60px 0;
    }
    
    .podium-container {
        flex-direction: column;
        align-items: center;
        gap: 20px;
    }
    
    .position-1 {
        order: 1;
        transform: none;
    }
    
    .position-2 {
        order: 2;
    }
    
    .position-3 {
        order: 3;
    }
    
    .podium-card {
        min-width: 300px;
    }
    
    .table-header,
    .table-row {
        grid-template-columns: 50px 1fr 80px;
        gap: 10px;
        padding: 15px;
    }
    
    .col-nationality,
    .col-team {
        display: none;
    }
}

@media (max-width: 768px) {
    .standings-section {
        padding: 40px 0;
    }
    
    .podium-card {
        min-width: 280px;
        padding: 20px 15px;
    }
    
    .driver-photo {
        width: 80px;
        height: 80px;
    }
    
    .driver-info h4 {
        font-size: 1.1rem;
    }
    
    .standings-tabs {
        flex-direction: column;
    }
    
    .table-header,
    .table-row {
        padding: 12px;
        gap: 8px;
    }
    
    .driver-info {
        gap: 10px;
    }
    
    .driver-avatar {
        width: 40px;
        height: 40px;
    }
}

/* Sección Calendario de Eventos */
.events-calendar-section {
    padding: 80px 0;
    position: relative;
}

.events-calendar-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grid3" width="30" height="30" patternUnits="userSpaceOnUse"><path d="M 30 0 L 0 0 0 30" fill="none" stroke="rgba(255,255,255,0.02)" stroke-width="1"/></pattern></defs><rect width="100" height="100" fill="url(%23grid3)" /></svg>');
    opacity: 0.5;
}

.events-container {
    position: relative;
    z-index: 2;
}

.events-row {
    margin-bottom: 30px;
}

.events-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    gap: 32px;
}

.event-card {
    background: rgba(20, 20, 30, 0.9);
    backdrop-filter: blur(20px);
    border-radius: 24px;
    border: 1px solid rgba(255,255,255,0.1);
    display: flex;
    flex-direction: column;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
    min-height: 380px;
}

.event-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 25px 50px rgba(0,0,0,0.4);
    background: rgba(20, 20, 30, 0.95);
}

.event-card-image {
    height: 180px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    border-radius: 24px 24px 0 0;
}

.event-card-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.6) 100%);
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 20px;
    border-radius: 24px 24px 0 0;
}

.event-card-content {
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    flex: 1;
}

.event-countdown {
    background: rgba(var(--base-skin-rgb), 0.9);
    color: white;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 600;
    text-align: center;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.2);
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}

.event-card-header {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.event-date-box {
    width: 80px;
    height: 80px;
    background: rgba(255,255,255,0.1);
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    position: relative;
    overflow: hidden;
    border: 2px solid rgba(255,255,255,0.2);
}

.event-date-box::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, var(--base-skin), #ef4444);
    opacity: 0.2;
    border-radius: 14px;
}

.event-day {
    font-size: 2rem;
    font-weight: 800;
    color: white;
    line-height: 1;
    margin-bottom: 2px;
    font-family: 'Oswald', sans-serif;
    z-index: 1;
    position: relative;
}

.event-month {
    font-size: 0.75rem;
    font-weight: 600;
    color: white;
    text-transform: uppercase;
    letter-spacing: 1px;
    z-index: 1;
    position: relative;
}

.event-header-info {
    flex: 1;
    min-width: 0;
}

.event-circuit-name {
    color: var(--base-skin);
    font-size: 1.6rem;
    font-weight: 800;
    margin: 0 0 6px 0;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.event-title {
    color: rgba(255,255,255,0.9);
    font-size: 1.1rem;
    font-weight: 600;
    margin: 0 0 4px 0;
    line-height: 1.3;
}

.event-date-text {
    color: rgba(255,255,255,0.7);
    font-size: 0.9rem;
    font-weight: 500;
    margin: 0;
}

.event-details {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.event-specs {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.event-spec-line {
    display: flex;
    align-items: center;
    gap: 12px;
    color: rgba(255,255,255,0.8);
    font-size: 0.95rem;
    line-height: 1.4;
}

.event-spec-highlight {
    color: var(--base-skin);
    font-weight: 700;
}

.event-description {
    color: rgba(255,255,255,0.7);
    font-size: 0.9rem;
    line-height: 1.5;
    margin: 0;
}

.event-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--base-skin);
    color: white;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    align-self: flex-start;
    margin-top: 8px;
}

.event-status-badge.completed {
    background: #28a745;
}

.event-status-badge.today {
    background: linear-gradient(135deg, #ffd700, #ffed4a);
    color: #1a1a1a;
    animation: pulse-glow 2s infinite;
}

.event-status-badge i {
    font-size: 0.8rem;
}

/* Estados especiales */
.event-card.today .event-date-box::before {
    background: linear-gradient(135deg, #ffd700, #ffed4a);
    opacity: 0.4;
}

.event-card.today .event-date-box {
    border-color: #ffd700;
}

.event-card.today .event-day {
    color: white;
}

.event-card.today .event-month {
    color: white;
}

.event-card.completed {
    opacity: 0.9;
}

.event-card.completed .event-date-box::before {
    background: linear-gradient(135deg, #28a745, #20c997);
    opacity: 0.3;
}

.event-card.completed .event-date-box {
    border-color: #28a745;
}

.event-card.completed .event-day {
    color: white;
}

.event-card.completed .event-month {
    color: white;
}

.event-card.no-events,
.event-card.error {
    justify-content: center;
    text-align: center;
    grid-column: 1 / -1;
    min-height: 200px;
}

/* Animaciones */
@keyframes pulse-glow {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(255, 215, 0, 0.4);
        transform: scale(1);
    }
    50% {
        box-shadow: 0 0 0 8px rgba(255, 215, 0, 0);
        transform: scale(1.02);
    }
}

/* Responsive */
@media (max-width: 992px) {
    .events-calendar-section {
        padding: 60px 0;
    }
    
    .events-grid {
        grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
        gap: 24px;
    }
    
    .event-card {
        min-height: 320px;
    }
    
    .event-card-image {
        height: 150px;
    }
    
    .event-card-overlay {
        padding: 16px;
    }
    
    .event-card-content {
        padding: 20px;
    }
    
    .event-date-box {
        width: 70px;
        height: 70px;
    }
    
    .event-countdown {
        font-size: 0.8rem;
        padding: 5px 10px;
    }
    
    .event-day {
        font-size: 1.8rem;
    }
    
    .event-month {
        font-size: 0.7rem;
    }
    
    .event-circuit-name {
        font-size: 1.4rem;
    }
    
    .event-title {
        font-size: 1rem;
    }
}

@media (max-width: 768px) {
    .events-calendar-section {
        padding: 40px 0;
    }
    
    .events-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .event-card {
        min-height: 280px;
    }
    
    .event-card-image {
        height: 120px;
    }
    
    .event-card-overlay {
        padding: 12px;
    }
    
    .event-card-content {
        padding: 16px;
        gap: 16px;
    }
    
    .event-date-box {
        width: 60px;
        height: 60px;
    }
    
    .event-countdown {
        font-size: 0.75rem;
        padding: 4px 8px;
    }
    
    .event-day {
        font-size: 1.5rem;
    }
    
    .event-month {
        font-size: 0.65rem;
    }
    
    .event-circuit-name {
        font-size: 1.2rem;
    }
    
    .event-title {
        font-size: 0.95rem;
        line-height: 1.3;
    }
    
    .event-date-text {
        font-size: 0.8rem;
    }
    
    .event-details {
        gap: 12px;
    }
    
    .event-specs {
        gap: 6px;
    }
    
    .event-spec-line {
        font-size: 0.85rem;
        gap: 8px;
    }
    
    .event-description {
        font-size: 0.8rem;
    }
    
    .event-status-badge {
        padding: 6px 12px;
        font-size: 0.75rem;
    }
}

/* Header z-index fix */
#masthead,
.header,
#site-header-menu,
.site-header-menu {
    z-index: 9999 !important;
    position: relative;
}

/* ===== Telegram Footer Link ===== */
.footer-title a:hover h2 {
    transform: translateY(-3px);
    transition: all 0.3s ease;
}

.footer-title a:hover .text-base-skin {
    color: #0088cc !important;
    transition: all 0.3s ease;
}

.footer-title a:hover .fab.fa-telegram-plane {
    color: #0088cc !important;
    transform: scale(1.2);
    transition: all 0.3s ease;
}

.circular-fid-and-text-box:hover {
    transform: scale(1.05);
    transition: all 0.3s ease;
}


/* ===== Warmup Section (Noticias) ===== */
.warmup-section {
    padding: 80px 0;
    position: relative;
}

.warmup-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: 
        radial-gradient(circle at 25% 25%, rgba(220, 38, 38, 0.05) 0%, transparent 50%),
        radial-gradient(circle at 75% 75%, rgba(220, 38, 38, 0.05) 0%, transparent 50%),
        linear-gradient(90deg, transparent 49%, rgba(255,255,255,0.03) 50%, transparent 51%),
        linear-gradient(0deg, transparent 49%, rgba(255,255,255,0.03) 50%, transparent 51%);
    background-size: 100px 100px, 100px 100px, 50px 50px, 50px 50px;
    opacity: 0.5;
    z-index: 1;
}

.warmup-container {
    position: relative;
    z-index: 2;
}

.warmup-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 30px;
    margin-bottom: 50px;
}

.warmup-card {
    background: rgba(255,255,255,0.04);
    backdrop-filter: blur(15px);
    border-radius: 24px;
    border: 1px solid rgba(255,255,255,0.08);
    overflow: hidden;
    transition: all 0.4s ease;
    position: relative;
    z-index: 2;
}

.warmup-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 25px 50px rgba(0,0,0,0.3);
    background: rgba(255,255,255,0.08);
    border-color: rgba(255,255,255,0.15);
}

.warmup-card.featured {
    grid-column: span 1; /* Todas las tarjetas del mismo tamaño */
}

@media (max-width: 1200px) {
    .warmup-card.featured {
        grid-column: span 1;
    }
}

.warmup-image {
    height: 200px;
    background: linear-gradient(135deg, rgba(220, 38, 38, 0.1) 0%, rgba(220, 38, 38, 0.05) 100%);
    background-size: cover;
    background-position: center;
    position: relative;
    overflow: hidden;
}

.warmup-card.featured .warmup-image {
    height: 300px;
}

.warmup-image::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.6) 100%);
    z-index: 1;
}

.warmup-content {
    padding: 25px;
    position: relative;
    z-index: 2;
}

.warmup-card.featured .warmup-content {
    padding: 30px;
}

.warmup-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    gap: 15px;
}

.warmup-category {
    background: rgba(var(--base-skin-rgb), 0.2);
    color: var(--base-skin);
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: 1px solid rgba(var(--base-skin-rgb), 0.3);
}

.warmup-date {
    color: rgba(255,255,255,0.6);
    font-size: 0.85rem;
    font-weight: 500;
}

.warmup-title {
    color: white;
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 15px;
    transition: color 0.3s ease;
}

.warmup-card.featured .warmup-title {
    font-size: 1.6rem;
    margin-bottom: 20px;
}

.warmup-card:hover .warmup-title {
    color: var(--base-skin);
}

.warmup-excerpt {
    color: rgba(255,255,255,0.8);
    font-size: 0.95rem;
    line-height: 1.6;
    margin-bottom: 20px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.warmup-card.featured .warmup-excerpt {
    -webkit-line-clamp: 4;
    margin-bottom: 25px;
}

.warmup-author {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: auto;
}

.author-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--base-skin), #ef4444);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 600;
    font-size: 0.9rem;
    border: 2px solid rgba(255,255,255,0.2);
}

.author-name {
    color: rgba(255,255,255,0.9);
    font-size: 0.9rem;
    font-weight: 600;
}

.warmup-actions {
    text-align: center;
    margin-top: 30px;
}

.warmup-actions .prt-btn {
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 15px 30px;
    border-radius: 50px;
    transition: all 0.3s ease;
}

.warmup-actions .prt-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(220, 38, 38, 0.3);
}

.warmup-read-more {
    margin-top: 15px;
    padding: 10px 15px;
    background: rgba(var(--base-skin-rgb), 0.1);
    border: 1px solid rgba(var(--base-skin-rgb), 0.3);
    border-radius: 20px;
    color: var(--base-skin);
    font-size: 0.9rem;
    font-weight: 600;
    text-align: center;
    transition: all 0.3s ease;
}

.warmup-card:hover .warmup-read-more {
    background: rgba(var(--base-skin-rgb), 0.2);
    border-color: rgba(var(--base-skin-rgb), 0.5);
    transform: translateY(-2px);
}

/* ===== Warmup Modal ===== */
.warmup-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.8);
    backdrop-filter: blur(10px);
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.warmup-modal.show {
    opacity: 1;
    visibility: visible;
}

.warmup-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.warmup-modal-content {
    position: relative;
    max-width: 1000px;
    max-height: 90vh;
    margin: 5vh auto;
    background: rgba(30, 30, 30, 0.95);
    backdrop-filter: blur(20px);
    border-radius: 24px;
    border: 1px solid rgba(255,255,255,0.1);
    overflow: hidden;
    transform: scale(0.9) translateY(50px);
    transition: all 0.3s ease;
    box-shadow: 0 25px 50px rgba(0,0,0,0.5);
}

.warmup-modal.show .warmup-modal-content {
    transform: scale(1) translateY(0);
}

.warmup-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 30px;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    background: rgba(0,0,0,0.3);
}

.warmup-modal-header h3 {
    color: white;
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0;
}

.warmup-modal-close {
    background: none;
    border: none;
    color: white;
    font-size: 2rem;
    cursor: pointer;
    padding: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.3s ease;
}

.warmup-modal-close:hover {
    background: rgba(255,255,255,0.1);
    transform: rotate(90deg);
}

.warmup-modal-body {
    max-height: calc(90vh - 80px);
    overflow-y: auto;
}

.warmup-hero-section {
    height: 300px;
    background-size: cover;
    background-position: center;
    position: relative;
    display: flex;
    align-items: flex-end;
}

.warmup-hero-image {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.warmup-hero-image::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(0,0,0,0.4) 0%, rgba(0,0,0,0.7) 100%);
}

.warmup-hero-content {
    position: relative;
    z-index: 2;
    padding: 30px;
    width: 100%;
}

.warmup-meta-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

.warmup-category-header {
    background: rgba(var(--base-skin-rgb), 0.9);
    color: white;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: 1px solid rgba(255,255,255,0.2);
}

.warmup-date-header {
    color: rgba(255,255,255,0.8);
    font-size: 0.9rem;
    font-weight: 500;
}

.warmup-hero-content h2 {
    color: white;
    font-size: 2.2rem;
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 20px;
    text-shadow: 0 2px 10px rgba(0,0,0,0.5);
}

.warmup-author-header {
    display: flex;
    align-items: center;
    gap: 12px;
}

.author-avatar-header {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--base-skin), #ef4444);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 700;
    font-size: 1rem;
    border: 2px solid rgba(255,255,255,0.3);
    text-shadow: 0 1px 3px rgba(0,0,0,0.5);
}

.author-name-header {
    color: white;
    font-size: 1rem;
    font-weight: 600;
    text-shadow: 0 1px 3px rgba(0,0,0,0.5);
}

.warmup-content-section {
    padding: 40px 30px;
}

.warmup-article-content {
    color: rgba(255,255,255,0.9);
    font-size: 1rem;
    line-height: 1.7;
}

.warmup-article-content h1 {
    color: white;
    font-size: 2rem;
    font-weight: 800;
    margin: 30px 0 20px 0;
    border-bottom: 2px solid var(--base-skin);
    padding-bottom: 10px;
}

.warmup-article-content h2 {
    color: white;
    font-size: 1.6rem;
    font-weight: 700;
    margin: 25px 0 15px 0;
    color: var(--base-skin);
}

.warmup-article-content h3 {
    color: white;
    font-size: 1.3rem;
    font-weight: 600;
    margin: 20px 0 12px 0;
}

.warmup-article-content p {
    margin-bottom: 15px;
    text-align: justify;
}

.warmup-article-content strong {
    color: var(--base-skin);
    font-weight: 700;
}

.warmup-article-content em {
    color: rgba(255,255,255,0.8);
    font-style: italic;
}

.warmup-article-content ul {
    margin: 15px 0;
    padding-left: 25px;
}

.warmup-article-content li {
    margin-bottom: 8px;
    position: relative;
}

.warmup-article-content li::marker {
    color: var(--base-skin);
}

/* Responsive Modal */
@media (max-width: 768px) {
    .warmup-modal-content {
        margin: 2vh auto;
        max-height: 96vh;
        border-radius: 16px;
    }
    
    .warmup-modal-header {
        padding: 15px 20px;
    }
    
    .warmup-modal-header h3 {
        font-size: 1.2rem;
    }
    
    .warmup-hero-section {
        height: 250px;
    }
    
    .warmup-hero-content {
        padding: 20px;
    }
    
    .warmup-hero-content h2 {
        font-size: 1.8rem;
    }
    
    .warmup-content-section {
        padding: 25px 20px;
    }
    
    .warmup-article-content h1 {
        font-size: 1.6rem;
    }
    
    .warmup-article-content h2 {
        font-size: 1.4rem;
    }
}

/* Loading States */
.warmup-card.loading {
    pointer-events: none;
}

.warmup-image.skeleton {
    background: linear-gradient(90deg, rgba(255,255,255,0.05) 25%, rgba(255,255,255,0.1) 50%, rgba(255,255,255,0.05) 75%);
    background-size: 200% 100%;
    animation: loading 1.5s infinite;
}

.author-avatar.skeleton {
    background: linear-gradient(90deg, rgba(255,255,255,0.05) 25%, rgba(255,255,255,0.1) 50%, rgba(255,255,255,0.05) 75%);
    background-size: 200% 100%;
    animation: loading 1.5s infinite;
}

/* Responsive */
@media (max-width: 992px) {
    .warmup-section {
        padding: 60px 0;
    }
    
    .warmup-grid {
        grid-template-columns: 1fr 1fr;
        gap: 25px;
    }
    
    .warmup-card.featured {
        grid-column: span 2;
        grid-row: span 1;
    }
    
    .warmup-card.featured .warmup-image {
        height: 250px;
    }
}

@media (max-width: 768px) {
    .warmup-section {
        padding: 40px 0;
    }
    
    .warmup-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .warmup-card.featured {
        grid-column: span 1;
        grid-row: span 1;
    }
    
    .warmup-card.featured .warmup-image {
        height: 200px;
    }
    
    .warmup-content {
        padding: 20px;
    }
    
    .warmup-card.featured .warmup-content {
        padding: 25px;
    }
    
    .warmup-title {
        font-size: 1.2rem;
    }
    
    .warmup-card.featured .warmup-title {
        font-size: 1.4rem;
    }
}

/* Sección FPS */
.fps-section {
    padding: 80px 0;
    position: relative;
}

.fps-logo-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.fps-logo-container img {
    height: 80px;
    width: auto;
    filter: brightness(0) invert(1);
    transition: all 0.3s ease;
}

.fps-logo-container h2 {
    margin: 0;
    color: white !important;
}

.fps-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grid4" width="30" height="30" patternUnits="userSpaceOnUse"><path d="M 30 0 L 0 0 0 30" fill="none" stroke="rgba(255,255,255,0.02)" stroke-width="1"/></pattern></defs><rect width="100" height="100" fill="url(%23grid4)" /></svg>');
    opacity: 0.3;
}

.fps-intro-card {
    background: rgba(255,255,255,0.05);
    backdrop-filter: blur(15px);
    border-radius: 20px;
    border: 1px solid rgba(255,255,255,0.1);
    padding: 40px;
    margin-bottom: 30px;
    position: relative;
    z-index: 2;
    transition: all 0.3s ease;
}

.fps-intro-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.3);
    background: rgba(255,255,255,0.08);
}

.fps-question {
    color: var(--base-skin);
    font-size: 1.8rem;
    font-weight: 800;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    position: relative;
}

.fps-question::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 60px;
    height: 3px;
    background: linear-gradient(135deg, var(--base-skin), #ef4444);
    border-radius: 2px;
}

.fps-answer {
    color: rgba(255,255,255,0.9);
    font-size: 1.1rem;
    line-height: 1.7;
}

.fps-answer p {
    margin-bottom: 15px;
}

.fps-answer p:last-child {
    margin-bottom: 0;
}

.fps-answer strong {
    color: var(--base-skin);
    font-weight: 700;
}

.fps-faq-card {
    background: rgba(255,255,255,0.03);
    backdrop-filter: blur(10px);
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,0.08);
    padding: 30px;
    margin-bottom: 25px;
    position: relative;
    z-index: 2;
    transition: all 0.3s ease;
    height: 100%;
}

.fps-faq-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 30px rgba(0,0,0,0.2);
    background: rgba(255,255,255,0.06);
    border-color: rgba(255,255,255,0.15);
}

.fps-question-small {
    color: var(--base-skin);
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 15px;
    line-height: 1.3;
}

.fps-answer-small {
    color: rgba(255,255,255,0.85);
    font-size: 1rem;
    line-height: 1.6;
}

.fps-answer-small p {
    margin-bottom: 12px;
}

.fps-answer-small p:last-child {
    margin-bottom: 0;
}

.fps-answer-small strong {
    color: var(--base-skin);
    font-weight: 700;
    background: rgba(220, 38, 38, 0.1);
    padding: 2px 6px;
    border-radius: 4px;
}

.fps-strategy-section,
.fps-future-section {
    background: rgba(255,255,255,0.04);
    backdrop-filter: blur(15px);
    border-radius: 20px;
    border: 1px solid rgba(255,255,255,0.1);
    padding: 40px;
    position: relative;
    z-index: 2;
}

.fps-section-title {
    color: white;
    font-size: 2rem;
    font-weight: 800;
    margin-bottom: 30px;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 1px;
    position: relative;
}

.fps-section-title::after {
    content: '';
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    background: linear-gradient(135deg, var(--base-skin), #ef4444);
    border-radius: 2px;
}

.fps-strategy-card {
    background: rgba(255,255,255,0.02);
    border-radius: 12px;
    padding: 25px;
    border: 1px solid rgba(255,255,255,0.05);
}

.fps-future-content {
    color: rgba(255,255,255,0.9);
    font-size: 1.1rem;
    line-height: 1.7;
    text-align: center;
}

.fps-future-content p {
    margin-bottom: 20px;
}

.fps-future-content p:last-child {
    margin-bottom: 0;
}

/* Responsive FPS */
@media (max-width: 992px) {
    .fps-section {
        padding: 60px 0;
    }
    
    .fps-intro-card,
    .fps-strategy-section,
    .fps-future-section {
        padding: 30px;
    }
    
    .fps-question {
        font-size: 1.5rem;
    }
    
    .fps-section-title {
        font-size: 1.7rem;
    }
    
    .fps-faq-card {
        padding: 25px;
        margin-bottom: 20px;
    }
}

@media (max-width: 768px) {
    .fps-section {
        padding: 40px 0;
    }
    
    .fps-logo-container {
        gap: 15px;
        flex-direction: column;
        text-align: center;
    }
    
    .fps-logo-container img {
        height: 60px;
    }
    
    .fps-intro-card,
    .fps-strategy-section,
    .fps-future-section {
        padding: 25px;
    }
    
    .fps-question {
        font-size: 1.3rem;
        margin-bottom: 15px;
    }
    
    .fps-section-title {
        font-size: 1.5rem;
        margin-bottom: 25px;
    }
    
    .fps-question-small {
        font-size: 1.1rem;
        margin-bottom: 12px;
    }
    
    .fps-answer,
    .fps-future-content {
        font-size: 1rem;
    }
    
    .fps-answer-small {
        font-size: 0.95rem;
    }
    
    .fps-faq-card {
        padding: 20px;
        margin-bottom: 15px;
    }
}

/* Modal de Video YouTube */
.video-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.video-modal.show {
    opacity: 1;
    visibility: visible;
}

.video-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.video-modal-content {
    position: relative;
    width: 90%;
    max-width: 1200px;
    background: rgba(20, 20, 30, 0.95);
    backdrop-filter: blur(20px);
    border-radius: 20px;
    border: 1px solid rgba(255,255,255,0.1);
    overflow: hidden;
    transform: scale(0.8);
    transition: transform 0.3s ease;
    box-shadow: 0 25px 50px rgba(0,0,0,0.5);
}

.video-modal.show .video-modal-content {
    transform: scale(1);
}

.video-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 30px;
    background: rgba(255,255,255,0.05);
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

.video-modal-header h3 {
    color: white;
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.video-modal-close {
    background: none;
    border: none;
    color: white;
    font-size: 2rem;
    cursor: pointer;
    padding: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.3s ease;
    line-height: 1;
}

.video-modal-close:hover {
    background: rgba(255,255,255,0.1);
    color: var(--base-skin);
    transform: rotate(90deg);
}

.video-modal-body {
    padding: 0;
}

.video-container {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%; /* 16:9 aspect ratio */
    overflow: hidden;
}

.video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

/* Responsive Video Modal */
@media (max-width: 992px) {
    .video-modal-content {
        width: 95%;
        max-width: none;
    }
    
    .video-modal-header {
        padding: 15px 20px;
    }
    
    .video-modal-header h3 {
        font-size: 1.3rem;
    }
    
    .video-modal-close {
        width: 35px;
        height: 35px;
        font-size: 1.8rem;
    }
}

@media (max-width: 768px) {
    .video-modal-content {
        width: 98%;
        border-radius: 15px;
    }
    
    .video-modal-header {
        padding: 12px 15px;
    }
    
    .video-modal-header h3 {
        font-size: 1.1rem;
    }
    
    .video-modal-close {
        width: 30px;
        height: 30px;
        font-size: 1.5rem;
    }
    
    .video-container {
        padding-bottom: 62.5%; /* Slightly taller on mobile for better viewing */
    }
}

@media (max-width: 480px) {
    .video-modal-content {
        width: 100%;
        height: 100%;
        border-radius: 0;
        max-width: none;
    }
    
    .video-container {
        height: 100%;
        padding-bottom: 0;
    }
    
    .video-modal-body {
        height: calc(100vh - 60px);
    }
    
    .video-container iframe {
        height: 100%;
    }
}

/* Modal de Circuitos */
.circuit-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.circuit-modal.show {
    opacity: 1;
    visibility: visible;
}

.circuit-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.circuit-modal-content {
    position: relative;
    width: 90%;
    max-width: 1000px;
    max-height: 90vh;
    background: rgba(20, 20, 30, 0.95);
    backdrop-filter: blur(20px);
    border-radius: 20px;
    border: 1px solid rgba(255,255,255,0.1);
    overflow: hidden;
    transform: scale(0.8);
    transition: transform 0.3s ease;
    box-shadow: 0 25px 50px rgba(0,0,0,0.5);
}

.circuit-modal.show .circuit-modal-content {
    transform: scale(1);
}

.circuit-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 30px;
    background: rgba(255,255,255,0.05);
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

.circuit-modal-header h3 {
    color: white;
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.circuit-modal-close {
    background: none;
    border: none;
    color: white;
    font-size: 2rem;
    cursor: pointer;
    padding: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.3s ease;
    line-height: 1;
}

.circuit-modal-close:hover {
    background: rgba(255,255,255,0.1);
    color: var(--base-skin);
    transform: rotate(90deg);
}

.circuit-modal-body {
    max-height: calc(90vh - 80px);
    overflow-y: auto;
}

.circuit-hero-section {
    position: relative;
    height: 300px;
    overflow: hidden;
}

.circuit-hero-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.circuit-hero-image::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, var(--base-skin) 0%, rgba(220, 38, 38, 0.8) 100%);
    opacity: 0.8;
}

.circuit-hero-content {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 40px;
}

.circuit-hero-content h2 {
    color: white;
    font-size: 2.5rem;
    font-weight: 800;
    margin: 0 0 15px 0;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-shadow: 0 2px 10px rgba(0,0,0,0.5);
}

.circuit-specs-header {
    color: rgba(255,255,255,0.9);
    font-size: 1.1rem;
    font-weight: 600;
    background: rgba(0,0,0,0.3);
    padding: 12px 20px;
    border-radius: 25px;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.2);
}

.circuit-details-section {
    padding: 40px;
}

.circuit-description {
    color: rgba(255,255,255,0.9);
    font-size: 1.15rem;
    line-height: 1.7;
    margin-bottom: 40px;
    text-align: center;
}

.circuit-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
}

.circuit-stat-item {
    background: rgba(255,255,255,0.05);
    backdrop-filter: blur(10px);
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,0.1);
    padding: 20px;
    text-align: center;
    transition: all 0.3s ease;
}

.circuit-stat-item:hover {
    transform: translateY(-3px);
    background: rgba(255,255,255,0.08);
    border-color: rgba(255,255,255,0.2);
}

.stat-label {
    color: rgba(255,255,255,0.7);
    font-size: 0.9rem;
    font-weight: 500;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.stat-value {
    color: var(--base-skin);
    font-size: 1.3rem;
    font-weight: 800;
    line-height: 1.2;
}

/* Responsive Circuit Modal */
@media (max-width: 992px) {
    .circuit-modal-content {
        width: 95%;
        max-width: none;
    }
    
    .circuit-modal-header {
        padding: 15px 20px;
    }
    
    .circuit-modal-header h3 {
        font-size: 1.3rem;
    }
    
    .circuit-modal-close {
        width: 35px;
        height: 35px;
        font-size: 1.8rem;
    }
    
    .circuit-hero-section {
        height: 250px;
    }
    
    .circuit-hero-content h2 {
        font-size: 2rem;
    }
    
    .circuit-details-section {
        padding: 30px;
    }
    
    .circuit-stats-grid {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
        gap: 15px;
    }
}

@media (max-width: 768px) {
    .circuit-modal-content {
        width: 98%;
        border-radius: 15px;
    }
    
    .circuit-modal-header {
        padding: 12px 15px;
    }
    
    .circuit-modal-header h3 {
        font-size: 1.1rem;
    }
    
    .circuit-modal-close {
        width: 30px;
        height: 30px;
        font-size: 1.5rem;
    }
    
    .circuit-hero-section {
        height: 200px;
    }
    
    .circuit-hero-content {
        padding: 20px;
    }
    
    .circuit-hero-content h2 {
        font-size: 1.5rem;
        margin-bottom: 10px;
    }
    
    .circuit-specs-header {
        font-size: 0.9rem;
        padding: 8px 15px;
    }
    
    .circuit-details-section {
        padding: 20px;
    }
    
    .circuit-description {
        font-size: 1rem;
        margin-bottom: 30px;
    }
    
    .circuit-stats-grid {
        grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
        gap: 12px;
    }
    
    .circuit-stat-item {
        padding: 15px;
    }
    
    .stat-value {
        font-size: 1.1rem;
    }
}

@media (max-width: 480px) {
    .circuit-modal-content {
        width: 100%;
        height: 100%;
        border-radius: 0;
        max-width: none;
        max-height: none;
    }
    
    .circuit-modal-body {
        max-height: calc(100vh - 60px);
    }
    
    .circuit-hero-content h2 {
        font-size: 1.3rem;
    }
    
    .circuit-specs-header {
        font-size: 0.8rem;
    }
    
    .circuit-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Estilos para las secciones del Alpine A110 Cup */
.alpine-passion-section .alpine-intro-text {
    animation: fadeInUp 1s ease-out 0.5s both;
}

.alpine-tech-section {
    position: relative;
    padding: 100px 0;
}

.alpine-tech-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grid4" width="30" height="30" patternUnits="userSpaceOnUse"><path d="M 30 0 L 0 0 0 30" fill="none" stroke="rgba(255,255,255,0.02)" stroke-width="1"/></pattern></defs><rect width="100" height="100" fill="url(%23grid4)" /></svg>');
    opacity: 0.5;
    z-index: 1;
}

.alpine-tech-section .container {
    position: relative;
    z-index: 2;
}

/* ===== DISEÑO COMPLETAMENTE NUEVO PARA ALPINE CARDS ===== */

.alpine-feature-box {
    background: linear-gradient(145deg, #1a1a1a 0%, #2d2d2d 100%);
    border: 2px solid transparent;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
    height: 100%;
    min-height: 520px;
    transition: all 0.4s ease;
    box-shadow: 
        0 8px 32px rgba(0, 0, 0, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.alpine-feature-box::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(145deg, 
        rgba(220, 53, 69, 0.1) 0%, 
        transparent 50%, 
        rgba(220, 53, 69, 0.05) 100%);
    border-radius: 18px;
    z-index: 1;
}

.alpine-feature-box:hover {
    transform: translateY(-12px) scale(1.02);
    border-color: rgba(220, 53, 69, 0.4);
    box-shadow: 
        0 20px 60px rgba(0, 0, 0, 0.4),
        0 0 40px rgba(220, 53, 69, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.alpine-feature-box .featured-thumbnail {
    height: 220px;
    position: relative;
    overflow: hidden;
    border-radius: 18px 18px 0 0;
    z-index: 2;
}

.alpine-feature-box .featured-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.alpine-feature-box:hover .featured-thumbnail img {
    transform: scale(1.1);
}

.alpine-tech-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(
        135deg, 
        rgba(0,0,0,0.05) 0%, 
        rgba(0,0,0,0.1) 50%,
        rgba(0,0,0,0.2) 100%
    );
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    padding: 20px;
    z-index: 3;
}

.tech-stats {
    background: linear-gradient(135deg, 
        rgba(220, 53, 69, 0.95) 0%, 
        rgba(220, 53, 69, 0.85) 100%);
    color: white;
    padding: 12px 18px;
    border-radius: 15px;
    text-align: center;
    box-shadow: 
        0 8px 25px rgba(220, 53, 69, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.3);
    min-width: 100px;
}

.stat-highlight {
    display: block;
    font-size: 1.3rem;
    font-weight: 800;
    letter-spacing: 0.5px;
    line-height: 1.2;
}

.stat-detail {
    display: block;
    font-size: 0.75rem;
    opacity: 0.95;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: 2px;
    font-weight: 600;
}

.alpine-feature-box .featured-content {
    padding: 30px 25px 25px;
    position: relative;
    z-index: 2;
    height: calc(100% - 220px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.alpine-feature-box .featured-title h3 {
    color: #ffffff;
    font-size: 1.4rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    text-align: center;
    margin-bottom: 20px;
    line-height: 1.3;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.alpine-feature-box .featured-desc {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    margin-bottom: 25px;
}

.alpine-feature-box .featured-desc p {
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.95rem;
    line-height: 1.6;
    margin-bottom: 12px;
    font-weight: 400;
}

.alpine-feature-box .featured-desc p:last-of-type {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.9rem;
    line-height: 1.5;
    margin-bottom: 0;
}

.alpine-feature-box .featured-desc p strong {
    color: #dc3545;
    font-weight: 700;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.alpine-tech-badge {
    background: linear-gradient(135deg, #dc3545 0%, #c82333 100%);
    color: white;
    padding: 14px 28px;
    border-radius: 25px;
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-align: center;
    border: 2px solid rgba(255, 255, 255, 0.2);
    box-shadow: 
        0 6px 20px rgba(220, 53, 69, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
    transition: all 0.3s ease;
    cursor: pointer;
    position: relative;
    overflow: hidden;
}

.alpine-tech-badge::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, 
        transparent 0%, 
        rgba(255, 255, 255, 0.2) 50%, 
        transparent 100%);
    transition: left 0.5s ease;
}

.alpine-tech-badge:hover {
    transform: translateY(-3px);
    box-shadow: 
        0 10px 30px rgba(220, 53, 69, 0.6),
        inset 0 1px 0 rgba(255, 255, 255, 0.3);
    border-color: rgba(255, 255, 255, 0.4);
}

.alpine-tech-badge:hover::before {
    left: 100%;
}

/* Responsive */
@media (max-width: 768px) {
    .alpine-feature-box {
        min-height: 480px;
        margin-bottom: 30px;
    }
    
    .alpine-feature-box .featured-thumbnail {
        height: 180px;
    }
    
    .alpine-feature-box .featured-content {
        padding: 25px 20px 20px;
        height: calc(100% - 180px);
    }
    
    .alpine-feature-box .featured-title h3 {
        font-size: 1.2rem;
    }
    
    .tech-stats {
        padding: 10px 14px;
        min-width: 80px;
    }
    
    .stat-highlight {
        font-size: 1.1rem;
    }
    
    .alpine-tech-badge {
        padding: 12px 24px;
        font-size: 0.85rem;
    }
}

.alpine-tech-icon .tech-icon-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 120px;
    background: linear-gradient(135deg, rgba(255,107,53,0.2) 0%, rgba(255,107,53,0.1) 100%);
    border-radius: 12px;
    transition: transform 0.3s ease;
    border: 1px solid rgba(255,107,53,0.2);
}

.alpine-tech-image {
    position: relative;
    overflow: hidden;
    border-radius: 15px;
    height: 250px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    transition: all 0.3s ease;
    margin-bottom: 25px;
}

.alpine-tech-image:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 40px rgba(0,0,0,0.4);
}

.alpine-tech-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.alpine-tech-image:hover img {
    transform: scale(1.05);
}

.alpine-tech-overlay {
    position: absolute;
    top: 20px;
    right: 20px;
    background: rgba(var(--base-skin-rgb), 0.9);
    border-radius: 12px;
    padding: 12px 16px;
    border: 1px solid rgba(255,255,255,0.2);
}

.tech-stats {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.stat-highlight {
    color: white;
    font-size: 1.2rem;
    font-weight: 800;
    line-height: 1;
}

.stat-detail {
    color: rgba(255,255,255,0.9);
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Alpine Experience Grid */
.alpine-experience-grid {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.alpine-experience-card {
    background: rgba(255,255,255,0.05);
    border-radius: 20px;
    padding: 25px;
    border: 1px solid rgba(255,255,255,0.1);
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
}

.alpine-experience-card:hover {
    background: rgba(255,255,255,0.08);
    transform: translateY(-3px);
    box-shadow: 0 15px 40px rgba(0,0,0,0.3);
}

.experience-header {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 20px;
}

.experience-icon {
    width: 60px;
    height: 60px;
    background: rgba(var(--base-skin-rgb), 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid rgba(var(--base-skin-rgb), 0.3);
    flex-shrink: 0;
}

.experience-icon i {
    font-size: 2rem;
    color: var(--base-skin);
}

.experience-title h4 {
    color: white;
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 5px;
    line-height: 1.2;
}

.experience-title span {
    color: rgba(255,255,255,0.7);
    font-size: 0.9rem;
    font-weight: 500;
}

.alpine-experience-card p {
    color: rgba(255,255,255,0.85);
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 20px;
}

.experience-rating {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.experience-rating span {
    color: rgba(255,255,255,0.8);
    font-size: 0.9rem;
    font-weight: 600;
    white-space: nowrap;
}

.experience-rating .rating-bar {
    flex: 1;
    height: 8px;
    background: rgba(255,255,255,0.1);
    border-radius: 4px;
    overflow: hidden;
    position: relative;
}

.experience-rating .rating-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--base-skin) 0%, #ff6b35 100%);
    border-radius: 4px;
    transition: width 0.8s ease;
}

/* Racing Icon Box */
.racing-icon-box {
    height: 200px;
    background: linear-gradient(135deg, rgba(var(--base-skin-rgb), 0.1) 0%, rgba(var(--base-skin-rgb), 0.05) 100%);
    border-radius: 15px;
    border: 1px solid rgba(var(--base-skin-rgb), 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.racing-icon-box::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background: radial-gradient(circle, rgba(var(--base-skin-rgb), 0.2) 0%, transparent 70%);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: all 0.5s ease;
}

.racing-icon-box:hover::before {
    width: 200px;
    height: 200px;
}

.racing-icon-box:hover {
    background: linear-gradient(135deg, rgba(var(--base-skin-rgb), 0.15) 0%, rgba(var(--base-skin-rgb), 0.08) 100%);
    border-color: rgba(var(--base-skin-rgb), 0.4);
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0,0,0,0.2);
}

.racing-icon-wrapper {
    position: relative;
    z-index: 2;
    transition: transform 0.3s ease;
}

.racing-icon-box:hover .racing-icon-wrapper {
    transform: scale(1.1);
}

/* FAQ Accordion Mejorado */
.fps-faq-accordion {
    max-width: 900px;
    margin: 0 auto;
}

.fps-faq-item {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 15px;
    margin-bottom: 15px;
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
    overflow: hidden;
}

.fps-faq-item:hover {
    background: rgba(255,255,255,0.08);
    border-color: rgba(var(--base-skin-rgb), 0.3);
}

.fps-faq-item.active {
    background: rgba(255,255,255,0.08);
    border-color: rgba(var(--base-skin-rgb), 0.4);
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}

.fps-faq-header {
    padding: 25px 30px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all 0.3s ease;
    user-select: none;
}

.fps-faq-header:hover {
    background: rgba(255,255,255,0.05);
}

.fps-faq-header h4 {
    color: white;
    font-size: 1.2rem;
    font-weight: 600;
    margin: 0;
    flex: 1;
}

.fps-faq-header i {
    color: var(--base-skin);
    font-size: 1.2rem;
    transition: transform 0.3s ease;
    margin-left: 20px;
}

.fps-faq-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
    background: rgba(0,0,0,0.2);
}

.fps-faq-content p {
    color: rgba(255,255,255,0.9);
    line-height: 1.6;
    margin: 0;
    padding: 25px 30px;
}

.fps-faq-content strong {
    color: var(--base-skin);
    font-weight: 700;
}

/* Grid de puntos para la pregunta de puntuación */
.fps-points-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
    margin: 20px 0;
    padding: 0 30px;
}

.point-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px 20px;
    border-radius: 12px;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.1);
    transition: transform 0.2s ease;
}

.point-item:hover {
    transform: translateY(-2px);
}

.point-item.positive {
    background: rgba(34, 197, 94, 0.1);
    border-color: rgba(34, 197, 94, 0.3);
}

.point-item.negative {
    background: rgba(239, 68, 68, 0.1);
    border-color: rgba(239, 68, 68, 0.3);
}

.point-icon {
    font-size: 1.8rem;
    font-weight: 800;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.point-item.positive .point-icon {
    background: rgba(34, 197, 94, 0.2);
    color: #22c55e;
    border: 2px solid rgba(34, 197, 94, 0.4);
}

.point-item.negative .point-icon {
    background: rgba(239, 68, 68, 0.2);
    color: #ef4444;
    border: 2px solid rgba(239, 68, 68, 0.4);
}

.point-text {
    color: rgba(255,255,255,0.9);
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1.4;
}

/* Estilos para textos en las cajas técnicas sobre fondo oscuro */
.alpine-tech-section .featured-content h3 {
    color: white !important;
    font-weight: 700;
}

.alpine-tech-section .featured-desc p {
    color: rgba(255,255,255,0.8) !important;
}

.alpine-tech-section .featured-desc p strong {
    color: var(--base-skin) !important;
}

.alpine-feature-box:hover .tech-icon-wrapper {
    transform: scale(1.1);
}

.alpine-tech-badge {
    margin-top: 15px;
}

.alpine-tech-badge span {
    background: linear-gradient(135deg, var(--base-skin) 0%, #dc2626 100%);
    color: white;
    padding: 6px 16px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: inline-block;
    box-shadow: 0 4px 12px rgba(255,107,53,0.3);
}

.alpine-main-image {
    position: relative;
    overflow: hidden;
    border-radius: 15px;
}

.alpine-overlay-stats {
    position: absolute;
    top: 20px;
    right: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.stat-item-overlay {
    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(10px);
    padding: 12px 18px;
    border-radius: 12px;
    text-align: center;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.stat-item-overlay .stat-number {
    display: block;
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--base-skin);
    line-height: 1;
}

.stat-item-overlay .stat-label {
    font-size: 0.7rem;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 600;
}

.alpine-main-content {
    margin-top: 20px;
}

/* Sección de experiencia Alpine */
.alpine-experience-section {
    padding: 100px 0;
}

.alpine-experience-section .featured-content h3,
.alpine-experience-section .featured-title h3 {
    color: white !important;
}

.alpine-experience-section .featured-desc p {
    color: rgba(255,255,255,0.8) !important;
}

.alpine-heritage-box {
    background: rgba(255,107,53,0.05);
    padding: 25px;
    border-radius: 12px;
    border-left: 4px solid var(--base-skin);
}

.alpine-testimonial .alpine-avatar {
    background: linear-gradient(135deg, var(--base-skin) 0%, #dc2626 100%);
    border-radius: 50%;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.alpine-icon-avatar {
    color: white !important;
}

.alpine-rating {
    margin-top: 20px;
}

.rating-label {
    font-size: 0.8rem;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
    display: block;
    margin-bottom: 8px;
}

.rating-bars {
    width: 100%;
}

.rating-bar {
    height: 6px;
    background: rgba(255,107,53,0.2);
    border-radius: 3px;
    overflow: hidden;
}

.rating-fill {
    height: 100%;
    background: linear-gradient(135deg, var(--base-skin) 0%, #dc2626 100%);
    border-radius: 3px;
    transition: width 0.8s ease;
}

/* Responsive */
@media (max-width: 768px) {
    .alpine-feature-box {
        padding: 20px;
        margin-bottom: 20px;
    }
    
    .alpine-tech-icon .tech-icon-wrapper {
        height: 80px;
    }
    
    .alpine-tech-image {
        height: 200px;
        margin-bottom: 20px;
    }
    
    .alpine-tech-overlay {
        top: 15px;
        right: 15px;
        padding: 10px 14px;
    }
    
    .stat-highlight {
        font-size: 1rem;
    }
    
    .experience-header {
        gap: 15px;
    }
    
    .experience-icon {
        width: 50px;
        height: 50px;
    }
    
    .experience-icon i {
        font-size: 1.6rem;
    }
    
    .experience-title h4 {
        font-size: 1.1rem;
    }
    
    .alpine-experience-card {
        padding: 20px;
    }
    
    /* FAQ Responsive */
    .fps-faq-header {
        padding: 20px 25px;
    }
    
    .fps-faq-header h4 {
        font-size: 1.1rem;
    }
    
    .fps-faq-content p {
        padding: 20px 25px;
        font-size: 0.95rem;
    }
    
    .fps-points-grid {
        grid-template-columns: 1fr;
        padding: 0 25px;
        gap: 12px;
    }
    
    .point-item {
        padding: 12px 15px;
    }
    
    .point-icon {
        width: 40px;
        height: 40px;
        font-size: 1.5rem;
    }
    
    .point-text {
        font-size: 0.9rem;
    }
    
    .alpine-overlay-stats {
        position: relative;
        top: 0;
        right: 0;
        flex-direction: row;
        justify-content: center;
        margin-top: 15px;
    }
    
    .alpine-heritage-box {
        padding: 20px;
        margin-top: 20px;
    }
    
    .alpine-testimonial .alpine-avatar {
        padding: 15px;
    }
}

/* Sección historia Alpine */
.alpine-history-section {
    padding: 100px 0;
    position: relative;
}

.alpine-history-card {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 20px;
    padding: 0;
    text-align: center;
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
    height: 100%;
    position: relative;
    overflow: hidden;
}

.history-image {
    width: 100%;
    height: 200px;
    overflow: hidden;
    border-radius: 20px 20px 0 0;
    position: relative;
}

.history-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.alpine-history-card:hover .history-image img {
    transform: scale(1.05);
}

.alpine-history-card .history-year,
.alpine-history-card .history-title,
.alpine-history-card .history-desc,
.alpine-history-card .history-stats {
    padding: 0 30px;
}

.alpine-history-card .history-year {
    padding-top: 25px;
}

.alpine-history-card .history-stats {
    padding-bottom: 30px;
}

.alpine-history-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(135deg, var(--base-skin) 0%, #dc2626 100%);
    transform: scaleX(0);
    transition: transform 0.3s ease;
}

.alpine-history-card:hover::before,
.alpine-history-card.active::before {
    transform: scaleX(1);
}

.alpine-history-card:hover,
.alpine-history-card.active {
    background: rgba(255,255,255,0.08);
    border-color: rgba(255,107,53,0.3);
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.3);
}

.history-year {
    font-size: 1.1rem;
    color: var(--base-skin);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 15px;
}

.history-title {
    font-size: 1.8rem;
    color: white;
    font-weight: 800;
    margin-bottom: 20px;
    line-height: 1.2;
}

.history-desc {
    color: rgba(255,255,255,0.8);
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 30px;
}

.history-stats {
    display: flex;
    justify-content: space-around;
    margin-top: 25px;
}

.history-stat {
    text-align: center;
}

.history-stat .stat-number {
    display: block;
    font-size: 2rem;
    font-weight: 800;
    color: var(--base-skin);
    line-height: 1;
    margin-bottom: 5px;
}

.history-stat .stat-label {
    font-size: 0.8rem;
    color: rgba(255,255,255,0.7);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
}

/* Sección técnica detallada */
.alpine-tech-detailed {
    background: rgba(255,255,255,0.03);
    border-radius: 20px;
    padding: 50px 40px;
    border: 1px solid rgba(255,255,255,0.1);
}

.tech-detail-group {
    margin-bottom: 40px;
}

.tech-detail-group h4 {
    color: white;
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 25px;
    border-bottom: 2px solid var(--base-skin);
    padding-bottom: 10px;
}

.tech-detail-grid {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.tech-detail-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 20px;
    background: rgba(255,255,255,0.05);
    border-radius: 8px;
    border-left: 3px solid transparent;
    transition: all 0.3s ease;
}

.tech-detail-item:hover {
    border-left-color: var(--base-skin);
    background: rgba(255,107,53,0.1);
}

.tech-label {
    color: rgba(255,255,255,0.8);
    font-weight: 600;
    font-size: 0.9rem;
}

.tech-value {
    color: white;
    font-weight: 700;
    font-size: 0.95rem;
}

/* Responsive para historia */
@media (max-width: 768px) {
    .alpine-history-card {
        padding: 30px 20px;
        margin-bottom: 30px;
    }
    
    .history-title {
        font-size: 1.5rem;
    }
    
    .history-stats {
        flex-direction: column;
        gap: 20px;
    }
    
    .alpine-tech-detailed {
        padding: 30px 20px;
    }
    
    .tech-detail-item {
        flex-direction: column;
        text-align: center;
        gap: 5px;
    }
    
    .tech-detail-group h4 {
        font-size: 1.2rem;
    }
}


/* Segundo grupo sticky (2 cards) */
#frame_1b,#frame_2b {
    position: sticky;
    top: 120px;
}
#frame_2b { top: 240px; }

/* services-style2 */
.featured-imagebox-services.style2 { 
    border-radius: 30px; 
    display: flex;
    justify-content: center;
    align-items: center;
}
.featured-imagebox-services.style2 .featured-thumbnail:before {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    display: block;
    content: '';
    width: 0;
    height: 0;
    height: calc(100% + 85px);
    background: rgba(255, 255, 255, .08);
    border-radius: 100%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    opacity: 0;
}
.featured-imagebox-services.style2 .featured-content {
    position: absolute;
    text-align: center;
    z-index: 11;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.featured-imagebox-services.style2 .featured-content .featured-title h3 {
    margin-bottom: 0px;
    font-weight: 500;
    display: inline-block;
    font-size: 34px;
    line-height: 47px;
    color: var(--base-white);
    text-transform: uppercase;
    position: relative;
    text-align: center;
}

/* pfbox Style1 */
.featured-imagebox-services-style3 { overflow: visible; }
.featured-imagebox-services-style3 .featured-content-inner .featured-title h3 a { color: var(--base-white); }
.featured-imagebox-services-style3 .featured-desc { width: 47%; padding: 0 50px 0 0; }
.featured-imagebox-services-style3 .featured-content-inner {
    cursor: pointer;
    padding: 20px 0 10px;
    transition: all 0.5s ease-out 0s;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10);
}
.featured-imagebox-services-style3:hover .featured-content-inner {
    background: var(--base-skin);
}
.featured-imagebox-services-style3 .featured-content-inner .featured-box-category a {
    color: var(--base-white);
    font-size: 15px;
    line-height: 27px;
    font-weight: 600;
}
.featured-imagebox-services-style3 .featured-content-inner .featured-title h3 {
    font-size: 42px;
    line-height: 52px;
    margin-bottom: 0;
    text-transform: uppercase;
}
.tm-animation-hover-img {
    position: absolute;
    opacity: 0;
    transform: translateX(100%) scale(0.4);
    z-index: 9;
    margin-top: -290px;
    margin-left: 265px;
}
.prt-tm-image-box {
    position: relative;
    overflow: hidden;
}
span.prt-item-thumbnail {
    position: static;
    overflow: hidden;
}
.tm-animation-hover-img .prt-item-thumbnail-inner img {
    border-radius: 0;
    border-radius: 25px;
    width: 278px;
    height: 298px;
    object-fit: cover;
}
.featured-imagebox-services-style3 .featured-iconbox {
    text-align: right;
    top: -40px;
    position: relative;
}
.featured-imagebox-services-style3 .featured-iconbox i {
    font-size: 45px;
    color: var(--base-white);
}
.featured-imagebox-services-style3:hover .featured-content-inner .featured-title h3 a {
    opacity: 0;
}
.services-box-marque:hover .marquee-block-style2 {
    background-color: var(--base-skin);

}




/* step style1 */
.services-step-box.style1 {
    padding: 20px 40px 20px 0px;
    position: relative;
} 
.services-step-box.style1 .alfabet-num {
    font-size: 108px;
    font-weight: 700;
    line-height: 122px;
    font-family: var(--base-headingfont);
    -webkit-text-stroke: 2px rgb(185 191 199 / 20%);
    white-space: nowrap;
    color: transparent;
}
.services-step-box.style1 .services-step-box-content h3 {
    font-size: 34px;
    font-weight: 500;
    line-height: 52px;
    margin: 20px 0;
    text-transform: uppercase;
}
.services-step-box.style1:after {
    content: "";
    right: 0px;
    height: 100%;
    position: absolute;
    top: 0;
    width: 1px;
    margin-right: 10px;
    border-right-width: 1px;
    border-right-color: #CEC9C1;
    border-right-style: solid;
}
.row > [class*='col-']:last-child >.services-step-box.style1:after{border-right-width: 0;}
.step-section .bottom-text {
    border: 1px solid #CEC9C1;
    padding: 15px 25px;
    align-items: center;
    border-radius: 30px;
    margin-top: 55px !important;
}
.step-section .bottom-text span {
    font-size: 17px;
    font-weight: 400;
    line-height: 28px;
    font-family: var(--base-bodyfont);
}
.step-section .bottom-text .prt-btn span {
    font-family: var(--base-headingfont);
    position: relative;
    top: -2px;
}


/* team-1 */
.featured-imagebox-team.style1 { 
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px;
    border-right: 1px solid #CEC9C1;
    border-bottom: 1px solid #CEC9C1;
    margin-top: -1px;
    margin-right: -2px;
    margin-bottom: 0;
    margin-left: 0;
    transition: all 0.5s ease;
    width: 100%;
    height: 100%;
}
.featured-imagebox-team.style1 .featured-thumbnail {
    overflow: hidden;
    border-radius: 10px;
    margin-left: 20px;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    position: relative;
}
.featured-imagebox-team.style1:hover .featured-thumbnail{ border-radius: 10px; }
.featured-imagebox-team.style1 .featured-content h3 {
    font-size: 24px;
    line-height: 34px;
    margin-bottom: 0;
}
.featured-imagebox-team.style1 .team-position {
    font-size: 17px;
    font-family: var(--base-bodyfont);
    font-weight: 400;
    color: var(--base-bodyfont-color);
    line-height: 28px;
    margin-bottom: 5px;
}
.row .col-md-6:nth-child(5) .featured-imagebox-team.style1 ,
.row .col-md-6:nth-child(6) .featured-imagebox-team.style1 {
    border-bottom: unset;
}
.row .col-md-6:nth-child(2) .featured-imagebox-team.style1 ,
.row .col-md-6:nth-child(4) .featured-imagebox-team.style1 ,
.row .col-md-6:nth-child(6) .featured-imagebox-team.style1 {
    border-right: unset;
}
.featured-imagebox-team.style1:hover { 
    background-color: var(--base-skin); 
    transition: all 0.5s ease;
}
.featured-imagebox-team.style1:hover .featured-content h3 a { color: var(--base-white); }

/* featued-images-event */
/* style1 */
.featured-imagebox-event.style1 {
    position: relative;
    background-color: var(--base-dark);
    border-radius: 30px;
}
.featured-imagebox-event.style1 .featured-title h3 {
    font-size: 28px;
    line-height: 40px;
    color: var(--base-white);
    text-transform: uppercase;
}
.featured-imagebox-event.style1 .featured-title h3 a:hover { color: var(--base-skin); }
.featured-imagebox-event.style1 .featured-desc { padding-top: 10px; }
.featured-imagebox-event.style1 .featured-desc p {
    color: #888;
    margin-bottom: 7px;
}
.featured-imagebox-event.style1 .featured-content {
}
.featured-imagebox-event.style1 .featured-thumbnail img {
}   
.featured-imagebox-event.style1 .featured-btn a:hover { color: var(--base-skin); }
.featured-imagebox-event.style1 .prt-btn:hover:before { background-color: var(--base-skin); }
.featured-imagebox-event.style1.content .featured-thumbnail img  {
    -moz-transform: scale(1);
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    -webkit-transition: all .6s ease-in-out;
    -moz-transition: all .6s ease-in-out;
    -ms-transition: all .6s ease-in-out;
    -o-transition: all .6s ease-in-out;
    margin-left: 0;
    width: auto;
    height: auto;
    padding-bottom: 15px;
    border-radius: 0; 
}
.featured-imagebox-event.style1.content .featured-content {
    margin-left: 0;
    padding: 40px 50px 43px 50px;
}
.featured-imagebox-event.style1.content .flag-right-img img {
    position: absolute;
    content: "";
    right: -70px;
    bottom: -90px;
}


.copy-text { position: relative; display: inline-flex; margin: 30px 0 8px 0; }
.copy-text p span{ 
    background: linear-gradient(45deg,var(--base-first-gradientcolor) ,var(--base-second-gradientcolor));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 700;
}
.copy-text-email { margin: 0;}
.copy-text p, .copy-text-email p {
    margin-bottom: 0;
    font-family: var(--base-headingfont);
    font-size: 24px;
    line-height: 34px;
    color: var(--base-dark);
    font-weight: 500;
}
.copy-text-email p {
    font-size: 17px;
    line-height: 27px;
    position: relative;
}
button.copytext {
    padding: 0;
    margin: 0 0 0 12px;
    font-size: 20px;
    cursor: pointer;
    color: rgba(0 0 0 / 0.5);
    background-color: transparent;
    border: none;
    outline: none;
}
.copy-text button:before {
    content: "Click To Copy";
    position: absolute;
    top: -35px;
    right: -39px;
    color: #fff;
    background: var(--base-dark);
    padding: 4px 10px 5px;
    border-radius: 10px;
    font-size: 12px;
    display: none;
}
.copy-text button:after {
    content: "";
    position: absolute;
    top: -10px;
    right: 5px;
    width: 10px;
    height: 10px;
    background: var(--base-dark);
    transform: rotate(45deg);
    display: none;
    z-index: -1;
}
.copy-text button:hover:before, .copy-text button:hover:after { opacity: 1; }
.copy-text button:before, .copy-text button:after {
    display: block;
    opacity: 0;
    transition: 0.2s ease;
}

/* ===============================================
    13.Progress-Bar
------------------------*/
.prt-progress-bar{ position: relative; }
.prt-progress-bar:not(:last-child){ margin-bottom: 20px; }
.prt-progress-bar .progressbar-title {
    display: block;
    margin-bottom: 14px;
    font-size: 17px;
    font-weight: 600;
    color: var(--base-dark);
    font-family: var(--base-headingfont);
    padding-left: 54px;
}
.prt-progress-bar .progress-bar-percent {
    background: none;
    position: absolute;
    left: 0;
    top: 0;
    font-size: 18px;
    font-weight: 600;
    color: var(--base-dark);
    z-index: 3;
    margin-top: -25px;
    text-shadow: none;
    text-align: center;
    overflow: visible;   
}
.prt-progress-bar .progress-bar {
    display: block;
    height: 7px;
    line-height: 3px;
    position: relative;
    background-color: var(--base-skin);
    overflow: visible;
}
.prt-progress-bar .progress-bar-inner{ 
    box-shadow: none;
    height: 7px;
    width: 100%;
    z-index: 1;
    background-color: var(--base-grey);
}
.bg-base-skin .prt-progress-bar .progress-bar-inner{
    background-color: rgba(0, 0, 0, 0.1);
}
.bg-base-dark .prt-progress-bar .progress-bar-inner { background-color: rgba(255,255,255,.1); }
.bg-base-grey .prt-progress-bar .progress-bar-inner { background-color: #fff;}

/* style1 */
.prt-progress-bar.style1 {
    margin-bottom: 10px;
}
.prt-progress-bar.style1 .progressbar-title {
    margin-bottom: 20px;
    font-size: 16px;
    font-weight: 600;
    line-height: 34px;
    padding-left: 0;
    color: var(--base-skin);
}
.prt-progress-bar.style1 .progress-bar-percent {
    background: transparent;
    color: var(--base-skin);
    content: '';
    right: 0px;
    left: auto;
    top: 0px;
    font-size: 16px;
    font-family: var(--base-headingfont);
}
.prt-progress-bar.style1 .progress-bar {
    height: 5px;
    bottom: 10px;
    border-radius: 15px;
}
.prt-progress-bar.style1 .progress-bar-inner{ 
    box-shadow: none;
    height: 5px;
    width: 100%;
    z-index: 1;
    background-color: #ecd8cd;
    border-radius: 15px;
}
.prt-progress-bar.style1 .progress-bar:before{content: unset;}


/* ===============================================
    14.Testimonial
------------------------*/
.testimonials {
    position: relative;
}
.testimonials .testimonial-caption h3 {
    font-size: 21px;
    line-height: 31px;
    display: block;
    margin-bottom: 0;

}
.testimonial-caption label {
    display: block;
    margin: 0; 
    font-size: 15px;
    line-height: 26px;
    margin-bottom: 4px;
    color: var(--base-skin);
}
.testimonials .testimonial-content blockquote{
    padding: 10px 25px;
    font-size: 20px;
    position: relative;
    line-height: 32px;
    font-style: italic;
    margin: 0;
}

/*testimonial style1*/
.testimonials.style1 { 
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    position: relative;
}
.testimonials.style1:before {
    content: "";
    position: absolute;
    width: 195px;
    height: 195px;
    left: -15px;
    border-radius: 50%;
    border: 1px solid rgba(255 , 255 , 255 , 0.10);; 
}
.testimonial-avatar.style1 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 auto;
    -ms-flex: 0 auto;
}
.testimonial-img {
    overflow: hidden;
    width: 195px;
    height: 195px;
    border-radius: 50%;
}
.testimonials.style1 .testimonial-caption { margin-top: 35px; }
.testimonials.style1 .testimonial-avatar:before {
    position: absolute;
    content: "\f10e";
    font-family: "Flaticon";
    left: 50px;
    bottom: auto;
    padding: 15px;
    color: var(--base-white);
    top: 60px;
    font-size: 30px;
    border-radius: 50%;
    background-color: var(--base-skin);
    height: 60px;
    width: 60px;
    -webkit-transition: all 0.5s ease 0s;
    -moz-transition: all 0.5s ease 0s;
    -ms-transition: all 0.5s ease 0s;
    -o-transition: all 0.5s ease 0s;
    transition: all 0.5s ease 0s;
}
.testimonials.style1 .testimonial-block-text {
    font-family: var(--base-headingfont);
    color: hsla(0, 0%, 100%, 0.59);
    font-size: 16px;
    line-height: 26px;
}
.testimonials.style1 .testimonial-content-p {
    margin-bottom: 0px;
    padding-bottom: 0px;
    color: var(--base-bodyfont-color);
    font-size: 18px;
    line-height: 28px;
    font-style: italic;
    font-weight: 400;
    white-space: normal;
}
.testimonials.style1 .testimonial-img img {
    height: auto;
    width: auto;
}
.testimonials.style1 .testimonial-caption label:after {
    position: absolute;
    content: '';
    width: 2px;
    height: 80%;
    background-color: #dadada;
    left: 0px;
    top: -2px;
    rotate: 25deg;
}
.testimonials.style1 .testimonial-caption h3 { 
    display: inline-block;
    padding-right: 10px;
    font-weight: 600;
    font-size: 24px;
    line-height: 34px;
}
.testimonials.style1 .testimonial-caption label {
    display: block;
    font-size: 18px;
    top: 10px;
    padding-left: 10px;
    line-height: 26px;
    color: var(--base-bodyfont-color);
}
.testimonials.style1 .testimonial-content { padding-left: 30px; font-family: var(--base-bodyfont); }
.testimonials.style1 .testimonial-content .testimonial-img img { border-radius: 50%; }
.testimonials.style1 .testimonial-avatar { display: inline-block; position: relative; padding-left: 70px; }
.testimonials.style1 .testimonial-caption h3 ,
.testimonials.style1 .testimonial-caption label { position: relative; }
.testimonials.style1 .testimonial-caption { position: relative; display: flex; }
.testimonials.style1 .testimonial-content blockquote {
    font-size: 28px;
    line-height: 38px;
    margin-bottom: 20px;
    padding: 25px 25px 10px;
    text-align: center;
    color: var(--base-dark);
    font-style: italic;
}

/* ===============================================
    15.Client-row  
------------------------*/
.client-box {
    overflow: hidden;
    position: relative;
    text-align: center;
}
.client-box .prt-client-logo-tooltip{ 
    margin-top: 15px; 
    margin-bottom: 0;
    overflow: hidden;
}
.client-box .prt-client-logo-tooltip,
.client-box .prt-client-logo-tooltip-inner{
    position: relative; 
}
.client-box:hover .client-thumbnail img {
    transition: all 0.5s ease;
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
}
.client-box img {
    display: block;
    margin: 0 auto;
    padding-top:5px;
}


/* ===============================================
    16.Accordion
------------------------*/
.wrap-acadion .accordion { margin-top: 15px; }
.accordion .toggle-title a{ 
    display: block;
    font-weight: 600;
    font-size: 18px;
    position: relative;
}
.accordion .toggle-title a i{ margin-right: 15px; }
.accordion .toggle-content {
    margin-top: 15px;
}
.accordion .toggle-content.show {
    display: block !important;
}
.accordion .toggle-content p:last-child {
    margin-bottom: 0;
}
.accordion .toggle .toggle-title a:after {
    position: absolute;
    font-family: "Font Awesome 5 Free";
    right: 20px;
    display: inline-block;
    content: "\f055";
    border-radius: 50%;
    font-size: 20px;
}
.accordion .toggle .toggle-title a.active:after {
    content: "\f056";
}
.accordion .alignleft{ margin: .15em 1.5em 1.1em 0; }


.accordion .toggle.prt-control-left-true .toggle-title a{ 
    padding-left: 40px;
}
.accordion .toggle.prt-control-left-true .toggle-title a:after{ 
    left: 20px;
}
.accordion .toggle.prt-control-left-true .toggle-title a { padding-left: 30px; }
.accordion .toggle.prt-control-left-true .toggle-title a:after{
    left: 0;
    border: 0;
    font-size: 10px;
    height: 18px;
    width: 18px;
    line-height: 18px;
    text-align: center;
}

/* prt-style-classic */
.accordion .toggle.prt-toggle_style_classic {
    border-bottom: 1px solid rgb(255 255 255 / 10%) !important;
}
.accordion .toggle.prt-toggle_style_classic:last-child{ margin-bottom: 0; }
.accordion .toggle.prt-toggle_style_classic .toggle-content{
    margin-top: 0;
}
.accordion .toggle.prt-toggle_style_classic .toggle-title a.active {
    color: var(--base-white);
}
.accordion .toggle.prt-toggle_style_classic .toggle-content span.highlight {
    background-color: var(--base-white);
    color: var(--base-secondary-skin);
    padding-left: 5px
}
.accordion .toggle.prt-toggle_style_classic .toggle-content {
    position: relative;
    font-size: 16px;
    margin-top: -15px;
}
.accordion .toggle.prt-toggle_style_classic.show {
    border: 1px solid var(--base-secondary-skin);
}
.accordion .toggle.prt-toggle_style_classic .toggle-title {
    overflow: hidden;
}
.accordion .toggle.prt-toggle_style_classic .toggle-title a {
    padding: 20px 0px 21px 50px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-transition: color 0s ease-in-out;
    -o-transition: color 0s ease-in-out;
    transition: color 0s ease-in-out;
    border: none;
    color: var(--base-white);
    display: block;
    font-weight: 500;
    font-size: 18px;
    line-height: 30px;
    position: relative;
    font-family: var(--base-headingfont);
}
.accordion .toggle.prt-toggle_style_classic .toggle-title a.active:after {
    font-family: 'themify';
    content: "\e646";
}
.accordion .toggle.prt-toggle_style_classic .toggle-title a:after {
    position: absolute;
    font-family: 'themify';
    left: 20px;
    top: 31px;
    display: inline-block;
    font-weight: bold;
    content: "\e61a";
    border-radius: 50%;
    font-size: 12px;
    line-height: 10px;
    color: var(--base-white);
    transition: all 0.3s ease 0s;
}
.accordion .toggle.prt-toggle_style_classic .toggle-title a.active:after{
    transition: all 0.3s ease 0s;
}
.accordion .toggle.prt-toggle_style_classic .toggle-content p.active {
    border-bottom: 1px solid var(--base-skin);
}
.accordion .toggle.prt-toggle_style_classic .toggle-content p {
    padding: 0px 0px 17px 50px;
}
.toggle .toggle-title.prt-toggle_style_classic a.active{ margin: -1px; }

/** Calculate chart **/
.table {
    width: 100%;
    margin-bottom: 0px;
    color: var(--base-headingfont);
    border-right: unset;
}
.table td, .table th {
    padding: 0px;
    vertical-align: top;
    border-top: 1px solid rgba(255 , 255 , 255 , 0.10);
    border: 1px solid rgba(255 , 255 , 255 , 0.10);
    background-color: var(--base-skin);
}
/* ===============================================
   weekly schedule timetable
------------------------*/
table {
    border: 1px solid var(--base-grey);
    width: 100%;
    margin-bottom: 20px;
    color:#29282d;
}
.time-zone-table1 .table td {
    vertical-align: middle;
    background-color: transparent;
}
/* .time-zone-table1 .table td:hover {
    background-color: var(--base-grey);
} */
.time-zone-table1 .table td .content-blank {
    background-color: transparent;
}
.time-zone-table1 .table th .classes-days {
    padding: 20px 30px;
    font-family: var(--base-headingfont);
    font-weight: 500;
    font-size: 24px;
    text-transform: uppercase;
    background-color: var(--base-skin);
    line-height: 34px;
    color: var(--base-white);
}
.time-zone-table1 .table th .classes-days.time {
    padding: 20px 53px;
}
.time-zone-table1 {
    border-radius: 30px;
}
.time-zone-table1 table tbody td:hover a {
    transform: none;
    -webkit-transition: none;
}
.time-zone-table1 .table td .content-data {
     padding: 25px 20px;
}
.time-zone-table1 .table td .content-data p {
    font-size: 17px;
    line-height: 27px;
    margin-bottom: 0;
    color: var(--base-white);
}
/* .time-zone-table1 table tbody td:hover a {
    color: #fff;
} */
.time-zone-table1 .table thead {
    background-color: #f8f7f8;
}
.time-zone-table1 .table td.hours {
    font-size: 24px;
    font-weight: 500;
    color: #ece9e4;
    background-color:transparent;
    font-family: var(--base-headingfont);
}
/* .time-zone-table1 .table td .content-data:hover{
    background-color: var(--skin-color);
} */
.time-zone-table1 .table thead {
    background-color: var(--skin-color);
}
.time-zone-table1 .content-data a {
    color: #0b0b0b;
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    font-family: var(--base-headingfont);
}
.time-zone-table1 table tbody td.active:hover .hover {
    visibility: visible;
    opacity: 1;
}
.time-zone-table1 table tbody td .content-data:hover {
    background-color: var(--base-skin);
    color:var(--base-white)
}
.time-zone-table1 table tbody td .hover {
    position: relative;
    text-align: center;
    height: 100%;
    top: 0%;
    z-index: 1;
    opacity: 1;
    visibility: visible;
}


/** listimg style1 **/
.elementor-widget-container {
    position: relative;
    -webkit-transition: background .3s,border .3s,border-radius .3s,-webkit-box-shadow .3s;
    transition: background .3s,border .3s,border-radius .3s,-webkit-box-shadow .3s;
    -o-transition: background .3s,border .3s,border-radius .3s,box-shadow .3s;
    transition: background .3s,border .3s,border-radius .3s,box-shadow .3s;
    transition: background .3s,border .3s,border-radius .3s,box-shadow .3s,-webkit-box-shadow .3s;
}
.prt_listimgbox_wrapper .prt_listimgbox_wrap {
    list-style-type: none;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    overflow: hidden;
    display: flex;
    background-color: var(--base-grey);
    padding: 28px 40px;
}
.prt_listimgbox_wrapper .award_picture {
    transition: .5s all;
    opacity: 0;
}
.prt_listimgbox_wrapper .prt_listimgbox_wrap.active .award_picture {
    transition: .5s all;
    opacity: 1;
}
.award_picture img {
    max-width: 100%;
    position: absolute;
    width: 447px;
    height: 398px;
    object-fit: cover;
    right: 0;
    left: auto;
    top: 0;
    bottom: 0;
    margin: auto;
    visibility: hidden;
    clip-path: polygon(50% 0,50% 0,50% 100%,50% 100%);
    transition: all .9s ease,transform .9s ease;
}
.prt_listimgbox_wrapper .prt_listimgbox_wrap .prt-box-title {
    width: 30%;
    margin-bottom: 0;
    margin-top: 31px;
    font-size: 21px;
}
.prt_listimgbox_wrapper .prt_listimgbox_wrap .prt-box-subtitle {
    margin-bottom: 6px;
    transition: all .3s ease;
    font-size: 17px;
    line-height: 30px;
}
.prt_listimgbox_wrapper .prt_listimgbox_list_content {
    margin: 25px 0 0;
    padding: 0;
}
.prt_listimgbox_wrapper .award_picture .overlay-bg {
    content: "";
    background: #dedeff;
    width: 447px;
    height: 398px;
    transform: rotate(0deg);
    position: absolute;
    right: 0;
    top: 98px;
    z-index: 0;
    transition: all .5s linear,transform 1s linear;
}
.prt_listimgbox_wrapper .prt_listimgbox_wrap:hover .prt-box-subtitle {
    background-size: 0 1px, 100% 1px;
}
.prt_listimgbox_wrapper .prt_listimgbox_wrap .prt-box-subtitle {
    background-image: linear-gradient(#000000, #000000), linear-gradient(#000000, var(--base-dark));
    display: inline;
    background-size: 0% 1px, 0 1px;
    background-position: 100% 100%, 0 100%;
    background-repeat: no-repeat;
    transition: background-size 0.4s linear;
}
.prt_listimgbox_wrapper .prt_listimgbox_wrap.active .award_picture .overlay-bg {
    transform: rotate(-8deg);
}
.prt_listimgbox_wrapper .prt_listimgbox_wrap.active .award_picture img {
    visibility: visible;
    clip-path: polygon(0 0,100% 0,100% 100%,0 100%);
    z-index: 1;
}
.prt_listimgbox_wrapper .prt_listimgbox_wrap.border_yes {
    border-top: 1px solid #d7d7f9;
}
.prt_listimgbox_wrapper .prt_listimgbox_wrap.border_yes:last-child {
    border-bottom: 1px solid #d7d7f9;
}

/* ===============================================
    17.Wrap-Form
------------------------*/
.wrap-form label{
    width: 100%;
    margin: 0;
}
.wrap-form span.text-input {
    margin-bottom: 20px;
    display: block;
    position: relative;
}
.wrap-form span.text-input > i {
    position: absolute;
    left: 10px;
    top: 21px;
    opacity: .9;
    font-size: 14px;
    z-index: 1;
}

/* form */
.prt-blog-classic-box-comment{
    padding: 40px 50px 50px;
    border-radius: 25px;
    border: 1px solid #e7e7e7;
}
.prt-blog-classic-box-comment h3.comment-reply-title{
    font-size: 28px;
    line-height: 38px;
    font-weight: 600;
}
.wrap-form.contact_form span.text-input i {
    position: absolute;
    left: 20px;
    top: 15px;
    font-size: 15px;
    z-index: 1;
    color: var(--base-skin);
}
.wrap-form.contact_form span.text-input input, 
.wrap-form.contact_form span.text-input textarea,
.wrap-form.contact_form span.text-input select {
    border-radius: 0;
    color: rgba(0,0,0,.60);
    border-color: transparent;
    border-radius: 35px;
    padding: 12px 30px;
    background-color: rgba(255, 255, 255, 0.80);
}
.wrap-form.contact_form span.text-input textarea { padding: 10px 30px;}

.prt-bgcolor-grey .wrap-form.contact_form span.text-input input, 
.prt-bgcolor-grey .wrap-form.contact_form span.text-input textarea,
.prt-bgcolor-grey .wrap-form.contact_form span.text-input select{
    background-color: #fff;
}
.prt-bgcolor-skincolor .wrap-form.contact_form span.text-input input, 
.prt-bgcolor-skincolor .wrap-form.contact_form span.text-input textarea,
.prt-bgcolor-skincolor .wrap-form.contact_form span.text-input select{
    background-color: transparent;
    border: 0;
    color: #fff;
    padding-left: 0;
    border-bottom: 2px solid rgba(255,255,255,.12);
}
.prt-bgcolor-skincolor .wrap-form.contact_form span.text-input input::-webkit-input-placeholder, 
.prt-bgcolor-skincolor .wrap-form.contact_form span.text-input textarea::-webkit-input-placeholder,
.prt-bgcolor-skincolor .wrap-form.contact_form span.text-input select::-webkit-input-placeholder {
    color: #fff;
}
.wrap-form.query_form span.text-input { margin: 0 0 30px; }
.wrap-form.query_form span.text-input input,
.wrap-form.query_form span.text-input select,
.wrap-form.query_form span.text-input textarea {
    border-radius: 50px;
    border: 1px solid #e7e7e7;
    background-color: transparent;
    color: #000;
    padding: 10px 20px;
    font-size: 15px;
}
.wrap-form.query_form span.text-input textarea{ border-radius: 25px; }
.wrap-form span.text-input input::-webkit-input-placeholder, 
.wrap-form span.text-input textarea::-webkit-input-placeholder,
.wrap-form span.text-input select::-webkit-input-placeholder {
    color: rgba(0, 0, 0, 0.50);
}
.wrap-form.query_form button.prt-btn{ width: 100%; }

/*style1*/
.wrap-form.query_form-1 span.text-input { margin: 0 0 20px; }
.wrap-form.query_form-1 span.text-input label{
    font-family: var(--base-headingfont);
    font-size: 18px;
    line-height: 19px;
    color: #000;
}
.wrap-form.query_form-1 span.text-input span.heading-name {
    font-size: 16px;
    color: var(--base-white);
    font-family: var(--base-headingfont);
    text-transform: uppercase;
}
.wrap-form.query_form-1 span.text-input input,
.wrap-form.query_form-1 span.text-input select,
.wrap-form.query_form-1 span.text-input textarea {
    border-radius: 35px;
    background-color: #272420;
    color: rgb(255 255 255 / 35%);
    padding: 18px 30px;
    font-size: 16px;
    margin-top: 11px;
}
.wrap-form.query_form-1 span.text-input input::-webkit-input-placeholder, 
.wrap-form.query_form-1 span.text-input textarea::-webkit-input-placeholder,
.wrap-form.query_form-1 span.text-input select::-webkit-input-placeholder,
.wrap-form.query_form-1 span.text-input select {
    color: rgb(255 255 255 / 35%);
}
.wrap-form.query_form-1 span.text-input select{ padding: 10px 15px 12px; }
.wrap-form.query_form-1 button.prt-btn{ width: 100%; margin-top: 5px; }
.wrap-form.query_form-1 span.text-input textarea { border-radius: 15px; }
.wrap-form.query_form-1 .select-type label{ 
    width: auto; 
    margin-left: 12px; 
    color: #000; 
    font-size: 16px !important;
    font-family: var(--base-bodyfont) !important; 
} 
.wrap-form.query_form-1 .select-type .input-select{
    border: 1px solid rgba(0 0 0 / 0.10);
    display: inline-flex;
    border-radius: 8px;
    color: rgba(0 0 0 / 0.55);
    font-size: 14px;
    padding: 12px 15px;
    margin: 0 10px 8px 0;
}
.wrap-form.query_form-1 span.text-input.select-type input{ border: 1px solid #000; padding: 0; }


/* ===============================================
    18.Tab
------------------------*/
.prt-tabs ul.tabs{
    padding: 0;
    margin: 0;
}
.prt-tabs ul.tabs li{ 
    position: relative;
    display: inline-block;
}
.prt-tabs ul.tabs li:last-child{
    margin-bottom: 0;
}
.prt-tabs .content-tab .content-inner {
    display: none;
}
.prt-tabs .content-tab .content-inner.active {
    display: block;
}

/* prt-tab-style-vertical */
.prt-tabs.prt-tab-style1 {
    overflow: hidden;
    display: block;
    padding-top: 15px;
}
.prt-tabs.prt-tab-style1 .content-tab {
    padding: 0;
    margin-top: 30px;
    background-color: var(--base-grey);
    border-radius: 20px;
}
.prt-tabs.prt-tab-style1 .prt-tabs-title {
    position: absolute;
    right: 0;
    top: 0;
    left: 0;
    padding: 11px 50px 11px;
    text-align: center;
}
.prt-tabs.prt-tab-style1 .prt-tabs-title h3 {
    font-size: 22px;
    line-height: 32px;
    font-weight: 400;
}
.prt-tabs.prt-tab-style1 .featured-desc p {
    font-size: 20px;
    line-height: 32px;
    color: var(--base-dark);
}
.prt-tabs.prt-tab-style1 .featured-content { padding: 10px 10px 10px 0; }
.prt-tabs.prt-tab-style1:after {
    content: "";
    right: 0px;
    height: 100%;
    position: absolute;
    top: 0;
    width: 1px;
    border-right-width: 1px;
    border-right-color: rgba(255,255,255,0.06);
    border-right-style: solid;
}
.prt-tabs.prt-tab-style1 ul.tabs li {
    color: var(--base-white);
    background-image: unset;
    width: 100%;
    margin-bottom: 26px;
    border-radius: 10px;
    padding:0;
    cursor: pointer;
    width: auto;
    position: relative;
    margin-right: 20px;
    border: 0;
}
.prt-tabs.prt-tab-style1 .prt-list.prt-list-style-icon li i:before {
    content: "\e64c";
    font-family: 'themify';
    width: auto;
    height: auto;
    line-height: 30px;
}
.prt-tabs.prt-tab-style1 .prt-list.prt-list-style-icon li {
    padding: 5px 0;
}
.prt-tabs.prt-tab-style1 .prt-list-li-content {
    padding-left: 25px;
    font-size: 16px;
    color: var(--base-bodyfont-color);
    font-weight: 400;
}
.prt-tabs.prt-tab-style1 ul.tabs li.active {
    color: var(--base-white);
    background-image: rgb(105 20 14 / 28%);
    border: unset;
    margin-bottom: 26px;
    border-radius: 10px;
    padding: 0;
    cursor: pointer;
    position: relative;
    display: inline-block;
    width: auto;
}
.prt-tabs.prt-tab-style1 ul.tabs li .prt-tabs-icon {
    background-color: var(--base-dark);
    border-radius: 30px;
}
.prt-tabs.prt-tab-style1 ul.tabs li .prt-tabs-icon img {
    background-color: var(--base-dark);
    border-radius: 30px;
    opacity: .3;
}
.prt-tabs.prt-tab-style1 ul.tabs li.active .prt-tabs-icon ,
.prt-tabs.prt-tab-style1 ul.tabs li.active .prt-tabs-icon img {
    background-color: #721e11;
}

.prt-tabs.prt-tab-style1 ul.tabs li .prt-tabs-title h3 {
    color: var(--base-white);
    margin-bottom: 0;
}
.prt-tabs.prt-tab-style1 ul.tabs li.active .prt-tabs-title h3 {
    color: var(--base-white);
    margin-bottom: 0;
}
.prt-tabs.prt-tab-style1 ul.tabs li:last-child { margin-left: 0; }
.prt-tabs.prt-tab-style1 .featured-content .featured-title h3 {
    font-weight: 600;
    font-size: 24px;
}
.prt-tabs.prt-tab-style1 ul.prt-list.prt-list-style-icon.style1 {
    background-image: none;
    padding: 0;
    background-color: var(--base-grey);
}

/* prt-tab-style-01 */
.prt-tabs.prt-tab-style-01 {
    border: 1px solid rgba(255 , 255 , 255 , 0.20);
    border-radius: 30px;
    background-color: rgb(0 0 0 / 20%);
    padding: 60px 50px;
    display: flex;
}
.prt-tabs.prt-tab-style-01 ul.tabs { 
    display: block;
    border-right: 1px solid rgba(255 , 255 , 255 , 0.10);
    padding-right: 40px;
}
.prt-tabs.prt-tab-style-01 ul.tabs li:first-child {
    margin-top: 0;
    padding-top: 0;
}
.prt-tabs.prt-tab-style-01 ul.tabs li {
    font-weight: 500;
    text-transform: uppercase;
    display: block;
    color: #888888;
    padding: 15px 0;
    margin: 10px 10px 10px 0;
    font-family: var(--base-headingfont);
    font-size: 18px;
    line-height: 28px;
    cursor: pointer;
}
.prt-tabs.prt-tab-style-01 ul.tabs li:last-child{
    margin-bottom: 20px;
}
.prt-tabs.prt-tab-style-01 .content-tab {
    padding-left: 50px;
    margin-top: -5px;
}
.prt-tabs.prt-tab-style-01 .prt-list.prt-list-style-icon li {
    display: block;
}
.prt-tabs.prt-tab-style-01 ul.tabs li.active {
    font-size: 24px;
    line-height: 34px;
    margin-right: 0;
    color: var(--base-white);
}
.prt-tabs.prt-tab-style-01 .prt-list-li-content {
    list-style-type: none;
    font-family: var(--base-headingfont);
    font-size: 15px;
    line-height: 25px;
    color: var(--base-dark);
    font-weight: 500;
}

/* prt-tab-style-02 */

.prt-tabs.prt-tab-style-02 ul.tabs { 
    display: flex;
    margin-top: 35px;
}
.prt-tabs.prt-tab-style-02 ul.tabs li.active .featured-imagebox-blog.style3 {
    border: 1px solid rgba(255 , 255 , 255 , 0.30);
    border-radius: 30px;
}
.prt-tabs.prt-tab-style-02 ul.tabs li {
    width: 70%;
}


/* prt-tab-style-02 */
.prt-tabs.prt-tab-style-03 ul.tabs {
    margin: 15px 0 0px;
    display: flex;
    width: 85%;
}
.prt-tabs.prt-tab-style-03 ul.tabs li {
    flex: 1 1 auto;
    padding: 0px 15px 15px 15px;;
    margin-bottom: 0;
}
.prt-tabs.prt-tab-style-03 ul.tabs li i {
    color: var(--base-skin);
    font-size: 35px;
    top: 7px;
    position: relative;
}
.prt-tabs.prt-tab-style-03 ul.tabs li a {
    font-family: var(--base-headingfont);
    font-size: 24px;
    font-weight: 500;
    color: var(--base-dark);
    padding-left: 15px;
    text-transform: uppercase;
}
.prt-tabs.prt-tab-style-03 ul.tabs li.active {
    border-bottom: 3px solid var(--base-skin) !important;
}
.prt-tabs.prt-tab-style-03 .tab-figure {
    margin: 5px 20px 0px 0px;
}
.prt-tabs.prt-tab-style-03 .prt-list.prt-list-style-icon li {
    display: inline-block;
    margin: 0 0 10px;
    font-weight: 400;
}
.prt-tabs.prt-tab-style-03 .prt-list.prt-list-style-icon li span {
    font-weight: 400;
    padding-left: 15px;
}
.prt-tabs.prt-tab-style-03 .content-tab {
    padding: 30px 0;
}


/* ===============================================
    19.Boxes-Spacing
------------------------*/
.row.prt-boxes-spacing-25px, .prt-boxes-spacing-25px { margin: 0 0px; }
.row.prt-boxes-spacing-25px .prt-box-col-wrapper {
    padding-right: 25px !important;
    padding-left: 25px !important;
}
.row.prt-boxes-spacing-20px, .prt-boxes-spacing-20px { margin: 0 -20px !important; }
.row.prt-boxes-spacing-20px .prt-box-col-wrapper {
    padding-right: 20px !important;
    padding-left: 20px !important;
}
.row.prt-boxes-spacing-15px, .prt-boxes-spacing-15px { margin: 0 -8px !important; }
.row.prt-boxes-spacing-15px .prt-box-col-wrapper {
    padding-right: 7.5px !important;
    padding-left: 7.5px !important; 
}
.row.prt-boxes-spacing-10px, .prt-boxes-spacing-10px{ margin: 0 -10px; }
.row.prt-boxes-spacing-10px .prt-box-col-wrapper {
    padding-right: 5px !important;
    padding-left: 5px !important;
    padding-bottom: 10px;
}
.row.prt-boxes-spacing-5px, .prt-boxes-spacing-5px{ margin: 0; }
.row.prt-boxes-spacing-5px .prt-box-col-wrapper {
    padding-right: 2.5px;
    padding-left: 2.5px;
    padding-bottom: 5px;
}
.row.prt-boxes-spacing-0px, .prt-boxes-spacing-0px{ margin: 0; }
.row.prt-boxes-spacing-0px .prt-box-col-wrapper {
    padding-right: 0px !important;
    padding-left: 0px !important;
    margin-bottom: 0px;
    outline: 0;
}

/* ===============================================
    20.Pricing-Plan
------------------------*/
.pricing-plan {
    border-bottom: 1px solid #CEC9C1;
    position: relative;
    transition: all .5s linear 0ms;
    padding: 30px 50px 0px 30px;
}
.pricing-plan:first-child {
    padding-top: 0;
}
.prt-p_table-amount {
    display: inline-block; 
    position: relative;
    margin-bottom: 0px;
}
.pricing-plan .pricing-table-heading .prt-p-blur-text {
    font-size: 186px;
    font-weight: 700;
    line-height: 178px;
    font-family: var(--base-headingfont);
    color: rgb(255 255 255 / 5%);
    display: inline-block;
}
.pricing-plan .pricing-table-heading .prt-p-blur-text.right {
    margin-left: -100px;
}
.pricing-plan .prt-p_table-title {
    top: -25px;
    position: relative;
    left: -30px;
}
.pricing-plan .pricing-head { width: 65%; display: inline-block; }
.prt-p_table-title h3 {
    font-size: 46px;
    font-weight: 500;
    line-height: 62px;
    vertical-align: super;
    text-transform: uppercase;
}
.prt-p_table-amount .prt-p_table-price {
    font-size: 46px;
    line-height: 62px;
    font-weight: 500;
    font-family: var(--base-headingfont);
    color: var(--base-headingfont-color);
    display: inline-block;
    vertical-align: top;
    position: relative;
    top: 50px;
}
.pricing-plan .prt-p_table-button { position: relative;}
.pricing-plan .prt-p_table-button a {
    position: absolute;
    font-size: 0;
    bottom: 60px;
    right: 0;
    opacity: 1;
    box-shadow: 0px 0px 20px 0px #ffffff1a;
    width: 100px;
    height: 100px;
    line-height: 100px;
    text-align: center;
    display: block;
    color: var(--base-headingfont);
    border-radius: 50%;
    transition: all .5s;
}
.pricing-plan .prt-p_table-button a:after {
    content: "\e628";
    font-family: "themify";
    position: absolute;
    top: 0px;
    right: 33px;
    z-index: 1;
    display: block;
    transition: all .5s;
    font-size: 30px;
    color: var(--base-headingfont);
}
.pricing-plan .prt-p_table-button a:hover {
    background-color: var(--base-skin);
}
.pricing-plan .prt-p_table-button a:hover:after {
    color: var(--base-white);
}
.prt-pricing-plan .prt-p_table-body {
    position: relative;
}
.prt-pricing-plan .prt-p_table-body ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}
.prt-pricing-plan .prt-p_table-body ul li {
    padding: 7px 0 7px 0;
    margin: 0;
    border-bottom: 1px solid rgba(0, 0, 0, .08);
    font-size: 18px;
    line-height: 28px;
    color: var(--base-white);
    font-weight: 400;
}
.prt-pricing-plan .prt-p_table-body ul li i {
    margin-right: 10px;
    color: var(--base-white);
}
.prt-p_table-amount .pac_frequency {
    position: relative;
    font-size: 18px;
    line-height: 28px;
    font-weight: 400;
    display: inline-block;
    color: var(--base-white);
}
.prt-p_table-amount h3 {
    font-size: 56px;
    line-height: 66px;
    margin-bottom: 15px;
    font-weight: bold;
    display: inline-block;
}
.prt-pricing-plan .prt-p_table-footer {
    margin-top: 40px;
}


/* pricing-style1 */
.pricing-plan.style1 {
    border-bottom: 1px solid #CEC9C1;
    position: relative;
    transition: all .5s linear 0ms;
    padding: 30px 50px 0px 30px;
}
.pricing-plan.style1:first-child {
    padding-top: 0;
}
.pricing-plan.style1 .prt-p_table-amount {
    display: inline-block; 
    position: relative;
}
.pricing-plan.style1 .pricing-table-heading .prt-p-blur-text {
    font-size: 186px;
    font-weight: 700;
    line-height: 178px;
    font-family: var(--base-headingfont);
    color: rgb(28 30 33 / 5%);
    display: inline-block;
}
.pricing-plan.style1 .pricing-table-heading .prt-p-blur-text.right {
    margin-left: -100px;
}
.pricing-plan.style1 .prt-p_table-title {
    top: -25px;
    position: relative;
    left: -30px;
}
.pricing-plan.style1 .pricing-head { width: 65%; display: inline-block; }
.pricing-plan.style1 .prt-p_table-title h3 {
    font-size: 46px;
    font-weight: 500;
    line-height: 62px;
    vertical-align: super;
}
.pricing-plan.style1 .prt-p_table-amount .prt-p_table-price {
    font-size: 46px;
    line-height: 62px;
    font-weight: 500;
    font-family: var(--base-headingfont);
    color: var(--base-headingfont-color);
    display: inline-block;
    vertical-align: top;
    position: relative;
    top: 50px;
}
.pricing-plan.style1 .prt-p_table-button { position: relative;}
.pricing-plan.style1 .prt-p_table-button a {
    position: absolute;
    font-size: 0;
    bottom: 60px;
    right: 0;
    opacity: 1;
    box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.10);
    width: 100px;
    height: 100px;
    line-height: 100px;
    text-align: center;
    display: block;
    color: var(--base-headingfont);
    border-radius: 50%;
    transition: all .5s;
}
.pricing-plan.style1 .prt-p_table-button a:after {
    content: "\e628";
    font-family: "themify";
    position: absolute;
    top: 0px;
    right: 33px;
    z-index: 1;
    display: block;
    transition: all .5s;
    font-size: 30px;
    color: var(--base-headingfont);
}
.pricing-plan.style1 .prt-p_table-button a:hover {
    background-color: var(--base-skin);
}
.pricing-plan.style1 .prt-p_table-button a:hover:after {
    color: var(--base-white);
}



/*layout-box*/
.layout-box ul { padding-left: 0; margin-top: 0; }
.layout-box .layout-title h3 { font-size: 24px; line-height: 34px; }
.layout-box {
    /* background-attachment: scroll;
    overflow-y: scroll;
    max-height: 260px; */
    background-color: var(--base-white);
    padding: 35px 30px;
    border-radius: 10px;
}
.layout-box .layout-space {
    background-attachment: scroll;
    overflow-y: scroll;
    max-height: 150px;
    margin-right: -30px;
}
.layout-box ul li {
    color: var(--base-dark);
    font-weight: 500;
    padding: 7px 0;
    font-size: 16px;
}
.layout-box .text-p {
    color: var(--base-bodyfont-color);
    font-weight: normal;
    font-size: 15px;
    display: inline-block;
}

/* ===============================================
    21.Sidebar
------------------------*/
.sidebar .widget-area .widget {    
    position: relative;
    margin: 0 0 35px;
    background-color: #fff;
    border-radius: 5px;
}
.sidebar .widget-area .widget:after {
    display: block;
    height: 3px;
    content: '';
    position: absolute;
    width: auto;
    bottom: 0;
    left: 35px;
    right: 35px;
    z-index: 1;
}
.sidebar .widget-area .widget.with-title{
    background-color: var(--base-white);
    padding: 0;
    margin: 0 0 40px;
    border-radius: 0;
    overflow: hidden;
}
.sidebar .widget.widget-nav-menu.with-title{
    padding: 0px;
}

.sidebar .widget-area .widget:last-child{ margin-bottom: 0px; }
.sidebar .widget ul{
    margin: 20px 0 0;
    padding: 0;
}
.sidebar .widget ul >li {
    list-style: none;
}
.sidebar .widget ul>li:first-child{
    padding-top: 0;
    margin-top: 0;
}
.sidebar .widget-title h3{ 
    font-size: 23px;
    line-height: 33px;
    font-weight: 700;
    margin-bottom: 0;
    position: relative;
}
/*widget-search*/
.sidebar .widget.widget-search ,
.sidebar .widget-area.prt-col-bgcolor-yes .widget.widget-search { 
    padding: 0;
}
.sidebar .widget.widget-search .search-form{ 
    border: 0;
    position: relative;
}
.sidebar .widget.widget-search .search-form label {
    display: block;
    margin: 0;
    width: 100%;
}
.sidebar .widget-search .screen-reader-text {
    clip: rect(1px,1px,1px,1px);
    position: absolute!important;
    height: 1px;
    width: 1px;
    overflow: hidden;
}
.sidebar .widget.widget-search .search-form .btn[type="submit"] {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    padding: 0;
    width: 47px;
    height: 47px;
    line-height: 0;
    z-index: 1;
    outline: 0;
    border: 0;
    border-radius: 5px;
}
.sidebar .widget.widget-search .input-text {
    border: 1px solid #ebeded;
    border-radius: 5px;
    padding: 10px 15px;
    padding-right: 60px;
    background-color: #fff;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}
.sidebar .widget.widget-search input{
    color: #242c42;
}

/* widget-banner */
.widget-banner { 
    padding: 0 !important;
    border: 0 !important;
}
.widget-banner > div { 
    padding: 35px 30px 45px;
    border-radius: 0;
    overflow: hidden;
}
.widget-banner .prt-btn.prt-btn-size-md{
    padding: 13px 30px;
    font-size: 15px;
}
.widget-banner h3 {
    font-size: 23px;
    line-height: 33px;
    margin-bottom: 15px;
}
.widget-banner .widget-banner-btn{ margin-top: 65px; }

/*.download_block */
.download_block {
    width: 100%;
    text-align: left;
    display: flex;
    align-items: center;
    padding: 40px 30px;
    position: relative;
}
.download_block .prt-file-title{
    padding-left: 15px;
}
.download_block .prt-file-title h3{margin-bottom: 0;}
.download_block .prt-file-title h3 a{
    font-size: 22px;
    line-height: 32px;
    color: #fff;
    font-family: var(--base-headingfont);
}
.download_block span {
    font-weight: 400;
    font-size: 15px;
    line-height: 25px;
    display: block;
}

/* widget-categories */
.prt-sidebar-right .widget.widget-search .search-form label {
    display: block;
    margin: 0;
}
.prt-sidebar-right .widget.widget-search input[type="search"] {
    border-radius: 30px;
    color: #fff;
    background: linear-gradient(to right,var(--base-first-gradientcolor) 0%, 
        var(--base-second-gradientcolor) 100%,var(--base-first-gradientcolor) 100%);
    padding: 17px 45px 17px 25px;
    border: 0;
    font-size: 15px;
}
.prt-sidebar-right .widget.widget-search .search-form{
    position: relative;
}
.prt-sidebar-right .widget.widget-search input[type="search"]::placeholder{
    color: rgba(255, 255, 255, 0.70);
}
.prt-sidebar-right .widget.widget-search .btn-check:focus+.btn,
.prt-sidebar-right .widget.widget-search .btn:focus {
    outline: 0;
    box-shadow: none;
}
.prt-sidebar-right .widget.widget-search .btn{
    color: #fff;
    position: absolute;
    top: 8px;
    right: 6px;
    font-size: 18px;
}
.prt-sidebar-right .widget.with-title{
    margin-bottom: 25px;
}
.prt-sidebar-right .tagcloud-widget.with-title{ margin-bottom: 20px; }
.prt-sidebar-right .widget.with-title:last-child {
    margin-bottom: 0;
}
.prt-sidebar-right .widget.widget-categories .widget-title,
.prt-sidebar-right .widget.tagcloud-widget .widget-title,
.prt-sidebar-right .widget.widget-recent-post .widget-title{
    font-size: 18px;
    line-height: 28px;
    font-weight: 700;
    margin-bottom: 0;
    position: relative;
}
.widget-categories ul{
    padding: 0;
    margin: 20px 0 0;
    list-style-type: none;
}
.widget-categories ul li a{
    position: relative;
    font-size: 15px;
    font-weight: 700;
}
.widget-categories ul li a span{
     font-size: 15px;
    font-weight: 700;
}
.widget-categories ul li{ 
    padding: 0px 0px 8px 15px;
    border-top: 0 !important;
    border-bottom: 1px solid rgba(0 0 0 / 0.10);
    position: relative;
    margin: 5px 0 10px;
    display: grid;
}
.widget-categories ul li:first-child{ margin: 0 0 10px; }
.widget-categories ul li:last-child {
    padding-bottom: 0 !important;
    border-bottom: 0;
}
.widget-categories ul li span {
    position: absolute;
    top: 3px;
    right: 20px;
    width: 22px;
    height: 22px;
    line-height: 21px;
    text-align: center;
    border-radius: 50%;
    display: block;
    font-size: 13px;
    font-weight: 400;
    box-shadow: 0px 0px 10px 0px rgba(3, 59, 74, 0.1);
    background-color: #fff;
}

/*featured-blogbox.style1*/
.featured-imagebox-blog.style1 {
    border-radius: 15px;
    background-color: var(--base-dark);
    padding: 25px;
}
.featured-imagebox-blog.style1.dark-border {
    border: 1px solid #cec9c1;
}
.featured-imagebox-blog.style1.dark-border .featured-title h3 a {
    color: var(--base-headingfont);
}
.featured-imagebox-blog.style1.dark-border .featured-content .post-date span, 
.featured-imagebox-blog.style1.dark-border .featured-content .post-category {
    color: var(--base-headingfont);
    font-size: 14px;
}
.featured-imagebox-blog.style1.dark-border .featured-content {
    padding-bottom: 10px;
}
.featured-imagebox-blog.style1.dark-border .featured-thumbnail { margin-top: 15px;}
.featured-imagebox-blog.style1 .featured-content {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-radius: 20px;
}
.featured-imagebox-blog.style1 .featured-content .post-date span ,
.featured-imagebox-blog.style1 .featured-content .post-category {
    font-size: 16px;
    font-weight: 400;
    line-height: 26px;
    font-family: var(--base-bodyfont);
    color: var(--base-bodyfont-color);
    margin-bottom: 0px;
    padding: 0px 5px 0 0;
}
.featured-imagebox-blog.style1 .featured-content .post-category i ,
.featured-imagebox-blog.style1 .featured-content .post-date { padding-right: 3px;}
.featured-imagebox-blog.style1 .featured-title h3 a:hover { color: var(--base-skin); }
.featured-imagebox-blog.style1 .featured-title h3 a {
    font-size: 24px;
    font-weight: 500;
    line-height: 34px;
    margin-top: 15px;
    margin-bottom: 25px;
    color: var(--base-white);
    text-transform: uppercase;
}
.featured-imagebox-blog.style1 .featured-content .post-date i { 
    margin-right: 5px;
    position: relative;
    top: 3px;
    margin-left: 5px;
    font-size: 16px;
}
.featured-imagebox-blog.style1 .featured-thumbnail {
    border-radius: 10px;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.featured-imagebox-blog.style1 .featured-thumbnail{ margin-bottom: 15px; }

/*featured-blogbox.style2*/
.featured-imagebox-blog.style2 {
    background-color: var(--base-dark);
    padding: 40px 50px 50px;
    border-radius: 30px;
    margin-right: -85px;
    margin-top: 40px;
    z-index: 2;
}
.featured-imagebox-blog.style2 .featured-heading {
    font-size: 18px;
    line-height: 38px;
    font-weight: 500;
    text-transform: uppercase;
    font-family: var(--base-headingfont);
    color: var(--base-bodyfont-color);
}
.featured-imagebox-blog.style2 .featured-title { padding-top: 10px; padding-bottom: 10px;padding-right: 30px; }
.featured-imagebox-blog.style2 .featured-title h3 a {
    padding-top: 25px;
    color: var(--base-white);
    font-size: 34px;
    line-height: 50px;
    font-weight: 500;
    text-transform: uppercase;
}
.featured-imagebox-blog.style2 .prt-horizontal_sep {
    border-top: 1px solid rgba(255 , 255 , 255 , 0.10);
}
.featured-imagebox-blog.style2 .post-meta span.prt-meta-line {
    font-size: 18px;
    line-height: 28px;
    display: block;
    font-weight: 400;
    font-family: var(--base-bodyfont);
    color: var(--base-bodyfont-color);
}
.featured-imagebox-blog.style2 span.prt-auther-name {
    color: var(--base-white);
    font-size: 18px;
    line-height: 28px;
    font-weight: 500;
    text-transform: uppercase;
    font-family: var(--base-headingfont);
}
.featured-imagebox-blog.style2 .post-meta { 
    display: inline-block; 
    padding-right: 50px; 
}

/*style3*/
.featured-imagebox-blog.style3 {
    margin-right: 25px;
}
.featured-imagebox-blog.style3 {
    background-color: var(--base-dark);
    border-radius: 30px;
    padding: 15px;
}
.featured-imagebox-blog.style3 .featured-heading {
    font-size: 16px;
    line-height: 26px;
    font-weight: 400;
    font-family: var(--base-bodyfont);
    color: var(--base-bodyfont-color);
}
.featured-imagebox-blog.style3 .featured-title h3 {
    padding-top: 5px;
    color: var(--base-white);
    font-size: 18px;
    line-height: 28px;
    font-weight: 500;
    text-transform: uppercase;
}
.featured-imagebox-blog.style3 .prt_single_image-wrapper img {
    width: 104px;
    height: 127px;
    object-fit: cover;
}

/** prt-recent-post-list **/
.widget-recent-post .recent-post-image{ 
    position: relative;
    overflow: hidden;
    height: 350px;
}
.widget-recent-post .recent-post-image img{
    height: 100%;
    object-fit: cover;
}
.widget-recent-post  .post-meta span {
    display: inline-block;
    position: relative;
    font-size: 15px;
    line-height: 15px;
    font-weight: 500;
}
.widget-recent-post  span.prt-meta-line.category{ padding-right: 10px; }
.widget-recent-post  span.prt-meta-line.category a{
    border: 1px solid #000;
    padding: 6px 14px 8px;
    border-radius: 50px;
    display: block;
}
.widget-recent-post  span.prt-meta-line.category a:hover{
    border-color: var(--base-dark);
    background-color: var(--base-dark);
    color: var(--base-white);
}
.recent-post-content{
    background-color: rgba(255 255 255 / 0.90);
    border-radius: 15px;
    padding: 20px 20px 10px;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 10px;
}
.recent-post-content h3{
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-size: 17px;
    line-height: 27px;
    font-weight: 600;
    margin-top: 15px;
}
/* tagcloud */
.widget .tagcloud a {
    display: inline-block;
    padding: 2px 15px 5px;
    margin: 0 2px 10px;
    border: 1px solid rgb(0 0 0);
    border-radius: 30px;
    font-size: 15px!important;
    background-color: transparent;
    font-weight: 600;
    color: #000;
}
.widget .tagcloud a:hover {
    background-color: var(--base-dark);
    color: var(--base-white);
    border-color: var(--base-dark);
}

/*pagination*/
.pagination-block {
    display: block;
    margin-top: 50px;
    padding-top: 50px;
    text-align: center;
    border-top: 1px solid rgb(0 0 0 / 10%);
}
.pagination-block.style2 {
    border-top: 0px solid rgb(0 0 0 / 10%);
}
.pagination-block .page-numbers {
    color: var(--base-bodyfont-color);
    display: inline-block;
    transition: all 0.3s ease 0s;
    padding-right: 44px;
}
.pagination-block .next.page-numbers{ padding-right: 0; }
.pagination-block .page-numbers i {
    width: 38px;
    height: 38px;
    line-height: 38px;
    text-align: center;
    display: inline-block;
    font-size: 15px;
    border-radius: 50%;
    background-color: transparent;
    color: var(--bodyfont-color);
    border: 1px solid var(--base-bodyfont-color);
    margin: 0 7px;
    -webkit-transition: all 0.3s ease 0s;
    -moz-transition: all 0.3s ease 0s;
    -ms-transition: all 0.3s ease 0s;
    -o-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
}
.pagination-block .prev.page-numbers:hover, 
.pagination-block .next.page-numbers:hover { color: var(--base-skin); }
.pagination-block .prev.page-numbers:hover i, 
.pagination-block .next.page-numbers:hover i{
    background-color: var(--base-skin);
    color: var(--base-white);
    border: 1px solid var(--base-skin);
}
.main-box-1{
    border-radius: 25px;
}


/* cursor */
.prt-cursor {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 150;
    contain: layout style size;
    pointer-events: none;
    will-change: transform;
    -webkit-transition: opacity .3s,color .4s;
    -o-transition: opacity .3s,color .4s;
    -moz-transition: opacity .3s,color .4s;
    transition: opacity .3s,color .4s;
}
.prt-cursor.-visible:before {
    -webkit-transform: scale(.2);
    -moz-transform: scale(.2);
    -ms-transform: scale(.2);
    -o-transform: scale(.2);
    transform: scale(.2)
}
.prt-cursor.-visible.-active:before {
    -webkit-transform: scale(.23);
    -moz-transform: scale(.23);
    -ms-transform: scale(.23);
    -o-transform: scale(.23);
    transform: scale(.23);
    -webkit-transition-duration: .2s;
    -moz-transition-duration: .2s;
    -o-transition-duration: .2s;
    transition-duration: .2s
}
.prt-cursor.-pointer:before {
    -webkit-transform: scale(.15);
    -moz-transform: scale(.15);
    -ms-transform: scale(.15);
    -o-transform: scale(.15);
    transform: scale(.15)
}
.prt-cursor.-text:before {
    opacity: 1;
    -webkit-transform: scale(1.7);
    -moz-transform: scale(1.7);
    -ms-transform: scale(1.7);
    -o-transform: scale(1.7);
    transform: scale(1.7)
}
.prt-cursor.-text .prt-cursor-text {
    opacity: 1;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1)
}
.prt-cursor.-text.-active:before {
    -webkit-transform: scale(1.6);
    -moz-transform: scale(1.6);
    -ms-transform: scale(1.6);
    -o-transform: scale(1.6);
    transform: scale(1.6);
    -webkit-transition-duration: .2s;
    -moz-transition-duration: .2s;
    -o-transition-duration: .2s;
    transition-duration: .2s
}
.prt-cursor.-tooltip:before {
    opacity: 0;
    -webkit-transform: scale(0);
    -moz-transform: scale(0);
    -ms-transform: scale(0);
    -o-transform: scale(0);
    transform: scale(0)
}
.prt-cursor.-tooltip .prt-cursor-text {
    opacity: 1;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    text-align: left;
    display: block;
    width: auto;
    height: auto;
    justify-content: unset;
    align-items: unset
}
.pbmit-portfolio-title{
    padding: 23px 15px 28px;
    text-align: center;
    background-color: #000;
    position: absolute;
    left: 30px;
    right: 30px;
    bottom: -30%;
    top: auto;
    transition: 500ms all linear 0ms;
    opacity: 0;
    overflow: hidden;
    display: none;
}
.prt-cursor .pbmit-port-cat a{
    display: inline-block;
    border-radius: 8px;
    padding:12px 25px 12px 25px;
    background-image: var(--base-gradient);
    font-family: var(--base-headingfont);
    color: var(--base-white);
    font-size: 18px !important;
    line-height: 28px !important;
    font-weight: 500;
    white-space: nowrap;
    position: relative;
}


/*star-ratting*/
.star-ratings ul{ padding: 0; margin: 0;}
.star-ratings li{
    font-size: 14px;
    min-width: 13px;
    display: inline-block;
    color: #ffba00;
}
.star-ratings ul li.active , .star-ratings ul li.active i{ color: #ffba00;}

/*pf-details*/
.prt-populated-box-main .prt-populated-box h3 {
    display: inline-block;
    font-size: 17px;
    line-height: 27px;
    font-family: var(--base-bodyfont-color);
    font-weight: 600;
}
.prt-populated-box-main .prt-populated-box p {
    display: inline-block;
    font-size: 17px;
    line-height: 27px;
}
.project-section .prt-btn {
    border: 1px solid #000 !important;
    border-radius: 50px;
    padding: 10px 15px;
    font-size: 15px;
    font-weight: 600;
    margin-right: 5px;
}
.project-section .social-icons.circle li>a {
    border-width: 1px;
    border-style: solid;
    height: unset;
    width: unset; 
    line-height: unset;
    text-align: center;
    display: block;
    background-color: transparent;
    font-size: 13px;
    border-radius: 50px;
    padding: 4px 15px;
}
.team-input-group .form-control{
   height: 55px;
    border-bottom: 1px solid rgba(39, 39, 47,.1)
}
.team-input-group textarea.form-control{
    padding: 20px 0;
    height: 90px;
}
.team-input-group p{
    margin-bottom: 20px;
    margin-top: 20px;
}
.team-btn .pbmit-btn{
    padding: 17px 35px;
    margin-top: 30px;
}
.team-btn .pbmit-btn:hover {
    color: var(--pbmit-white-color);
    background-color: var(--pbmit-blackish-color);
}
.team-btn .pbmit-svg-btn .pbmit-btn:hover svg line {
    stroke: var(--pbmit-white-color);
}
.team-btn .pbmit-svg-btn .pbmit-btn:hover svg line:nth-child(1) {
    stroke-dashoffset: 0;
}
/* dot masking */
.pin-spacer{
    overflow: hidden;
}
.pbmit-dot-masking{
	width: 10px;
	height: 10px;
	margin: 0;
	z-index: 1;
	border-radius: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);	
	-webkit-box-shadow: 0 0 0 5000px var(--pbmit-blackish-color);
	box-shadow: 0 0 0 5000px var(--pbmit-blackish-color);
	border-bottom-right-radius: calc(100%); 
	border: 0 solid var(--pbmit-blackish-color);
}
.pbmit-dot-masking.active{
	z-index: 0;
}

/* marque-section */
.marquee {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    overflow: hidden;
    width: 100%;
    padding-top: 28px;
    padding-bottom: 27px;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}
.marquee-content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    min-width: 100%;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
}
.marquee-text a:hover ,
.marquee-text {
    color: transparent;
}
.marquee-text {
    display: inline-block;
    padding-right: 50px;
    padding-left: 50px;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    color: var(--base-white);
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    font-family: var(--base-headingfont);
    font-size: 28px;
    line-height: 38px;
    font-weight: 600;
    text-transform: uppercase;
}
@keyframes scroll {
    from {
       transform: translateX(0);
     }
    to {
       transform: translateX(-50%);
    }
}
.marquee-content {
  animation: scroll 35s linear infinite;
}
.marquee-text {
  position: relative;
}
.marquee-text:before {
    position: absolute;
    content: '';
    background-image: url(../images/flag-marque.png);
    width: 50px;
    height: 29px;
    top: 6px;
    left: -23px;
    right: 0;
    display: block;
}

/* marque-style1 */
.marquee-text.style1 {
    position: relative;
  }
.marquee-text.style1:before {
    content: unset;
}
.marquee-text.style1 {
    padding-left: 10px;
    padding-right: 10px;
}
.marquee-block.style1 { 
    width: 375px; 
    display: inline-block; 
    border-radius: 50px;
}
.marquee-block.style1 .marquee {
    padding-top: 15px;
    padding-bottom: 20px;
}
.marquee-text.style1 a {
    color: var(--base-white);
    font-weight: 600;
    font-family: var(--base-bodyfont);
}
.marquee-content.style1 {
    animation: scroll 15s linear infinite;
}

/* style2 */
.marquee-text.style2:before {
    top: 22px;
    content: '';
    height: 12px;
    width: 12px;
    background-color: var(--base-white);
    z-index: 1;
    position: absolute;
    border-radius: var(--base-border-radius50);
    right: -7px;
    left: auto;
}
.marquee-text.style2 {
    display: inline-block;
    padding-right: 30px;
    padding-left: 30px;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    color: var(--base-white);
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    font-family: var(--base-headingfont);
    font-size: 42px;
    line-height: 52px;
    font-weight: 500;
    text-transform: uppercase;
}
.marquee-block-style2 {
    position: absolute;
    left: 15px;
    right: 80px;
    z-index: 1;
    opacity: 0;
    top: 110px;
    margin: 0px 30px;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
}
.services-box-marque .marquee { padding-top: 0; padding-bottom: 0; }
.services-box-marque:hover .marquee-block-style2 {
    opacity: 1;
    top: 53px;
    margin: 0px;
}
.services-box-marque:hover {
    background-color: var(--base-skin);
    opacity: 1;
    top: -30px;
    margin: 0px;
    position: relative;
}
.services-box-marque .services-box-marque:hover {
    background-color: var(--base-skin); 
}
.services-box-marque:hover .featured-imagebox-services-style3 .featured-content-inner .featured-title h3 {
    opacity: 0;
}
.services-box-marque:hover .featured-imagebox-services-style3 .featured-content-inner { padding: 30px 0 35px; }
.services-box-marque:hover .featured-imagebox-services-style3 .featured-iconbox { top: -17px; margin-right: 15px; }

/*service-1*/
.services-item.style1{
    position: relative;
    padding: 45px 0px 40px 0px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10);
}
.services-item.style1:hover .featured-title h3 a { opacity: 0;}
.services-item.style1:hover{background-color: var(--base-skin);}
.prt-services .row > [class|=col]:last-child > .services-item.style1{
    border-bottom: 1px solid var(--base-black);
}
.services-item.style1 .featured-content{
    overflow: hidden;
    position: relative;
    display: flex;
}
.services-item.style1 .featured-content .featured-title h3,
.marquee-item.style1 .marquee-content .marquee-text h3 {
    margin-bottom: 0;
    display: block;
    z-index: 99;
    position: relative;
    font-size: 52px;
    line-height: 62px;
}
.services-item.style1:hover .featured-content .featured-title h3:after {
    position: absolute;
    content: '';
    margin: 7px 0px 0px 0px;
    right: -20px;
    height: 40px;
    width: 1px;
    background-color: var(--base-black);
}
.services-item.style1 .marquee-item.style1 {
    opacity: 0;
    overflow: hidden;
    width: 273px;
    flex-grow: 1;
    color: transparent;
    margin-left: -30%;
    z-index: 4;
    margin-right: 40px;
}
.services-item.style1:hover .featured-iconbox { right: 15px; }
.marquee-item.style1 .marquee{
    background-color: transparent;
    padding: 0;
}
.services-item.style1 .featured-iconbox {
    text-align: right;
    bottom: -10px;
    position: relative;
}
.services-item.style1 .featured-iconbox i {
    font-size: 45px;
    color: var(--base-white);
}
.services-item.style1:hover .marquee-item.style1{ opacity: 1; }
.marquee-item.style1 .marquee-content .marquee-text h3:after {
    top: 22px;
    content: '';
    height: 12px;
    width: 12px;
    background-color: var(--base-white);
    z-index: 1;
    position: absolute;
    border-radius: var(--base-border-radius50);
    right: -7px;
    left: auto;
} 
.marquee-item.style1 .marquee-content .marquee-text:before { content: unset; }

.marquee-item.style1 .marquee-content .marquee-text h3 {
    display: inline-block;
    padding-right: 30px;
    padding-left: 30px;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    color: var(--base-white);
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    font-family: var(--base-headingfont);
    font-size: 42px;
    line-height: 52px;
    font-weight: 500;
    text-transform: uppercase;
}
.marquee-item.style1 .marquee-content .marquee-text { padding-right: unset; padding-left: unset; }
.marquee-item.style1 .marquee-content .marquee-text h3 a:hover,
.services-item.style1 .featured-content .featured-title h3 a:hover{
    color: var(--base-black);
}
.services-item.style1 .featured-thumbnail{
    position: absolute;
    opacity: 0;
    right: 37%;
    top: -70px;
    transition: all 0.5s ease 0s;
    clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
    z-index: 2;
}
.services-item.style1.active .featured-thumbnail {
    opacity: 1;
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}
.services-item.style1 .featured-thumbnail img{
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    z-index: 0;
    object-fit: cover;
    width: 278px;
    height: 298px;
    border-radius: 25px;
}
.prt-services .row > [class|=col]:first-child > .services-item.style1 .featured-thumbnail{
    top: -40px;
}
.prt-services .row > [class|=col]:last-child > .services-item.style1 .featured-thumbnail{
    top: auto;
    bottom: -40px;
}
.services-item.style1 h3 a {
    color: var(--base-white);
    font-size: 42px;
    line-height: 52px;
    margin-bottom: 0;
    text-transform: uppercase;
}







/*faqsearch-main-block*/
.faqsearch-main-block {
    padding: 60px 70px 70px;
    color: var(--base-white);
}
.faqsearch-main-block h2{ color: var(--base-white); }
.search-form-main {
    position: relative;
    max-width: 524px;
}
.faqsearch-main-block form.search-form label{ display: block; }
.faqsearch-main-block form.search-form input{
    border-radius: 50px;
    border: 0;
    background-color: var(--base-white);
    color: #000;
    padding: 17px 80px 16px 28px;
    font-size: 14px;
}
.faqsearch-main-block form.search-form input::placeholder{
    color: rgba(0, 0, 0, 0.50);
}
.faqsearch-main-block form.search-form .btn{
    width: 60px;
    height: 60px;
    line-height: 52px;
    color: var(--base-white);
    background: var(--base-gradient);
    border-radius: 50%;
    border: 0;
    font-size: 20px;
    position: absolute;
    right: 0px;
    top: 0;
}

/*.aboutservice-block*/
.aboutservice-block{
    text-align: center;
    box-shadow: 0 0 35px 0 rgba(0, 0, 0, 0.12);
    padding: 40px 40px 30px;
}
.aboutservice-content{ text-align: center; position: relative; }
.aboutservice-content h3.title{ 
    font-size: 28px;
    line-height: 38px;
    font-weight: 600;
}

/* contact-from */
#contactform .response {
    position: relative;
    text-align: center;
}
#contactform .response .failed {
    background-color: var(--base-dark);
    color: red;
    padding: 0 10px;
    margin-bottom: 15px;
}
#contactform .response .success{
    background: var(--base-skin);
    color: var(--base-white);
    padding: 0 10px;
    margin-bottom: 15px;
}
#contactform .response .text-info { color: var(--base-skin) !important; }

/* ===== ESTILOS PARA FILAS COLAPSABLES WARMUP ===== */

/* Filas colapsables */
.warmup-row {
    margin-bottom: 30px;
    transition: all 0.5s ease;
}

.warmup-row:not(:first-child) {
    opacity: 0;
    transform: translateY(20px);
}

.warmup-row.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Botones de expansión */
.warmup-expansion-controls {
    text-align: center;
    margin: 40px 0;
}

.warmup-expand-button {
    margin: 10px 0;
    transition: all 0.3s ease;
}

.warmup-expand-button button {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(220, 53, 69, 0.1), rgba(220, 53, 69, 0.2));
    border: 2px solid var(--base-skin);
    color: var(--base-skin);
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    backdrop-filter: blur(10px);
    box-shadow: 0 8px 32px rgba(220, 53, 69, 0.2);
    padding: 12px 30px;
    border-radius: 25px;
}

.warmup-expand-button button:hover {
    background: var(--base-skin);
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 12px 40px rgba(220, 53, 69, 0.4);
}

.warmup-expand-button button:active {
    transform: translateY(0);
}

.warmup-expand-button button::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transition: left 0.5s;
}

.warmup-expand-button button:hover::before {
    left: 100%;
}

/* Animaciones de entrada para botones */
.warmup-expand-button {
    animation: fadeInUp 0.6s ease forwards;
}

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

/* Responsive para botones */
@media (max-width: 768px) {
    .warmup-expand-button button {
        padding: 10px 25px;
        font-size: 0.9rem;
    }
    
    .warmup-expansion-controls {
        margin: 30px 0;
    }
}

/* ===== FIX PARA MENÚ EN UNA SOLA LÍNEA ===== */

/* Forzar que el menú se mantenga en una sola línea */
.site-navigation {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
}

/* Asegurar que el contenedor del menú no se wrappe */
#site-header-menu .site-navigation ul.menu {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    margin: 0 !important;
    white-space: nowrap !important;
}

/* Reducir padding de los elementos del menú para que quepan */
.prt-header-style-01 #site-header-menu .site-navigation ul.menu > li > a {
    padding: 0px 12px !important;
    font-size: 14px !important;
    white-space: nowrap !important;
}

/* Asegurar que los botones del header también estén en línea */
.header_extra {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
}

.header_extra .prt-btn {
    margin-left: 8px !important;
    font-size: 13px !important;
    padding: 8px 16px !important;
    white-space: nowrap !important;
}

/* Reducir el tamaño del logo si es necesario */
.site-branding img {
    max-height: 28px !important;
    width: auto !important;
}

/* Responsive: mantener en línea incluso en pantallas más pequeñas */
@media (min-width: 992px) {
    .prt-header-style-01 #site-header-menu .site-navigation ul.menu > li > a {
        padding: 0px 15px !important;
        font-size: 15px !important;
    }
}

@media (min-width: 1200px) {
    .prt-header-style-01 #site-header-menu .site-navigation ul.menu > li > a {
        padding: 0px 18px !important;
        font-size: 16px !important;
    }
}

/* ===== LOGO EN HERO SECTION ===== */

.hero-logo-container {
    animation: fadeInUp 1s ease-out 0.5s both;
    transform: translateY(20px);
    opacity: 0;
}

.hero-logo {
    transition: all 0.3s ease;
    transform: scale(1);
}

.hero-logo:hover {
    transform: scale(1.05);
    filter: drop-shadow(0 6px 12px rgba(0,0,0,0.4)) !important;
}

.hero-logo-container p {
    animation: fadeInUp 1s ease-out 0.8s both;
    text-shadow: 0 2px 4px rgba(0,0,0,0.5);
}

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

/* Responsive para el logo en hero */
@media (max-width: 768px) {
    .hero-logo {
        max-height: 80px !important;
    }
    
    .hero-logo-container p {
        font-size: 14px !important;
        margin-top: 10px !important;
    }
    
    .hero-logo-container {
        margin-bottom: 20px !important;
    }
}

@media (max-width: 480px) {
    .hero-logo {
        max-height: 60px !important;
    }
    
    .hero-logo-container p {
        font-size: 12px !important;
    }
}

/* ===== SECCIÓN CARACTERÍSTICAS EXCLUSIVAS ===== */

.exclusivas-section {
    position: relative;
    padding: 100px 0;
}

.exclusivas-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grid" width="20" height="20" patternUnits="userSpaceOnUse"><path d="M 20 0 L 0 0 0 20" fill="none" stroke="%23ffffff" stroke-width="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)"/></svg>') repeat;
    opacity: 0.05;
    pointer-events: none;
}

/* Instalador Card - Estilo consistente con otras cards */
.instalador-card {
    padding: 40px !important;
    margin-bottom: 40px;
}

.instalador-icon {
    width: 90px !important;
    height: 90px !important;
    font-size: 2.5rem !important;
    margin-bottom: 30px;
}

.feature-badge {
    display: inline-block;
    background: rgba(220, 53, 69, 0.2);
    color: var(--base-skin);
    padding: 6px 12px;
    border-radius: 15px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(220, 53, 69, 0.3);
}

.instalador-card h4 {
    font-size: 2rem !important;
    margin-bottom: 15px;
}

.instalador-subtitle {
    font-size: 1.1rem;
    color: rgba(255,255,255,0.9);
    margin-bottom: 25px;
    font-weight: 400;
}

.instalador-description p {
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 25px;
}

.instalador-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-top: 25px;
}

.instalador-benefits h5,
.instalador-process h5 {
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 15px;
    color: white;
    display: flex;
    align-items: center;
    gap: 10px;
}

.instalador-benefits .feature-details {
    margin-top: 10px;
}

.instalador-process p {
    margin-bottom: 15px;
    font-size: 0.95rem;
    line-height: 1.5;
}

.tech-features-mini {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 15px;
}

.tech-badge {
    background: rgba(220, 53, 69, 0.2);
    color: var(--base-skin);
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border: 1px solid rgba(220, 53, 69, 0.3);
}

/* Feature Cards */
.feature-card {
    background: rgba(255,255,255,0.08);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 15px;
    padding: 30px;
    height: 100%;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.feature-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: var(--base-skin);
}

.feature-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.4);
    background: rgba(255,255,255,0.12);
    border-color: rgba(255,255,255,0.2);
}

.feature-icon {
    width: 70px;
    height: 70px;
    background: var(--base-skin);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.feature-icon i {
    font-size: 2rem;
    color: white;
}

.feature-content h4 {
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 15px;
    color: white;
}

.feature-content p {
    color: rgba(255,255,255,0.8);
    line-height: 1.6;
    margin-bottom: 20px;
}

.feature-details {
    list-style: none;
    padding: 0;
    margin: 0;
}

.feature-details li {
    padding: 5px 0;
    color: rgba(255,255,255,0.7);
    font-size: 0.95rem;
    position: relative;
    padding-left: 20px;
}

.feature-details li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--base-skin);
    font-weight: bold;
}

/* Requisitos Box */
.requisitos-box {
    background: rgba(255,255,255,0.08);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 15px;
    padding: 40px;
    position: relative;
}

.requisitos-box h4 {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 20px;
    color: white;
}

.requisitos-box p {
    color: rgba(255,255,255,0.8);
    line-height: 1.6;
    margin-bottom: 15px;
}

.requisito-visual {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.number-circle {
    width: 80px;
    height: 80px;
    background: var(--base-skin);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    font-weight: 700;
    color: white;
    box-shadow: 0 10px 20px rgba(220, 53, 69, 0.3);
}

.requisito-visual span {
    font-weight: 600;
    color: rgba(255,255,255,0.9);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 0.9rem;
}

/* Animaciones */
@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateY(0);
    }
    40% {
        transform: translateY(-10px);
    }
    60% {
        transform: translateY(-5px);
    }
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Responsive */
@media (max-width: 768px) {
    .instalador-card {
        padding: 30px 20px !important;
    }
    
    .instalador-card h4 {
        font-size: 1.5rem !important;
    }
    
    .instalador-icon {
        width: 70px !important;
        height: 70px !important;
        font-size: 2rem !important;
    }
    
    .instalador-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .tech-features-mini {
        justify-content: center;
    }
    
    .feature-card {
        margin-bottom: 20px;
    }
    
    .requisitos-box {
        padding: 30px 20px;
        text-align: center;
    }
    
    .number-circle {
        width: 60px;
        height: 60px;
        font-size: 1.5rem;
    }
}

/* ===== ANIMACIONES SUTILES PARA TODA LA PÁGINA ===== */

/* Animaciones de entrada generales */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translateX(-30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translateX(30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

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

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

@keyframes scaleIn {
    from {
        opacity: 0;
        transform: scale(0.9);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Animaciones para elementos específicos */
.section-title {
    animation: fadeInUp 0.8s ease-out;
}

.section-title .title {
    animation: slideInFromTop 1s ease-out 0.2s both;
}

.section-title .title-desc {
    animation: fadeIn 1s ease-out 0.4s both;
}

/* Hero section animations */
.hero-logo-container {
    animation: scaleIn 1s ease-out 0.3s both;
}

.first-section .section-title {
    animation: fadeInUp 1s ease-out 0.5s both;
}

/* Feature cards staggered animation */
.feature-card {
    opacity: 0;
    animation: fadeInUp 0.8s ease-out both;
}

.feature-card:nth-child(1) { animation-delay: 0.1s; }
.feature-card:nth-child(2) { animation-delay: 0.2s; }
.feature-card:nth-child(3) { animation-delay: 0.3s; }
.feature-card:nth-child(4) { animation-delay: 0.4s; }
.feature-card:nth-child(5) { animation-delay: 0.5s; }
.feature-card:nth-child(6) { animation-delay: 0.6s; }

.instalador-card {
    animation: scaleIn 1s ease-out 0.3s both;
}

/* Sticky cards animation */
.sticky-card {
    animation: fadeInUp 0.8s ease-out both;
}

.sticky-card:nth-child(1) { animation-delay: 0.1s; }
.sticky-card:nth-child(2) { animation-delay: 0.2s; }
.sticky-card:nth-child(3) { animation-delay: 0.3s; }
.sticky-card:nth-child(4) { animation-delay: 0.4s; }
.sticky-card:nth-child(5) { animation-delay: 0.5s; }
.sticky-card:nth-child(6) { animation-delay: 0.6s; }

/* Standings tables animation */
.standings-table {
    animation: fadeIn 1s ease-out 0.5s both;
}

.standings-row {
    opacity: 0;
    animation: fadeInLeft 0.6s ease-out both;
}

.standings-row:nth-child(1) { animation-delay: 0.1s; }
.standings-row:nth-child(2) { animation-delay: 0.2s; }
.standings-row:nth-child(3) { animation-delay: 0.3s; }
.standings-row:nth-child(4) { animation-delay: 0.4s; }
.standings-row:nth-child(5) { animation-delay: 0.5s; }

/* Event cards animation */
.event-card {
    opacity: 0;
    animation: scaleIn 0.8s ease-out both;
}

.event-card:nth-child(1) { animation-delay: 0.1s; }
.event-card:nth-child(2) { animation-delay: 0.2s; }
.event-card:nth-child(3) { animation-delay: 0.3s; }

/* Warmup cards animation */
.warmup-card {
    opacity: 0;
    animation: fadeInUp 0.8s ease-out both;
}

.warmup-card:nth-child(1) { animation-delay: 0.1s; }
.warmup-card:nth-child(2) { animation-delay: 0.2s; }
.warmup-card:nth-child(3) { animation-delay: 0.3s; }

/* Alpine experience cards */
.alpine-experience-card {
    opacity: 0;
    animation: fadeInUp 0.8s ease-out both;
}

.alpine-experience-card:nth-child(1) { animation-delay: 0.1s; }
.alpine-experience-card:nth-child(2) { animation-delay: 0.2s; }
.alpine-experience-card:nth-child(3) { animation-delay: 0.3s; }

/* Pricing cards */
.pricing-plan {
    opacity: 0;
    animation: scaleIn 0.8s ease-out both;
}

.pricing-plan:nth-child(1) { animation-delay: 0.1s; }
.pricing-plan:nth-child(2) { animation-delay: 0.2s; }
.pricing-plan:nth-child(3) { animation-delay: 0.3s; }

/* VRSimracers plan selector: make the three offers visible without tab discovery. */
.vrs-plan-selector {
    position: relative;
    z-index: 2;
}

.vrs-plan-intro {
    margin-bottom: 24px;
    max-width: 760px;
}

.vrs-plan-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 12px;
    margin-bottom: 12px;
    border: 1px solid rgba(228, 49, 46, 0.35);
    border-radius: 999px;
    background: rgba(228, 49, 46, 0.12);
    color: var(--base-skin);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.vrs-plan-intro h3 {
    margin: 0 0 8px;
    color: var(--base-white);
    font-size: clamp(30px, 4vw, 58px);
    line-height: 0.95;
}

.vrs-plan-intro p {
    margin: 0;
    color: rgba(255, 255, 255, 0.76);
    font-size: 16px;
    line-height: 1.55;
}

.vrs-plan-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.vrs-plan-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 22px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 24px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.025)),
        rgba(6, 8, 16, 0.72);
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.24);
    backdrop-filter: blur(12px);
}

.vrs-plan-card::before {
    content: '';
    position: absolute;
    inset: -1px;
    z-index: -1;
    background: radial-gradient(circle at top right, rgba(228, 49, 46, 0.22), transparent 38%);
}

.vrs-plan-card.recommended {
    border-color: rgba(228, 49, 46, 0.8);
    transform: translateY(-8px);
    box-shadow: 0 30px 80px rgba(228, 49, 46, 0.2), 0 24px 70px rgba(0, 0, 0, 0.35);
}

.vrs-plan-ribbon {
    position: absolute;
    top: 16px;
    right: 16px;
    padding: 6px 10px;
    border-radius: 999px;
    background: var(--base-skin);
    color: var(--base-white);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.vrs-plan-number {
    margin-bottom: 18px;
    color: rgba(255, 255, 255, 0.5);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.vrs-plan-card h4 {
    margin: 0 0 10px;
    color: var(--base-white);
    font-size: 24px;
    line-height: 1.05;
}

.vrs-plan-summary {
    min-height: 54px;
    margin: 0 0 18px;
    color: rgba(255, 255, 255, 0.68);
    font-size: 14px;
    line-height: 1.45;
}

.vrs-plan-price {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 18px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.vrs-plan-price strong {
    color: var(--base-white);
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1;
}

.vrs-plan-price span {
    color: rgba(255, 255, 255, 0.68);
    font-weight: 700;
}

.vrs-plan-card ul {
    display: grid;
    gap: 10px;
    margin: 0 0 22px;
    padding: 0;
    list-style: none;
}

.vrs-plan-card li {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 14px;
    line-height: 1.35;
}

.vrs-plan-card li i {
    margin-top: 2px;
    color: var(--base-skin);
}

.vrs-plan-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    margin-top: auto;
    padding: 12px 18px;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 999px;
    color: var(--base-white);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.vrs-plan-btn.primary,
.vrs-plan-btn:hover {
    border-color: var(--base-skin);
    background: var(--base-skin);
    color: var(--base-white);
}

@media (max-width: 1199px) {
    .vrs-plan-grid {
        grid-template-columns: 1fr;
    }

    .vrs-plan-card.recommended {
        transform: none;
    }
}

/* FPS FAQ items */
.fps-faq-item {
    opacity: 0;
    animation: fadeInLeft 0.6s ease-out both;
}

.fps-faq-item:nth-child(1) { animation-delay: 0.1s; }
.fps-faq-item:nth-child(2) { animation-delay: 0.2s; }
.fps-faq-item:nth-child(3) { animation-delay: 0.3s; }
.fps-faq-item:nth-child(4) { animation-delay: 0.4s; }
.fps-faq-item:nth-child(5) { animation-delay: 0.5s; }

/* Countdown banner */
.countdown-banner {
    animation: slideInFromTop 1s ease-out both;
}

.countdown-item {
    opacity: 0;
    animation: scaleIn 0.8s ease-out both;
}

.countdown-item:nth-child(1) { animation-delay: 0.1s; }
.countdown-item:nth-child(2) { animation-delay: 0.2s; }
.countdown-item:nth-child(3) { animation-delay: 0.3s; }
.countdown-item:nth-child(4) { animation-delay: 0.4s; }

/* Hover animations enhancement */
.feature-card:hover {
    transform: translateY(-10px) scale(1.02);
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.sticky-card:hover {
    transform: translateY(-5px) scale(1.01);
    transition: all 0.3s ease;
}

.event-card:hover {
    transform: translateY(-8px);
    transition: all 0.3s ease;
}

.warmup-card:hover {
    transform: translateY(-8px) scale(1.02);
    transition: all 0.3s ease;
}

/* Button pulse animation */
.prt-btn {
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
}

.prt-btn::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: width 0.6s, height 0.6s;
}

.prt-btn:hover::before {
    width: 300px;
    height: 300px;
}

/* Loading skeleton pulse */
.skeleton {
    background: linear-gradient(90deg, 
        rgba(255,255,255,0.1) 25%, 
        rgba(255,255,255,0.2) 50%, 
        rgba(255,255,255,0.1) 75%
    );
    background-size: 200% 100%;
    animation: skeletonPulse 2s infinite;
}

@keyframes skeletonPulse {
    0% {
        background-position: -200% 0;
    }
    100% {
        background-position: 200% 0;
    }
}

/* Progress bars for stats */
.progress-bar-animated {
    width: 0%;
    height: 4px;
    background: linear-gradient(90deg, var(--base-skin) 0%, #ff6b6b 100%);
    border-radius: 2px;
    animation: progressFill 2s ease-out 1s both;
}

@keyframes progressFill {
    from {
        width: 0%;
    }
    to {
        width: var(--progress-width, 100%);
    }
}

/* Number counter animation */
.counter {
    opacity: 0;
    animation: fadeIn 0.5s ease-out 1s both;
}

/* Scroll reveal classes (para usar con JavaScript si se desea) */
.scroll-reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s ease-out;
}

.scroll-reveal.revealed {
    opacity: 1;
    transform: translateY(0);
}

/* Subtle floating animation for icons */
.feature-icon {
    animation: float 3s ease-in-out infinite;
}

@keyframes float {
    0%, 100% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(-5px);
    }
}

/* Text typing effect for titles */
.typing-effect {
    overflow: hidden;
    border-right: 2px solid var(--base-skin);
    white-space: nowrap;
    animation: typing 3s steps(40, end), blink 0.75s step-end infinite;
}

@keyframes typing {
    from {
        width: 0;
    }
    to {
        width: 100%;
    }
}

@keyframes blink {
    from, to {
        border-color: transparent;
    }
    50% {
        border-color: var(--base-skin);
    }
}

/* Stats section animations */
.stats-item {
    opacity: 0;
    animation: scaleIn 0.8s ease-out both;
    transition: all 0.3s ease;
}

.stats-item:nth-child(1) { animation-delay: 0.1s; }
.stats-item:nth-child(2) { animation-delay: 0.2s; }
.stats-item:nth-child(3) { animation-delay: 0.3s; }
.stats-item:nth-child(4) { animation-delay: 0.4s; }

.stats-item:hover {
    transform: translateY(-10px);
    background: rgba(255,255,255,0.05);
    border-radius: 15px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.3);
}

.stats-icon {
    animation: float 3s ease-in-out infinite;
}

.stats-icon:nth-child(1) { animation-delay: 0s; }
.stats-icon:nth-child(2) { animation-delay: 0.5s; }
.stats-icon:nth-child(3) { animation-delay: 1s; }
.stats-icon:nth-child(4) { animation-delay: 1.5s; }

/* Enhanced progress bar */
.progress-bar-animated {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
}

.progress-bar-animated::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, 
        transparent 0%, 
        rgba(255,255,255,0.4) 50%, 
        transparent 100%
    );
    animation: shimmer 2s infinite 2s;
}

@keyframes shimmer {
    0% {
        left: -100%;
    }
    100% {
        left: 100%;
    }
}

/* Pulsing effect for important elements */
.pulse-glow {
    animation: pulseGlow 2s ease-in-out infinite;
}

@keyframes pulseGlow {
    0%, 100% {
        box-shadow: 0 0 20px rgba(220, 53, 69, 0.3);
    }
    50% {
        box-shadow: 0 0 30px rgba(220, 53, 69, 0.6);
    }
}

/* Smooth entrance for modals */
.modal.show {
    animation: modalFadeIn 0.3s ease-out;
}

.modal-content {
    animation: modalSlideIn 0.4s ease-out;
}

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

@keyframes modalSlideIn {
    from {
        opacity: 0;
        transform: translateY(-50px) scale(0.9);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Loading states */
.loading-spinner {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 2px solid rgba(255,255,255,0.3);
    border-radius: 50%;
    border-top-color: var(--base-skin);
    animation: spin 1s ease-in-out infinite;
}

/* Enhanced hover effects for cards */
.card-hover-effect {
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.card-hover-effect:hover {
    transform: translateY(-15px) rotateY(5deg);
    box-shadow: 0 25px 50px rgba(0,0,0,0.4);
}

/* Gradient text animation */
.gradient-text {
    background: linear-gradient(45deg, var(--base-skin), #ff6b6b, var(--base-skin));
    background-size: 200% 200%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: gradientShift 3s ease-in-out infinite;
}

@keyframes gradientShift {
    0%, 100% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
    
    .feature-icon,
    .stats-icon {
        animation: none !important;
    }
}

/* ===== PÁGINA DE PRODUCTOS PAYPAL ===== */

.products-hero-section {
    padding: 120px 0 60px;
    position: relative;
}

.products-hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grid5" width="30" height="30" patternUnits="userSpaceOnUse"><path d="M 30 0 L 0 0 0 30" fill="none" stroke="rgba(255,255,255,0.02)" stroke-width="1"/></pattern></defs><rect width="100" height="100" fill="url(%23grid5)" /></svg>');
    opacity: 0.5;
}

.products-section {
    padding: 60px 0;
    position: relative;
}

.product-card {
    background: linear-gradient(145deg, #1a1a1a 0%, #2d2d2d 100%);
    border: 2px solid transparent;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
    height: 100%;
    min-height: 600px;
    transition: all 0.4s ease;
    box-shadow: 
        0 8px 32px rgba(0, 0, 0, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.product-card.featured {
    border-color: rgba(220, 53, 69, 0.4);
    box-shadow: 
        0 8px 32px rgba(0, 0, 0, 0.3),
        0 0 40px rgba(220, 53, 69, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.product-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(145deg, 
        rgba(220, 53, 69, 0.05) 0%, 
        transparent 50%, 
        rgba(220, 53, 69, 0.02) 100%);
    border-radius: 18px;
    z-index: 1;
}

.product-card:hover {
    transform: translateY(-12px) scale(1.02);
    border-color: rgba(220, 53, 69, 0.6);
    box-shadow: 
        0 20px 60px rgba(0, 0, 0, 0.4),
        0 0 50px rgba(220, 53, 69, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.product-header {
    height: 200px;
    position: relative;
    overflow: hidden;
    border-radius: 18px 18px 0 0;
}

.product-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.product-image.logo-style {
    object-fit: contain;
    padding: 40px;
    background: linear-gradient(135deg, #2d2d2d 0%, #1a1a1a 100%);
}

.product-card:hover .product-image {
    transform: scale(1.1);
}

.product-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(
        135deg, 
        rgba(0,0,0,0.1) 0%, 
        rgba(0,0,0,0.3) 100%
    );
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 20px;
}

.product-badge {
    background: linear-gradient(135deg, 
        rgba(220, 53, 69, 0.95) 0%, 
        rgba(220, 53, 69, 0.85) 100%);
    color: white;
    padding: 8px 16px;
    border-radius: 15px;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    box-shadow: 0 4px 15px rgba(220, 53, 69, 0.4);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.product-badge.popular {
    background: linear-gradient(135deg, #ffd700 0%, #ffed4a 100%);
    color: #1a1a1a;
    animation: pulse-glow 2s infinite;
}

.product-badge.special {
    background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
}

.product-content {
    padding: 30px 25px 25px;
    position: relative;
    z-index: 2;
    height: calc(100% - 200px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.product-title h3 {
    color: #ffffff;
    font-size: 1.3rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-align: center;
    margin-bottom: 8px;
    line-height: 1.3;
}

.product-title .subtitle {
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.9rem;
    font-weight: 400;
    display: block;
    text-align: center;
    margin-bottom: 20px;
}

.product-description {
    flex: 1;
    margin-bottom: 25px;
}

.product-description p {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.95rem;
    line-height: 1.6;
    text-align: center;
    margin-bottom: 20px;
}

.product-features {
    list-style: none;
    padding: 0;
    margin: 0;
}

.product-features li {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.9rem;
    padding: 6px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.product-price {
    text-align: center;
    margin-bottom: 25px;
}

.product-price .price {
    color: var(--base-skin);
    font-size: 2.2rem;
    font-weight: 800;
    display: block;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.product-price .savings {
    color: #28a745;
    font-size: 0.9rem;
    font-weight: 600;
    display: block;
    margin-top: 5px;
}

.product-button {
    text-align: center;
}

/* Estilos para botones PayPal personalizados */
.paypal-placeholder-btn {
    background: linear-gradient(135deg, #0070ba 0%, #005ea6 100%);
    color: white;
    border: none;
    border-radius: 25px;
    padding: 14px 28px;
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 6px 20px rgba(0, 112, 186, 0.4);
    width: 100%;
    max-width: 250px;
}

.paypal-placeholder-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 112, 186, 0.6);
}

/* Información adicional */
.products-info-section {
    padding: 60px 0;
}

.products-info-box {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 15px;
    padding: 40px;
    text-align: left;
}

.products-info-box h4 {
    color: white;
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
}

.products-info-box p {
    color: rgba(255, 255, 255, 0.8);
    font-size: 1rem;
    margin-bottom: 10px;
    line-height: 1.6;
}

.security-badges {
    text-align: center;
}

/* Responsive */
@media (max-width: 992px) {
    .product-card {
        min-height: 550px;
        margin-bottom: 30px;
    }
    
    .products-hero-section {
        padding: 100px 0 40px;
    }
    
    .products-section {
        padding: 40px 0;
    }
}

@media (max-width: 768px) {
    .product-card {
        min-height: 500px;
    }
    
    .product-header {
        height: 160px;
    }
    
    .product-content {
        padding: 25px 20px 20px;
        height: calc(100% - 160px);
    }
    
    .product-title h3 {
        font-size: 1.1rem;
    }
    
    .product-price .price {
        font-size: 1.8rem;
    }
    
    .products-info-box {
        padding: 30px 20px;
        text-align: center;
    }
    
    .products-info-box h4 {
        justify-content: center;
        margin-bottom: 15px;
    }
}

/* ===== SECCIÓN PREMIOS DE LA COMUNIDAD ===== */

/* Prevenir scroll horizontal por la imagen del cockpit */
body {
    overflow-x: hidden;
}

.premios-section {
    padding: 100px 0;
    overflow-x: hidden;
    overflow-y: visible;
}

.premios-section .container {
    overflow-x: hidden;
    overflow-y: visible;
}

/* Premio Image Effects */
@keyframes pulseGlow {
    0%, 100% {
        opacity: 0.3;
        transform: translate(-50%, -50%) scale(1);
    }
    50% {
        opacity: 0.6;
        transform: translate(-50%, -50%) scale(1.1);
    }
}

.premio-card:hover .premio-image-container img {
    transform: scale(1.1) rotateY(10deg);
    filter: drop-shadow(0 15px 35px rgba(220,53,69,0.6)) drop-shadow(0 0 30px rgba(220,53,69,0.4));
}

.premio-card:hover .premio-glow {
    opacity: 0.8 !important;
    transform: translate(-50%, -50%) scale(1.2) !important;
}

.premio-principal-card {
    overflow: visible !important;
}

.premio-principal-card:hover {
    transform: translateY(-8px);
    border-color: rgba(220,53,69,0.5);
    box-shadow: 0 25px 80px rgba(0,0,0,0.5), 0 0 60px rgba(220,53,69,0.3);
}

.premio-principal-card:hover img[alt="Cockpit SRC LESMO"] {
    transform: translateY(-20px) scale(1.1);
    filter: drop-shadow(0 25px 60px rgba(0,0,0,0.7)) drop-shadow(0 0 40px rgba(220,53,69,0.4));
}

.premio-card {
    transition: all 0.4s ease;
}

.premio-card:hover {
    transform: translateY(-10px) scale(1.02);
    border-color: rgba(220,53,69,0.4);
    box-shadow: 0 20px 60px rgba(0,0,0,0.4), 0 0 40px rgba(220,53,69,0.2);
}

.premio-icon div {
    transition: all 0.3s ease;
}

.premio-card:hover .premio-icon div {
    transform: scale(1.1);
    box-shadow: 0 12px 35px rgba(220,53,69,0.6);
}

.cockpit-specs,
.guantes-specs,
.planner-specs,
.trofeo-specs {
    transition: all 0.3s ease;
}

.premio-card:hover .cockpit-specs,
.premio-card:hover .guantes-specs,
.premio-card:hover .planner-specs,
.premio-card:hover .trofeo-specs {
    background: rgba(0,0,0,0.5);
}

.simtechpro-section {
    transition: all 0.4s ease;
}

.simtechpro-section:hover {
    border-color: rgba(220,53,69,0.4);
    box-shadow: 0 15px 40px rgba(0,0,0,0.3);
}

/* Animación shimmer para el premio principal */
@keyframes shimmer {
    0% {
        left: -100%;
    }
    100% {
        left: 100%;
    }
}

/* Responsive para premios */
@media (max-width: 992px) {
    .premios-section {
        padding: 80px 0;
    }
    
    .premio-principal-card {
        padding: 40px 30px !important;
    }
    
    .premio-principal-card h3 {
        font-size: 1.8rem !important;
    }
    
    .cockpit-specs {
        padding: 20px !important;
    }
}

@media (max-width: 768px) {
    .premios-section {
        padding: 60px 0;
    }
    
    .premio-principal-card {
        padding: 30px 20px !important;
    }
    
    .premio-principal-card h3 {
        font-size: 1.5rem !important;
    }
    
    .premio-visual {
        margin-top: 30px;
    }
    
    .simtechpro-section {
        padding: 30px 20px !important;
        text-align: left !important;
    }
    
    .simtechpro-section h4 {
        font-size: 1.4rem !important;
        text-align: center;
    }
    
    .simtechpro-section .col-lg-4 {
        margin-top: 20px;
    }
}
