.elementor-1593 .elementor-element.elementor-element-a76a9eb{--display:flex;--min-height:150px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-1593 .elementor-element.elementor-element-a76a9eb:not(.elementor-motion-effects-element-type-background), .elementor-1593 .elementor-element.elementor-element-a76a9eb > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-1593 .elementor-element.elementor-element-ee2cdfc{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:10px 0px;--row-gap:10px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-theme-post-title .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-1593 .elementor-element.elementor-element-a1f21b8 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-1593 .elementor-element.elementor-element-a1f21b8 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:42px;font-weight:700;text-transform:capitalize;color:var( --e-global-color-5ae76ae );}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-1593 .elementor-element.elementor-element-f6cfd51 .elementor-button{background-color:var( --e-global-color-5ae76ae );font-family:"Roboto", Sans-serif;font-weight:500;fill:#FFFFFF;color:#FFFFFF;border-style:none;border-radius:9px 9px 9px 9px;padding:22px 22px 22px 22px;}body:not(.rtl) .elementor-1593 .elementor-element.elementor-element-f6cfd51{right:5%;}body.rtl .elementor-1593 .elementor-element.elementor-element-f6cfd51{left:5%;}.elementor-1593 .elementor-element.elementor-element-f6cfd51{bottom:2%;z-index:5;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-1593 .elementor-element.elementor-element-fdae8b4{--divider-border-style:solid;--divider-color:var( --e-global-color-85d06fc );--divider-border-width:5px;}.elementor-1593 .elementor-element.elementor-element-fdae8b4 .elementor-divider-separator{width:60%;}.elementor-1593 .elementor-element.elementor-element-c6142f1{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:flex-end;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1593 .elementor-element.elementor-element-3621392{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-1593 .elementor-element.elementor-element-15eca12{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-theme-post-featured-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-1593 .elementor-element.elementor-element-3973d2a img{border-radius:8px 8px 8px 8px;}.elementor-1593 .elementor-element.elementor-element-0478104{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:30px;--padding-right:20px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-1593 .elementor-element.elementor-element-5d8169f .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:24px;font-weight:700;color:var( --e-global-color-5ae76ae );}.elementor-1593 .elementor-element.elementor-element-b848d58 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:5px 0px 0px 0px;}.elementor-1593 .elementor-element.elementor-element-b848d58 .elementor-heading-title{font-family:"Mulish", Sans-serif;font-size:28px;font-weight:800;color:var( --e-global-color-5ae76ae );}.elementor-1593 .elementor-element.elementor-element-e71e6b3{--divider-border-style:solid;--divider-color:var( --e-global-color-1c2b8bd );--divider-border-width:1px;}.elementor-1593 .elementor-element.elementor-element-e71e6b3 .elementor-divider-separator{width:100%;}.elementor-1593 .elementor-element.elementor-element-e71e6b3 .elementor-divider{padding-block-start:10px;padding-block-end:10px;}.elementor-1593 .elementor-element.elementor-element-fe39fc4 .elementor-button{background-color:#B51818;font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:600;fill:#FFFFFF;color:#FFFFFF;border-radius:2px 2px 2px 2px;padding:15px 25px 15px 25px;}.elementor-1593 .elementor-element.elementor-element-fe39fc4 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:5px 0px 0px 0px;}.elementor-1593 .elementor-element.elementor-element-2110831 > .elementor-widget-container{margin:10px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-1593 .elementor-element.elementor-element-16ccd7b{--divider-border-style:solid;--divider-color:var( --e-global-color-1c2b8bd );--divider-border-width:1px;}.elementor-1593 .elementor-element.elementor-element-16ccd7b .elementor-divider-separator{width:100%;}.elementor-1593 .elementor-element.elementor-element-16ccd7b .elementor-divider{padding-block-start:10px;padding-block-end:10px;}.elementor-1593 .elementor-element.elementor-element-ce74d49 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-1593 .elementor-element.elementor-element-ce74d49 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:24px;font-weight:700;color:var( --e-global-color-5ae76ae );}.elementor-1593 .elementor-element.elementor-element-1583a12 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:5px 0px 0px 0px;}.elementor-1593 .elementor-element.elementor-element-1583a12 .elementor-heading-title{font-family:"Mulish", Sans-serif;font-size:16px;font-weight:400;color:var( --e-global-color-5ae76ae );}.elementor-1593 .elementor-element.elementor-element-dafbb49{--divider-border-style:solid;--divider-color:var( --e-global-color-1c2b8bd );--divider-border-width:1px;}.elementor-1593 .elementor-element.elementor-element-dafbb49 .elementor-divider-separator{width:100%;}.elementor-1593 .elementor-element.elementor-element-dafbb49 .elementor-divider{padding-block-start:10px;padding-block-end:10px;}.elementor-1593 .elementor-element.elementor-element-cd8dcbb > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-1593 .elementor-element.elementor-element-cd8dcbb .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:24px;font-weight:700;color:var( --e-global-color-5ae76ae );}.elementor-1593 .elementor-element.elementor-element-1db4105 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:5px 0px 0px 0px;}.elementor-1593 .elementor-element.elementor-element-1db4105 .elementor-heading-title{font-family:"Mulish", Sans-serif;font-size:16px;font-weight:400;color:var( --e-global-color-5ae76ae );}.elementor-1593 .elementor-element.elementor-element-688c3ef{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:0px;}.elementor-1593 .elementor-element.elementor-element-4b6cfb5 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:24px;font-weight:700;color:var( --e-global-color-5ae76ae );}.elementor-1593 .elementor-element.elementor-element-7887748 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:5px 0px 0px 0px;}.elementor-1593 .elementor-element.elementor-element-7887748 .elementor-heading-title{font-family:"Mulish", Sans-serif;font-size:28px;font-weight:800;color:var( --e-global-color-5ae76ae );}.elementor-1593 .elementor-element.elementor-element-3f8044f{--divider-border-style:solid;--divider-color:var( --e-global-color-1c2b8bd );--divider-border-width:1px;}.elementor-1593 .elementor-element.elementor-element-3f8044f .elementor-divider-separator{width:100%;}.elementor-1593 .elementor-element.elementor-element-3f8044f .elementor-divider{padding-block-start:10px;padding-block-end:10px;}.elementor-1593 .elementor-element.elementor-element-2a20f6f .elementor-heading-title{font-family:"Mulish", Sans-serif;font-size:18px;font-weight:600;color:var( --e-global-color-5ae76ae );}.elementor-1593 .elementor-element.elementor-element-2c7260d .elementor-button{background-color:var( --e-global-color-85d06fc );font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:600;fill:var( --e-global-color-5ae76ae );color:var( --e-global-color-5ae76ae );border-radius:6px 6px 6px 6px;padding:25px 25px 25px 25px;}.elementor-1593 .elementor-element.elementor-element-2c7260d .elementor-button:hover, .elementor-1593 .elementor-element.elementor-element-2c7260d .elementor-button:focus{background-color:var( --e-global-color-5ae76ae );color:var( --e-global-color-1c2b8bd );}.elementor-1593 .elementor-element.elementor-element-2c7260d > .elementor-widget-container{margin:010px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-1593 .elementor-element.elementor-element-2c7260d .elementor-button-content-wrapper{flex-direction:row;}.elementor-1593 .elementor-element.elementor-element-2c7260d .elementor-button .elementor-button-content-wrapper{gap:20px;}.elementor-1593 .elementor-element.elementor-element-2c7260d .elementor-button:hover svg, .elementor-1593 .elementor-element.elementor-element-2c7260d .elementor-button:focus svg{fill:var( --e-global-color-1c2b8bd );}.elementor-1593 .elementor-element.elementor-element-309c6d6 > .elementor-widget-container{margin:10px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-1593 .elementor-element.elementor-element-309c6d6 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:600;color:var( --e-global-color-5ae76ae );}.elementor-1593 .elementor-element.elementor-element-c4ec44d{--display:flex;--min-height:400px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-1593 .elementor-element.elementor-element-f4965cc{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-widget-nested-tabs.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > :is( .e-n-tab-title > .e-n-tab-title-text, .e-n-tab-title ){font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-1593 .elementor-element.elementor-element-1c94bbf{--display:flex;--margin-top:20px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-1593 .elementor-element.elementor-element-0274dfd{font-family:"Mulish", Sans-serif;font-size:16px;font-weight:400;color:var( --e-global-color-5ae76ae );}.elementor-1593 .elementor-element.elementor-element-c6108f2{--display:flex;--margin-top:20px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1593 .elementor-element.elementor-element-6d6d65e > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-1593 .elementor-element.elementor-element-6d6d65e{font-family:"Mulish", Sans-serif;font-size:16px;font-weight:400;color:var( --e-global-color-5ae76ae );}.elementor-1593 .elementor-element.elementor-element-d7910c1{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1593 .elementor-element.elementor-element-aa4b981{font-family:"Mulish", Sans-serif;font-size:16px;font-weight:400;color:var( --e-global-color-5ae76ae );}.elementor-1593 .elementor-element.elementor-element-3aa3387{--display:flex;--margin-top:20px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1593 .elementor-element.elementor-element-29dde60{font-family:"Mulish", Sans-serif;font-size:16px;font-weight:400;color:var( --e-global-color-5ae76ae );}.elementor-1593 .elementor-element.elementor-element-5bb8672{--display:flex;--margin-top:20px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1593 .elementor-element.elementor-element-3aa3d5c > .elementor-widget-container{margin:0px 0px 0px 0px;padding:5px 0px 0px 0px;}.elementor-1593 .elementor-element.elementor-element-3aa3d5c .elementor-heading-title{font-family:"Mulish", Sans-serif;font-size:28px;font-weight:800;color:var( --e-global-color-5ae76ae );}.elementor-1593 .elementor-element.elementor-element-56bfc53{font-family:"Mulish", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;color:var( --e-global-color-5ae76ae );}.elementor-1593 .elementor-element.elementor-element-07275d3 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:5px 0px 0px 0px;}.elementor-1593 .elementor-element.elementor-element-07275d3 .elementor-heading-title{font-family:"Mulish", Sans-serif;font-size:28px;font-weight:800;color:var( --e-global-color-5ae76ae );}.elementor-1593 .elementor-element.elementor-element-54db825{font-family:"Mulish", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;color:var( --e-global-color-5ae76ae );}.elementor-1593 .elementor-element.elementor-element-8708d12{--display:flex;--margin-top:20px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1593 .elementor-element.elementor-element-3592e80{font-family:"Mulish", Sans-serif;font-size:16px;font-weight:400;color:var( --e-global-color-5ae76ae );}.elementor-1593 .elementor-element.elementor-element-16d51e3{font-family:"Mulish", Sans-serif;font-size:16px;font-weight:400;color:var( --e-global-color-5ae76ae );}.elementor-1593 .elementor-element.elementor-element-4d36103{--n-tabs-direction:column;--n-tabs-heading-direction:row;--n-tabs-heading-width:initial;--n-tabs-title-flex-basis:content;--n-tabs-title-flex-shrink:0;--n-tabs-heading-justify-content:flex-start;--n-tabs-title-width:initial;--n-tabs-title-height:initial;--n-tabs-title-align-items:center;--n-tabs-title-flex-grow:0;--n-tabs-heading-wrap:wrap;--n-tabs-heading-overflow-x:initial;--n-tabs-title-white-space:initial;--n-tabs-title-border-radius:6px 6px 6px 6px;--n-tabs-title-font-size:18px;--n-tabs-title-color-active:var( --e-global-color-5ae76ae );}.elementor-1593 .elementor-element.elementor-element-4d36103.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-85d06fc );}.elementor-1593 .elementor-element.elementor-element-4d36103.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-1593 .elementor-element.elementor-element-4d36103.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-85d06fc );}.elementor-1593 .elementor-element.elementor-element-4d36103.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > :is( .e-n-tab-title > .e-n-tab-title-text, .e-n-tab-title ){font-family:"Montserrat", Sans-serif;font-weight:600;}.elementor-1593 .elementor-element.elementor-element-4d36103 [data-touch-mode="false"] .e-n-tab-title[aria-selected="false"]:hover{--n-tabs-title-color-hover:var( --e-global-color-5ae76ae );}.elementor-1593 .elementor-element.elementor-element-ef7487b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}@media(max-width:1024px){.elementor-1593 .elementor-element.elementor-element-a76a9eb{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-1593 .elementor-element.elementor-element-3621392{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-1593 .elementor-element.elementor-element-3973d2a{text-align:start;}.elementor-1593 .elementor-element.elementor-element-0478104{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1593 .elementor-element.elementor-element-688c3ef{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1593 .elementor-element.elementor-element-c4ec44d{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:30px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}}@media(max-width:767px){.elementor-1593 .elementor-element.elementor-element-a76a9eb{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:010px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-1593 .elementor-element.elementor-element-a1f21b8 .elementor-heading-title{font-size:32px;}body:not(.rtl) .elementor-1593 .elementor-element.elementor-element-f6cfd51{right:3%;}body.rtl .elementor-1593 .elementor-element.elementor-element-f6cfd51{left:3%;}.elementor-1593 .elementor-element.elementor-element-f6cfd51{bottom:10%;}.elementor-1593 .elementor-element.elementor-element-f6cfd51 .elementor-button{padding:15px 15px 15px 15px;}.elementor-1593 .elementor-element.elementor-element-c6142f1{--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1593 .elementor-element.elementor-element-3621392{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-1593 .elementor-element.elementor-element-0478104{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1593 .elementor-element.elementor-element-5d8169f .elementor-heading-title{font-size:20px;}.elementor-1593 .elementor-element.elementor-element-b848d58 .elementor-heading-title{font-size:24px;}.elementor-1593 .elementor-element.elementor-element-ce74d49 .elementor-heading-title{font-size:20px;}.elementor-1593 .elementor-element.elementor-element-cd8dcbb .elementor-heading-title{font-size:20px;}.elementor-1593 .elementor-element.elementor-element-688c3ef{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1593 .elementor-element.elementor-element-4b6cfb5 .elementor-heading-title{font-size:20px;}.elementor-1593 .elementor-element.elementor-element-7887748 .elementor-heading-title{font-size:24px;}.elementor-1593 .elementor-element.elementor-element-2c7260d .elementor-button{padding:20px 20px 20px 20px;}.elementor-1593 .elementor-element.elementor-element-309c6d6 .elementor-heading-title{font-size:14px;}.elementor-1593 .elementor-element.elementor-element-c4ec44d{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-1593 .elementor-element.elementor-element-c6108f2{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1593 .elementor-element.elementor-element-6d6d65e{width:100%;max-width:100%;column-gap:0px;}.elementor-1593 .elementor-element.elementor-element-6d6d65e > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-1593 .elementor-element.elementor-element-5bb8672{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1593 .elementor-element.elementor-element-3aa3d5c .elementor-heading-title{font-size:20px;}.elementor-1593 .elementor-element.elementor-element-07275d3 .elementor-heading-title{font-size:20px;}.elementor-1593 .elementor-element.elementor-element-8708d12{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1593 .elementor-element.elementor-element-4d36103{--n-tabs-direction:column;--n-tabs-heading-direction:row;--n-tabs-heading-width:initial;--n-tabs-title-flex-basis:content;--n-tabs-title-flex-shrink:0;--n-tabs-heading-wrap:wrap;--n-tabs-heading-overflow-x:initial;--n-tabs-title-white-space:initial;--n-tabs-title-gap:10px;--n-tabs-gap:20px;--n-tabs-title-padding-top:12px;--n-tabs-title-padding-right:12px;--n-tabs-title-padding-bottom:12px;--n-tabs-title-padding-left:12px;--n-tabs-title-font-size:15px;}}@media(min-width:768px){.elementor-1593 .elementor-element.elementor-element-a76a9eb{--content-width:1500px;}.elementor-1593 .elementor-element.elementor-element-ee2cdfc{--width:50%;}.elementor-1593 .elementor-element.elementor-element-c6142f1{--width:50%;}.elementor-1593 .elementor-element.elementor-element-3621392{--content-width:1500px;}.elementor-1593 .elementor-element.elementor-element-15eca12{--width:50%;}.elementor-1593 .elementor-element.elementor-element-0478104{--width:25%;}.elementor-1593 .elementor-element.elementor-element-688c3ef{--width:25%;}.elementor-1593 .elementor-element.elementor-element-c4ec44d{--content-width:1500px;}.elementor-1593 .elementor-element.elementor-element-f4965cc{--width:70%;}.elementor-1593 .elementor-element.elementor-element-ef7487b{--width:30%;}}@media(max-width:1024px) and (min-width:768px){.elementor-1593 .elementor-element.elementor-element-ee2cdfc{--width:100%;}.elementor-1593 .elementor-element.elementor-element-15eca12{--width:100%;}.elementor-1593 .elementor-element.elementor-element-0478104{--width:100%;}.elementor-1593 .elementor-element.elementor-element-688c3ef{--width:100%;}.elementor-1593 .elementor-element.elementor-element-f4965cc{--width:100%;}}/* Start custom CSS for button, class: .elementor-element-f6cfd51 */.elementor-1593 .elementor-element.elementor-element-f6cfd51 .elementor-button {
 background: linear-gradient(230deg, #000000, #000000, #FFC72C);
 background-size: 200% 200%;
 animation: gradientBG 3s ease infinite;
 }
 @keyframes gradientBG {
 0% {
 background-position: 0% 50%;
 }
 50% {
 background-position: 100% 50%;
 }
 100% {
 background-position: 0% 50%;
 }
 }
 
 .elementor-1593 .elementor-element.elementor-element-f6cfd51 .elementor-button-icon {
 transition: transform 0.8s ease;
 }
 .elementor-1593 .elementor-element.elementor-element-f6cfd51 .elementor-button:hover .elementor-button-icon {
 transform: translateY(-5px);
 }
 .elementor-1593 .elementor-element.elementor-element-f6cfd51 .elementor-button {
 transition: all 0.8s ease;
 }
  .elementor-1593 .elementor-element.elementor-element-f6cfd51{
 opacity: 0;
 transition: all 0.3s ease-in-out;
 }
 body.show .elementor-1593 .elementor-element.elementor-element-f6cfd51{
 opacity: 1;
 }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-6d6d65e *//* --- ESTILOS GENERALES PARA ESTA TABLA ESPECÍFICA (aplican siempre) --- */
.elementor-element-6d6d65e table {
    width: 100%; /* Por defecto, intenta ocupar el ancho de su contenedor div */
    border-collapse: collapse; /* Quita espacios entre bordes de celda */
    font-family: 'Mulish', sans-serif;
    background-color: #ffffff;
    border-radius: 8px; /* Borde redondeado para la tabla */
    overflow: hidden;   /* Para que el border-radius recorte el contenido */
    border: 1px solid #E5E7EB; /* Borde exterior principal de la tabla */
    /* Eliminamos table-layout: fixed; para que los anchos intenten ajustarse al contenido */
}

.elementor-element-6d6d65e th,
.elementor-element-6d6d65e td {
    padding: 12px 15px; /* Padding base para escritorio */
    text-align: left;
    border: 1px solid #E5E7EB; /* Bordes para cada celda */
    vertical-align: top; /* Bueno para celdas con rowspan */
}

/* Fila del Título Principal "HOTELES PREVISTOS O SIMILARES" */
.elementor-element-6d6d65e table tr:first-child td[colspan="4"] {
    background-color: #F1F2F3;
    color: black;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    /* Un poco más grande para el título */
    text-transform: uppercase;
    letter-spacing: 0.4px;
    text-align: center;
     /* El <b> ya lo hace, pero para asegurar */
}
.elementor-element-6d6d65e table tr:first-child td[colspan="4"] b {
    font-weight: 600; /* O el que prefieras para el <b> */
}


/* Fila de Cabeceras de Columna (PAÍS, CIUDAD, HOTEL, TIPO) */
.elementor-element-6d6d65e table tr:nth-child(2) td { /* Ya que son <td> con <strong> */
    background-color: #F1F2F3;
    color: black;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: 600; /* Hacemos que el TD sea el que lleve el peso */
}
.elementor-element-6d6d65e table tr:nth-child(2) td strong {
    font-weight: inherit; /* Para que no aplique doble bold si el TD ya es bold */
}

/* Celdas de datos normales */
.elementor-element-6d6d65e table td {
    font-size: 14px; /* Tamaño de fuente para datos en escritorio */
    font-family: 'Mulish', sans-serif;
}

/* Estilo para filas impares del cuerpo si se desea (tbody es implícito) */
/* .elementor-element-6d6d65e table tr:not(:first-child):not(:nth-child(2)):not(:nth-last-child(-n+2)):nth-child(odd) td {
    background-color: #f9f9f9;
} */


/* Filas de notas al final con colspan */
.elementor-element-6d6d65e table tr:nth-last-child(-n+2) td[colspan="4"] {
    font-style: italic;
    color: #555;
    background-color: #f8f9fa; /* Un fondo ligeramente diferente para las notas */
    font-size: 13px;
    border-top: 2px solid #dee2e6; /* Un separador más grueso para las notas */
}


/* --- ESTILOS RESPONSIVE PARA MÓVILES --- */
@media screen and (max-width: 767px) {

    /* El div que envuelve la tabla tiene padding:0px 20px;
       Si queremos que la tabla use realmente los 380px, este padding debe reducirse.
       ¡IMPORTANTE! puede ser necesario para que no afecte a otros elementos si este div es genérico. */
    .elementor-element-6d6d65e .elementor-widget-container > div[style*="padding:0px 20px"] {
        padding: 0 5px !important; /* Reducimos el padding del contenedor para dar más espacio a la tabla */
    }

    .elementor-element-6d6d65e table {
        max-width: 380px;   /* Ancho máximo de la tabla */
        width: 100%;        /* Ocupará el 100% hasta llegar a 380px */
        margin: 0 auto;     /* Centra la tabla si el contenedor div es más ancho que 380px */
        font-size: 10px;    /* Reducimos la fuente base para la tabla en móvil */
        border-radius: 6px;
    }

    .elementor-element-6d6d65e th, /* Aunque no tienes TH explícitos, por si acaso */
    .elementor-element-6d6d65e td {
        padding: 6px 4px; /* Padding reducido para celdas en móvil */
        font-size: 10px;  /* Asegura que todas las celdas tengan esta fuente base */
        word-wrap: break-word;
        overflow-wrap: break-word; /* Para que el texto se rompa y no desborde la celda */
    }

    /* Título Principal en móvil */
    .elementor-element-6d6d65e table tr:first-child td[colspan="4"] {
        font-size: 12px;
        font-weight:500;
        padding: 8px 5px;
    }

    /* Cabeceras de Columna (PAÍS, CIUDAD, etc.) en móvil */
    .elementor-element-6d6d65e table tr:nth-child(2) td {
        font-size: 12px; /* Más pequeñas para cabeceras */
        padding: 7px 4px;
        white-space: normal;
        font-weight: 700;/* Permitir que se rompan si es necesario */
    }

    /* Intentar ajustar anchos de columna específicos en móvil */
    /* PAÍS (Primera columna) */
    .elementor-element-6d6d65e table tr td:first-child:not([colspan]) { /* Excluimos la primera celda con colspan */
        width: 22%; /* Dale un porcentaje, ej: 20-25% */
    }
    .elementor-element-6d6d65e table tr:nth-child(2) td:first-child { /* Cabecera PAÍS */
        width: 22%;
    }


    /* TIPO (Cuarta columna de datos - contiene "P") */
    .elementor-element-6d6d65e table tr td:nth-child(4):not([colspan]) {
        width: 10%; /* Muy estrecha para "P" */
        text-align: center; /* Centrar la "P" */
    }
    .elementor-element-6d6d65e table tr:nth-child(2) td:nth-child(4) { /* Cabecera TIPO */
        width: 10%;
        text-align: center;
    }

    /* La columna HOTEL (tercera) y CIUDAD (segunda) tomarán el espacio restante.
       HOTEL es la que probablemente necesite más espacio. */


    /* Notas al final en móvil */
    .elementor-element-6d6d65e table tr:nth-last-child(-n+2) td[colspan="4"] {
        font-size: 12px;
        padding: 6px 5px;
    }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-aa4b981 *//* --- ESTILOS GENERALES PARA TABLAS DENTRO DE .elementor-element-d7910c1 (aplican siempre) --- */
.elementor-element-d7910c1 table {
    width: 100%;
    border-collapse: collapse;
    font-family: 'Mulish', sans-serif;
    background-color: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #E5E7EB;
    margin-bottom: 20px; /* Espacio entre tablas y entre tablas y párrafos */
    /* table-layout: auto; por defecto para que las columnas se ajusten al contenido */
}

.elementor-element-d7910c1 th, /* Por si alguna vez usas th */
.elementor-element-d7910c1 td {
    padding: 10px 12px; /* Padding base para escritorio, un poco menos que el ejemplo anterior */
    text-align: left;
    border: 1px solid #E5E7EB;
    vertical-align: top;
}

/* Estilo para los párrafos que actúan como títulos de sección */
.elementor-element-d7910c1 .elementor-widget-container > div > p > strong {
    display: block; /* Para que ocupe toda la línea y podamos centrar/marginar */
    margin-bottom: 10px;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px!important;
    color: black;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: 600;
}

/* Fila de Cabeceras de Columna (HOTEL, CPL, etc.) */
.elementor-element-d7910c1 table tr:first-child td {
    background-color: #F1F2F3;
    color: black;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px; /* Un poco más pequeño para estas cabeceras */
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: 600; /* Hacemos que el TD sea el que lleve el peso */
}
.elementor-element-d7910c1 table tr:first-child td strong {
    font-weight: inherit; /* Para que no aplique doble bold si el TD ya es bold */
}

/* Celdas de datos normales (tarifas) */
.elementor-element-d7910c1 table td {
    font-size: 13px; /* Tamaño de fuente para datos en escritorio */
    font-family: 'Mulish', sans-serif;
}

/* Estilo para filas impares del cuerpo si se desea */
/* .elementor-element-d7910c1 table tr:not(:first-child):nth-child(odd) td {
    background-color: #f9f9f9;
} */

/* Párrafos de notas al final */
.elementor-element-d7910c1 .elementor-widget-container > div > p:not(:has(strong)) { /* Párrafos que NO contienen un <strong> (para no afectar los títulos) */
    font-size: 13px;
    font-family: 'Mulish', sans-serif;
    color: #555;
    margin-top: 5px;
    margin-bottom: 5px;
    line-height: 1.6;
}


/* --- ESTILOS RESPONSIVE PARA MÓVILES (dentro de .elementor-element-d7910c1) --- */
@media screen and (max-width: 767px) {

    /* El div que envuelve las tablas tiene padding:20px; */
    .elementor-element-d7910c1 .elementor-widget-container > div[style*="padding:20px"] {
        padding: 10px 5px !important; /* Reducimos el padding del contenedor para dar más espacio a la tabla */
    }

    .elementor-element-d7910c1 table {
        max-width: 380px;
        width: 100%;
        margin: 0 auto 15px auto; /* Centra la tabla y añade margen inferior */
        font-size: 9px; /* Reducimos la fuente base para la tabla en móvil */
        border-radius: 6px;
    }

    .elementor-element-d7910c1 th,
    .elementor-element-d7910c1 td {
        padding: 5px 3px; /* Padding muy reducido para celdas en móvil */
        font-size: 9px;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }

    /* Títulos de sección de tablas en móvil */
    .elementor-element-d7910c1 .elementor-widget-container > div > p > strong {
        font-size: 12px;
        margin-bottom: 8px;
    }

    /* Cabeceras de Columna (HOTEL, CPL, etc.) en móvil */
    .elementor-element-d7910c1 table tr:first-child td {
        font-size: 8px; /* Muy pequeñas para cabeceras, ajusta si es ilegible */
        padding: 4px 2px;
        white-space: normal; /* Permitir que se rompan si es necesario */
        /* Si las cabeceras son de una sola palabra, puedes probar nowrap: */
        /* white-space: nowrap; */
    }

    /* Ajustar anchos de columna específicos en móvil para las tablas de tarifas */
    /* La columna HOTEL suele ser la primera en estas tablas */
    .elementor-element-d7910c1 table:not(:last-of-type) tr td:first-child:not([colspan]) { /* Para las tablas de tarifas, no la de impuestos */
        width: 30%; /* Dale más espacio a HOTEL */
    }
    .elementor-element-d7910c1 table:not(:last-of-type) tr:first-child td:first-child { /* Cabecera HOTEL */
        width: 30%;
    }

    /* Las columnas de tarifas (CPL, TRIPLE, DOBLE, SGL, MNR) */
    /* Como todas contienen precios, podemos intentar darles un ancho similar o dejar que auto lo maneje.
       Si quieres forzar un ancho más pequeño para ellas: */
    .elementor-element-d7910c1 table:not(:last-of-type) tr td:not(:first-child):not([colspan]) {
        width: 14%; /* Dividiendo el 70% restante entre 5 columnas */
        text-align: center; /* Centrar los precios puede verse bien */
    }
    .elementor-element-d7910c1 table:not(:last-of-type) tr:first-child td:not(:first-child) {
        width: 14%;
        text-align: center;
    }


    /* Tabla de Impuestos (suele ser la última tabla con 2 columnas) */
    .elementor-element-d7910c1 table:last-of-type tr td:first-child { /* "Impuestos aéreos" */
        width: 65%;
    }
    .elementor-element-d7910c1 table:last-of-type tr td:nth-child(2) { /* El precio del impuesto */
        width: 35%;
        text-align: right; /* Alinear el precio a la derecha */
    }

    /* Párrafos de notas al final en móvil */
    .elementor-element-d7910c1 .elementor-widget-container > div > p:not(:has(strong)) {
        font-size: 10px; /* Un poco más legible para las notas */
        line-height: 1.5;
    }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-6d6d65e *//* --- ESTILOS GENERALES PARA ESTA TABLA ESPECÍFICA (aplican siempre) --- */
.elementor-element-6d6d65e table {
    width: 100%; /* Por defecto, intenta ocupar el ancho de su contenedor div */
    border-collapse: collapse; /* Quita espacios entre bordes de celda */
    font-family: 'Mulish', sans-serif;
    background-color: #ffffff;
    border-radius: 8px; /* Borde redondeado para la tabla */
    overflow: hidden;   /* Para que el border-radius recorte el contenido */
    border: 1px solid #E5E7EB; /* Borde exterior principal de la tabla */
    /* Eliminamos table-layout: fixed; para que los anchos intenten ajustarse al contenido */
}

.elementor-element-6d6d65e th,
.elementor-element-6d6d65e td {
    padding: 12px 15px; /* Padding base para escritorio */
    text-align: left;
    border: 1px solid #E5E7EB; /* Bordes para cada celda */
    vertical-align: top; /* Bueno para celdas con rowspan */
}

/* Fila del Título Principal "HOTELES PREVISTOS O SIMILARES" */
.elementor-element-6d6d65e table tr:first-child td[colspan="4"] {
    background-color: #F1F2F3;
    color: black;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    /* Un poco más grande para el título */
    text-transform: uppercase;
    letter-spacing: 0.4px;
    text-align: center;
     /* El <b> ya lo hace, pero para asegurar */
}
.elementor-element-6d6d65e table tr:first-child td[colspan="4"] b {
    font-weight: 600; /* O el que prefieras para el <b> */
}


/* Fila de Cabeceras de Columna (PAÍS, CIUDAD, HOTEL, TIPO) */
.elementor-element-6d6d65e table tr:nth-child(2) td { /* Ya que son <td> con <strong> */
    background-color: #F1F2F3;
    color: black;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: 600; /* Hacemos que el TD sea el que lleve el peso */
}
.elementor-element-6d6d65e table tr:nth-child(2) td strong {
    font-weight: inherit; /* Para que no aplique doble bold si el TD ya es bold */
}

/* Celdas de datos normales */
.elementor-element-6d6d65e table td {
    font-size: 14px; /* Tamaño de fuente para datos en escritorio */
    font-family: 'Mulish', sans-serif;
}

/* Estilo para filas impares del cuerpo si se desea (tbody es implícito) */
/* .elementor-element-6d6d65e table tr:not(:first-child):not(:nth-child(2)):not(:nth-last-child(-n+2)):nth-child(odd) td {
    background-color: #f9f9f9;
} */


/* Filas de notas al final con colspan */
.elementor-element-6d6d65e table tr:nth-last-child(-n+2) td[colspan="4"] {
    font-style: italic;
    color: #555;
    background-color: #f8f9fa; /* Un fondo ligeramente diferente para las notas */
    font-size: 13px;
    border-top: 2px solid #dee2e6; /* Un separador más grueso para las notas */
}


/* --- ESTILOS RESPONSIVE PARA MÓVILES --- */
@media screen and (max-width: 767px) {

    /* El div que envuelve la tabla tiene padding:0px 20px;
       Si queremos que la tabla use realmente los 380px, este padding debe reducirse.
       ¡IMPORTANTE! puede ser necesario para que no afecte a otros elementos si este div es genérico. */
    .elementor-element-6d6d65e .elementor-widget-container > div[style*="padding:0px 20px"] {
        padding: 0 5px !important; /* Reducimos el padding del contenedor para dar más espacio a la tabla */
    }

    .elementor-element-6d6d65e table {
        max-width: 380px;   /* Ancho máximo de la tabla */
        width: 100%;        /* Ocupará el 100% hasta llegar a 380px */
        margin: 0 auto;     /* Centra la tabla si el contenedor div es más ancho que 380px */
        font-size: 10px;    /* Reducimos la fuente base para la tabla en móvil */
        border-radius: 6px;
    }

    .elementor-element-6d6d65e th, /* Aunque no tienes TH explícitos, por si acaso */
    .elementor-element-6d6d65e td {
        padding: 6px 4px; /* Padding reducido para celdas en móvil */
        font-size: 10px;  /* Asegura que todas las celdas tengan esta fuente base */
        word-wrap: break-word;
        overflow-wrap: break-word; /* Para que el texto se rompa y no desborde la celda */
    }

    /* Título Principal en móvil */
    .elementor-element-6d6d65e table tr:first-child td[colspan="4"] {
        font-size: 12px;
        font-weight:500;
        padding: 8px 5px;
    }

    /* Cabeceras de Columna (PAÍS, CIUDAD, etc.) en móvil */
    .elementor-element-6d6d65e table tr:nth-child(2) td {
        font-size: 12px; /* Más pequeñas para cabeceras */
        padding: 7px 4px;
        white-space: normal;
        font-weight: 700;/* Permitir que se rompan si es necesario */
    }

    /* Intentar ajustar anchos de columna específicos en móvil */
    /* PAÍS (Primera columna) */
    .elementor-element-6d6d65e table tr td:first-child:not([colspan]) { /* Excluimos la primera celda con colspan */
        width: 22%; /* Dale un porcentaje, ej: 20-25% */
    }
    .elementor-element-6d6d65e table tr:nth-child(2) td:first-child { /* Cabecera PAÍS */
        width: 22%;
    }


    /* TIPO (Cuarta columna de datos - contiene "P") */
    .elementor-element-6d6d65e table tr td:nth-child(4):not([colspan]) {
        width: 10%; /* Muy estrecha para "P" */
        text-align: center; /* Centrar la "P" */
    }
    .elementor-element-6d6d65e table tr:nth-child(2) td:nth-child(4) { /* Cabecera TIPO */
        width: 10%;
        text-align: center;
    }

    /* La columna HOTEL (tercera) y CIUDAD (segunda) tomarán el espacio restante.
       HOTEL es la que probablemente necesite más espacio. */


    /* Notas al final en móvil */
    .elementor-element-6d6d65e table tr:nth-last-child(-n+2) td[colspan="4"] {
        font-size: 12px;
        padding: 6px 5px;
    }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-aa4b981 *//* --- ESTILOS GENERALES PARA TABLAS DENTRO DE .elementor-element-d7910c1 (aplican siempre) --- */
.elementor-element-d7910c1 table {
    width: 100%;
    border-collapse: collapse;
    font-family: 'Mulish', sans-serif;
    background-color: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #E5E7EB;
    margin-bottom: 20px; /* Espacio entre tablas y entre tablas y párrafos */
    /* table-layout: auto; por defecto para que las columnas se ajusten al contenido */
}

.elementor-element-d7910c1 th, /* Por si alguna vez usas th */
.elementor-element-d7910c1 td {
    padding: 10px 12px; /* Padding base para escritorio, un poco menos que el ejemplo anterior */
    text-align: left;
    border: 1px solid #E5E7EB;
    vertical-align: top;
}

/* Estilo para los párrafos que actúan como títulos de sección */
.elementor-element-d7910c1 .elementor-widget-container > div > p > strong {
    display: block; /* Para que ocupe toda la línea y podamos centrar/marginar */
    margin-bottom: 10px;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px!important;
    color: black;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: 600;
}

/* Fila de Cabeceras de Columna (HOTEL, CPL, etc.) */
.elementor-element-d7910c1 table tr:first-child td {
    background-color: #F1F2F3;
    color: black;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px; /* Un poco más pequeño para estas cabeceras */
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: 600; /* Hacemos que el TD sea el que lleve el peso */
}
.elementor-element-d7910c1 table tr:first-child td strong {
    font-weight: inherit; /* Para que no aplique doble bold si el TD ya es bold */
}

/* Celdas de datos normales (tarifas) */
.elementor-element-d7910c1 table td {
    font-size: 13px; /* Tamaño de fuente para datos en escritorio */
    font-family: 'Mulish', sans-serif;
}

/* Estilo para filas impares del cuerpo si se desea */
/* .elementor-element-d7910c1 table tr:not(:first-child):nth-child(odd) td {
    background-color: #f9f9f9;
} */

/* Párrafos de notas al final */
.elementor-element-d7910c1 .elementor-widget-container > div > p:not(:has(strong)) { /* Párrafos que NO contienen un <strong> (para no afectar los títulos) */
    font-size: 13px;
    font-family: 'Mulish', sans-serif;
    color: #555;
    margin-top: 5px;
    margin-bottom: 5px;
    line-height: 1.6;
}


/* --- ESTILOS RESPONSIVE PARA MÓVILES (dentro de .elementor-element-d7910c1) --- */
@media screen and (max-width: 767px) {

    /* El div que envuelve las tablas tiene padding:20px; */
    .elementor-element-d7910c1 .elementor-widget-container > div[style*="padding:20px"] {
        padding: 10px 5px !important; /* Reducimos el padding del contenedor para dar más espacio a la tabla */
    }

    .elementor-element-d7910c1 table {
        max-width: 380px;
        width: 100%;
        margin: 0 auto 15px auto; /* Centra la tabla y añade margen inferior */
        font-size: 9px; /* Reducimos la fuente base para la tabla en móvil */
        border-radius: 6px;
    }

    .elementor-element-d7910c1 th,
    .elementor-element-d7910c1 td {
        padding: 5px 3px; /* Padding muy reducido para celdas en móvil */
        font-size: 9px;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }

    /* Títulos de sección de tablas en móvil */
    .elementor-element-d7910c1 .elementor-widget-container > div > p > strong {
        font-size: 12px;
        margin-bottom: 8px;
    }

    /* Cabeceras de Columna (HOTEL, CPL, etc.) en móvil */
    .elementor-element-d7910c1 table tr:first-child td {
        font-size: 8px; /* Muy pequeñas para cabeceras, ajusta si es ilegible */
        padding: 4px 2px;
        white-space: normal; /* Permitir que se rompan si es necesario */
        /* Si las cabeceras son de una sola palabra, puedes probar nowrap: */
        /* white-space: nowrap; */
    }

    /* Ajustar anchos de columna específicos en móvil para las tablas de tarifas */
    /* La columna HOTEL suele ser la primera en estas tablas */
    .elementor-element-d7910c1 table:not(:last-of-type) tr td:first-child:not([colspan]) { /* Para las tablas de tarifas, no la de impuestos */
        width: 30%; /* Dale más espacio a HOTEL */
    }
    .elementor-element-d7910c1 table:not(:last-of-type) tr:first-child td:first-child { /* Cabecera HOTEL */
        width: 30%;
    }

    /* Las columnas de tarifas (CPL, TRIPLE, DOBLE, SGL, MNR) */
    /* Como todas contienen precios, podemos intentar darles un ancho similar o dejar que auto lo maneje.
       Si quieres forzar un ancho más pequeño para ellas: */
    .elementor-element-d7910c1 table:not(:last-of-type) tr td:not(:first-child):not([colspan]) {
        width: 14%; /* Dividiendo el 70% restante entre 5 columnas */
        text-align: center; /* Centrar los precios puede verse bien */
    }
    .elementor-element-d7910c1 table:not(:last-of-type) tr:first-child td:not(:first-child) {
        width: 14%;
        text-align: center;
    }


    /* Tabla de Impuestos (suele ser la última tabla con 2 columnas) */
    .elementor-element-d7910c1 table:last-of-type tr td:first-child { /* "Impuestos aéreos" */
        width: 65%;
    }
    .elementor-element-d7910c1 table:last-of-type tr td:nth-child(2) { /* El precio del impuesto */
        width: 35%;
        text-align: right; /* Alinear el precio a la derecha */
    }

    /* Párrafos de notas al final en móvil */
    .elementor-element-d7910c1 .elementor-widget-container > div > p:not(:has(strong)) {
        font-size: 10px; /* Un poco más legible para las notas */
        line-height: 1.5;
    }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-6d6d65e *//* --- ESTILOS GENERALES PARA ESTA TABLA ESPECÍFICA (aplican siempre) --- */
.elementor-element-6d6d65e table {
    width: 100%; /* Por defecto, intenta ocupar el ancho de su contenedor div */
    border-collapse: collapse; /* Quita espacios entre bordes de celda */
    font-family: 'Mulish', sans-serif;
    background-color: #ffffff;
    border-radius: 8px; /* Borde redondeado para la tabla */
    overflow: hidden;   /* Para que el border-radius recorte el contenido */
    border: 1px solid #E5E7EB; /* Borde exterior principal de la tabla */
    /* Eliminamos table-layout: fixed; para que los anchos intenten ajustarse al contenido */
}

.elementor-element-6d6d65e th,
.elementor-element-6d6d65e td {
    padding: 12px 15px; /* Padding base para escritorio */
    text-align: left;
    border: 1px solid #E5E7EB; /* Bordes para cada celda */
    vertical-align: top; /* Bueno para celdas con rowspan */
}

/* Fila del Título Principal "HOTELES PREVISTOS O SIMILARES" */
.elementor-element-6d6d65e table tr:first-child td[colspan="4"] {
    background-color: #F1F2F3;
    color: black;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    /* Un poco más grande para el título */
    text-transform: uppercase;
    letter-spacing: 0.4px;
    text-align: center;
     /* El <b> ya lo hace, pero para asegurar */
}
.elementor-element-6d6d65e table tr:first-child td[colspan="4"] b {
    font-weight: 600; /* O el que prefieras para el <b> */
}


/* Fila de Cabeceras de Columna (PAÍS, CIUDAD, HOTEL, TIPO) */
.elementor-element-6d6d65e table tr:nth-child(2) td { /* Ya que son <td> con <strong> */
    background-color: #F1F2F3;
    color: black;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: 600; /* Hacemos que el TD sea el que lleve el peso */
}
.elementor-element-6d6d65e table tr:nth-child(2) td strong {
    font-weight: inherit; /* Para que no aplique doble bold si el TD ya es bold */
}

/* Celdas de datos normales */
.elementor-element-6d6d65e table td {
    font-size: 14px; /* Tamaño de fuente para datos en escritorio */
    font-family: 'Mulish', sans-serif;
}

/* Estilo para filas impares del cuerpo si se desea (tbody es implícito) */
/* .elementor-element-6d6d65e table tr:not(:first-child):not(:nth-child(2)):not(:nth-last-child(-n+2)):nth-child(odd) td {
    background-color: #f9f9f9;
} */


/* Filas de notas al final con colspan */
.elementor-element-6d6d65e table tr:nth-last-child(-n+2) td[colspan="4"] {
    font-style: italic;
    color: #555;
    background-color: #f8f9fa; /* Un fondo ligeramente diferente para las notas */
    font-size: 13px;
    border-top: 2px solid #dee2e6; /* Un separador más grueso para las notas */
}


/* --- ESTILOS RESPONSIVE PARA MÓVILES --- */
@media screen and (max-width: 767px) {

    /* El div que envuelve la tabla tiene padding:0px 20px;
       Si queremos que la tabla use realmente los 380px, este padding debe reducirse.
       ¡IMPORTANTE! puede ser necesario para que no afecte a otros elementos si este div es genérico. */
    .elementor-element-6d6d65e .elementor-widget-container > div[style*="padding:0px 20px"] {
        padding: 0 5px !important; /* Reducimos el padding del contenedor para dar más espacio a la tabla */
    }

    .elementor-element-6d6d65e table {
        max-width: 380px;   /* Ancho máximo de la tabla */
        width: 100%;        /* Ocupará el 100% hasta llegar a 380px */
        margin: 0 auto;     /* Centra la tabla si el contenedor div es más ancho que 380px */
        font-size: 10px;    /* Reducimos la fuente base para la tabla en móvil */
        border-radius: 6px;
    }

    .elementor-element-6d6d65e th, /* Aunque no tienes TH explícitos, por si acaso */
    .elementor-element-6d6d65e td {
        padding: 6px 4px; /* Padding reducido para celdas en móvil */
        font-size: 10px;  /* Asegura que todas las celdas tengan esta fuente base */
        word-wrap: break-word;
        overflow-wrap: break-word; /* Para que el texto se rompa y no desborde la celda */
    }

    /* Título Principal en móvil */
    .elementor-element-6d6d65e table tr:first-child td[colspan="4"] {
        font-size: 12px;
        font-weight:500;
        padding: 8px 5px;
    }

    /* Cabeceras de Columna (PAÍS, CIUDAD, etc.) en móvil */
    .elementor-element-6d6d65e table tr:nth-child(2) td {
        font-size: 12px; /* Más pequeñas para cabeceras */
        padding: 7px 4px;
        white-space: normal;
        font-weight: 700;/* Permitir que se rompan si es necesario */
    }

    /* Intentar ajustar anchos de columna específicos en móvil */
    /* PAÍS (Primera columna) */
    .elementor-element-6d6d65e table tr td:first-child:not([colspan]) { /* Excluimos la primera celda con colspan */
        width: 22%; /* Dale un porcentaje, ej: 20-25% */
    }
    .elementor-element-6d6d65e table tr:nth-child(2) td:first-child { /* Cabecera PAÍS */
        width: 22%;
    }


    /* TIPO (Cuarta columna de datos - contiene "P") */
    .elementor-element-6d6d65e table tr td:nth-child(4):not([colspan]) {
        width: 10%; /* Muy estrecha para "P" */
        text-align: center; /* Centrar la "P" */
    }
    .elementor-element-6d6d65e table tr:nth-child(2) td:nth-child(4) { /* Cabecera TIPO */
        width: 10%;
        text-align: center;
    }

    /* La columna HOTEL (tercera) y CIUDAD (segunda) tomarán el espacio restante.
       HOTEL es la que probablemente necesite más espacio. */


    /* Notas al final en móvil */
    .elementor-element-6d6d65e table tr:nth-last-child(-n+2) td[colspan="4"] {
        font-size: 12px;
        padding: 6px 5px;
    }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-aa4b981 *//* --- ESTILOS GENERALES PARA TABLAS DENTRO DE .elementor-element-d7910c1 (aplican siempre) --- */
.elementor-element-d7910c1 table {
    width: 100%;
    border-collapse: collapse;
    font-family: 'Mulish', sans-serif;
    background-color: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #E5E7EB;
    margin-bottom: 20px; /* Espacio entre tablas y entre tablas y párrafos */
    /* table-layout: auto; por defecto para que las columnas se ajusten al contenido */
}

.elementor-element-d7910c1 th, /* Por si alguna vez usas th */
.elementor-element-d7910c1 td {
    padding: 10px 12px; /* Padding base para escritorio, un poco menos que el ejemplo anterior */
    text-align: left;
    border: 1px solid #E5E7EB;
    vertical-align: top;
}

/* Estilo para los párrafos que actúan como títulos de sección */
.elementor-element-d7910c1 .elementor-widget-container > div > p > strong {
    display: block; /* Para que ocupe toda la línea y podamos centrar/marginar */
    margin-bottom: 10px;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px!important;
    color: black;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: 600;
}

/* Fila de Cabeceras de Columna (HOTEL, CPL, etc.) */
.elementor-element-d7910c1 table tr:first-child td {
    background-color: #F1F2F3;
    color: black;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px; /* Un poco más pequeño para estas cabeceras */
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: 600; /* Hacemos que el TD sea el que lleve el peso */
}
.elementor-element-d7910c1 table tr:first-child td strong {
    font-weight: inherit; /* Para que no aplique doble bold si el TD ya es bold */
}

/* Celdas de datos normales (tarifas) */
.elementor-element-d7910c1 table td {
    font-size: 13px; /* Tamaño de fuente para datos en escritorio */
    font-family: 'Mulish', sans-serif;
}

/* Estilo para filas impares del cuerpo si se desea */
/* .elementor-element-d7910c1 table tr:not(:first-child):nth-child(odd) td {
    background-color: #f9f9f9;
} */

/* Párrafos de notas al final */
.elementor-element-d7910c1 .elementor-widget-container > div > p:not(:has(strong)) { /* Párrafos que NO contienen un <strong> (para no afectar los títulos) */
    font-size: 13px;
    font-family: 'Mulish', sans-serif;
    color: #555;
    margin-top: 5px;
    margin-bottom: 5px;
    line-height: 1.6;
}


/* --- ESTILOS RESPONSIVE PARA MÓVILES (dentro de .elementor-element-d7910c1) --- */
@media screen and (max-width: 767px) {

    /* El div que envuelve las tablas tiene padding:20px; */
    .elementor-element-d7910c1 .elementor-widget-container > div[style*="padding:20px"] {
        padding: 10px 5px !important; /* Reducimos el padding del contenedor para dar más espacio a la tabla */
    }

    .elementor-element-d7910c1 table {
        max-width: 380px;
        width: 100%;
        margin: 0 auto 15px auto; /* Centra la tabla y añade margen inferior */
        font-size: 9px; /* Reducimos la fuente base para la tabla en móvil */
        border-radius: 6px;
    }

    .elementor-element-d7910c1 th,
    .elementor-element-d7910c1 td {
        padding: 5px 3px; /* Padding muy reducido para celdas en móvil */
        font-size: 9px;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }

    /* Títulos de sección de tablas en móvil */
    .elementor-element-d7910c1 .elementor-widget-container > div > p > strong {
        font-size: 12px;
        margin-bottom: 8px;
    }

    /* Cabeceras de Columna (HOTEL, CPL, etc.) en móvil */
    .elementor-element-d7910c1 table tr:first-child td {
        font-size: 8px; /* Muy pequeñas para cabeceras, ajusta si es ilegible */
        padding: 4px 2px;
        white-space: normal; /* Permitir que se rompan si es necesario */
        /* Si las cabeceras son de una sola palabra, puedes probar nowrap: */
        /* white-space: nowrap; */
    }

    /* Ajustar anchos de columna específicos en móvil para las tablas de tarifas */
    /* La columna HOTEL suele ser la primera en estas tablas */
    .elementor-element-d7910c1 table:not(:last-of-type) tr td:first-child:not([colspan]) { /* Para las tablas de tarifas, no la de impuestos */
        width: 30%; /* Dale más espacio a HOTEL */
    }
    .elementor-element-d7910c1 table:not(:last-of-type) tr:first-child td:first-child { /* Cabecera HOTEL */
        width: 30%;
    }

    /* Las columnas de tarifas (CPL, TRIPLE, DOBLE, SGL, MNR) */
    /* Como todas contienen precios, podemos intentar darles un ancho similar o dejar que auto lo maneje.
       Si quieres forzar un ancho más pequeño para ellas: */
    .elementor-element-d7910c1 table:not(:last-of-type) tr td:not(:first-child):not([colspan]) {
        width: 14%; /* Dividiendo el 70% restante entre 5 columnas */
        text-align: center; /* Centrar los precios puede verse bien */
    }
    .elementor-element-d7910c1 table:not(:last-of-type) tr:first-child td:not(:first-child) {
        width: 14%;
        text-align: center;
    }


    /* Tabla de Impuestos (suele ser la última tabla con 2 columnas) */
    .elementor-element-d7910c1 table:last-of-type tr td:first-child { /* "Impuestos aéreos" */
        width: 65%;
    }
    .elementor-element-d7910c1 table:last-of-type tr td:nth-child(2) { /* El precio del impuesto */
        width: 35%;
        text-align: right; /* Alinear el precio a la derecha */
    }

    /* Párrafos de notas al final en móvil */
    .elementor-element-d7910c1 .elementor-widget-container > div > p:not(:has(strong)) {
        font-size: 10px; /* Un poco más legible para las notas */
        line-height: 1.5;
    }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-6d6d65e *//* --- ESTILOS GENERALES PARA ESTA TABLA ESPECÍFICA (aplican siempre) --- */
.elementor-element-6d6d65e table {
    width: 100%; /* Por defecto, intenta ocupar el ancho de su contenedor div */
    border-collapse: collapse; /* Quita espacios entre bordes de celda */
    font-family: 'Mulish', sans-serif;
    background-color: #ffffff;
    border-radius: 8px; /* Borde redondeado para la tabla */
    overflow: hidden;   /* Para que el border-radius recorte el contenido */
    border: 1px solid #E5E7EB; /* Borde exterior principal de la tabla */
    /* Eliminamos table-layout: fixed; para que los anchos intenten ajustarse al contenido */
}

.elementor-element-6d6d65e th,
.elementor-element-6d6d65e td {
    padding: 12px 15px; /* Padding base para escritorio */
    text-align: left;
    border: 1px solid #E5E7EB; /* Bordes para cada celda */
    vertical-align: top; /* Bueno para celdas con rowspan */
}

/* Fila del Título Principal "HOTELES PREVISTOS O SIMILARES" */
.elementor-element-6d6d65e table tr:first-child td[colspan="4"] {
    background-color: #F1F2F3;
    color: black;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    /* Un poco más grande para el título */
    text-transform: uppercase;
    letter-spacing: 0.4px;
    text-align: center;
     /* El <b> ya lo hace, pero para asegurar */
}
.elementor-element-6d6d65e table tr:first-child td[colspan="4"] b {
    font-weight: 600; /* O el que prefieras para el <b> */
}


/* Fila de Cabeceras de Columna (PAÍS, CIUDAD, HOTEL, TIPO) */
.elementor-element-6d6d65e table tr:nth-child(2) td { /* Ya que son <td> con <strong> */
    background-color: #F1F2F3;
    color: black;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: 600; /* Hacemos que el TD sea el que lleve el peso */
}
.elementor-element-6d6d65e table tr:nth-child(2) td strong {
    font-weight: inherit; /* Para que no aplique doble bold si el TD ya es bold */
}

/* Celdas de datos normales */
.elementor-element-6d6d65e table td {
    font-size: 14px; /* Tamaño de fuente para datos en escritorio */
    font-family: 'Mulish', sans-serif;
}

/* Estilo para filas impares del cuerpo si se desea (tbody es implícito) */
/* .elementor-element-6d6d65e table tr:not(:first-child):not(:nth-child(2)):not(:nth-last-child(-n+2)):nth-child(odd) td {
    background-color: #f9f9f9;
} */


/* Filas de notas al final con colspan */
.elementor-element-6d6d65e table tr:nth-last-child(-n+2) td[colspan="4"] {
    font-style: italic;
    color: #555;
    background-color: #f8f9fa; /* Un fondo ligeramente diferente para las notas */
    font-size: 13px;
    border-top: 2px solid #dee2e6; /* Un separador más grueso para las notas */
}


/* --- ESTILOS RESPONSIVE PARA MÓVILES --- */
@media screen and (max-width: 767px) {

    /* El div que envuelve la tabla tiene padding:0px 20px;
       Si queremos que la tabla use realmente los 380px, este padding debe reducirse.
       ¡IMPORTANTE! puede ser necesario para que no afecte a otros elementos si este div es genérico. */
    .elementor-element-6d6d65e .elementor-widget-container > div[style*="padding:0px 20px"] {
        padding: 0 5px !important; /* Reducimos el padding del contenedor para dar más espacio a la tabla */
    }

    .elementor-element-6d6d65e table {
        max-width: 380px;   /* Ancho máximo de la tabla */
        width: 100%;        /* Ocupará el 100% hasta llegar a 380px */
        margin: 0 auto;     /* Centra la tabla si el contenedor div es más ancho que 380px */
        font-size: 10px;    /* Reducimos la fuente base para la tabla en móvil */
        border-radius: 6px;
    }

    .elementor-element-6d6d65e th, /* Aunque no tienes TH explícitos, por si acaso */
    .elementor-element-6d6d65e td {
        padding: 6px 4px; /* Padding reducido para celdas en móvil */
        font-size: 10px;  /* Asegura que todas las celdas tengan esta fuente base */
        word-wrap: break-word;
        overflow-wrap: break-word; /* Para que el texto se rompa y no desborde la celda */
    }

    /* Título Principal en móvil */
    .elementor-element-6d6d65e table tr:first-child td[colspan="4"] {
        font-size: 12px;
        font-weight:500;
        padding: 8px 5px;
    }

    /* Cabeceras de Columna (PAÍS, CIUDAD, etc.) en móvil */
    .elementor-element-6d6d65e table tr:nth-child(2) td {
        font-size: 12px; /* Más pequeñas para cabeceras */
        padding: 7px 4px;
        white-space: normal;
        font-weight: 700;/* Permitir que se rompan si es necesario */
    }

    /* Intentar ajustar anchos de columna específicos en móvil */
    /* PAÍS (Primera columna) */
    .elementor-element-6d6d65e table tr td:first-child:not([colspan]) { /* Excluimos la primera celda con colspan */
        width: 22%; /* Dale un porcentaje, ej: 20-25% */
    }
    .elementor-element-6d6d65e table tr:nth-child(2) td:first-child { /* Cabecera PAÍS */
        width: 22%;
    }


    /* TIPO (Cuarta columna de datos - contiene "P") */
    .elementor-element-6d6d65e table tr td:nth-child(4):not([colspan]) {
        width: 10%; /* Muy estrecha para "P" */
        text-align: center; /* Centrar la "P" */
    }
    .elementor-element-6d6d65e table tr:nth-child(2) td:nth-child(4) { /* Cabecera TIPO */
        width: 10%;
        text-align: center;
    }

    /* La columna HOTEL (tercera) y CIUDAD (segunda) tomarán el espacio restante.
       HOTEL es la que probablemente necesite más espacio. */


    /* Notas al final en móvil */
    .elementor-element-6d6d65e table tr:nth-last-child(-n+2) td[colspan="4"] {
        font-size: 12px;
        padding: 6px 5px;
    }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-aa4b981 *//* --- ESTILOS GENERALES PARA TABLAS DENTRO DE .elementor-element-d7910c1 (aplican siempre) --- */
.elementor-element-d7910c1 table {
    width: 100%;
    border-collapse: collapse;
    font-family: 'Mulish', sans-serif;
    background-color: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #E5E7EB;
    margin-bottom: 20px; /* Espacio entre tablas y entre tablas y párrafos */
    /* table-layout: auto; por defecto para que las columnas se ajusten al contenido */
}

.elementor-element-d7910c1 th, /* Por si alguna vez usas th */
.elementor-element-d7910c1 td {
    padding: 10px 12px; /* Padding base para escritorio, un poco menos que el ejemplo anterior */
    text-align: left;
    border: 1px solid #E5E7EB;
    vertical-align: top;
}

/* Estilo para los párrafos que actúan como títulos de sección */
.elementor-element-d7910c1 .elementor-widget-container > div > p > strong {
    display: block; /* Para que ocupe toda la línea y podamos centrar/marginar */
    margin-bottom: 10px;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px!important;
    color: black;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: 600;
}

/* Fila de Cabeceras de Columna (HOTEL, CPL, etc.) */
.elementor-element-d7910c1 table tr:first-child td {
    background-color: #F1F2F3;
    color: black;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px; /* Un poco más pequeño para estas cabeceras */
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: 600; /* Hacemos que el TD sea el que lleve el peso */
}
.elementor-element-d7910c1 table tr:first-child td strong {
    font-weight: inherit; /* Para que no aplique doble bold si el TD ya es bold */
}

/* Celdas de datos normales (tarifas) */
.elementor-element-d7910c1 table td {
    font-size: 13px; /* Tamaño de fuente para datos en escritorio */
    font-family: 'Mulish', sans-serif;
}

/* Estilo para filas impares del cuerpo si se desea */
/* .elementor-element-d7910c1 table tr:not(:first-child):nth-child(odd) td {
    background-color: #f9f9f9;
} */

/* Párrafos de notas al final */
.elementor-element-d7910c1 .elementor-widget-container > div > p:not(:has(strong)) { /* Párrafos que NO contienen un <strong> (para no afectar los títulos) */
    font-size: 13px;
    font-family: 'Mulish', sans-serif;
    color: #555;
    margin-top: 5px;
    margin-bottom: 5px;
    line-height: 1.6;
}


/* --- ESTILOS RESPONSIVE PARA MÓVILES (dentro de .elementor-element-d7910c1) --- */
@media screen and (max-width: 767px) {

    /* El div que envuelve las tablas tiene padding:20px; */
    .elementor-element-d7910c1 .elementor-widget-container > div[style*="padding:20px"] {
        padding: 10px 5px !important; /* Reducimos el padding del contenedor para dar más espacio a la tabla */
    }

    .elementor-element-d7910c1 table {
        max-width: 380px;
        width: 100%;
        margin: 0 auto 15px auto; /* Centra la tabla y añade margen inferior */
        font-size: 9px; /* Reducimos la fuente base para la tabla en móvil */
        border-radius: 6px;
    }

    .elementor-element-d7910c1 th,
    .elementor-element-d7910c1 td {
        padding: 5px 3px; /* Padding muy reducido para celdas en móvil */
        font-size: 9px;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }

    /* Títulos de sección de tablas en móvil */
    .elementor-element-d7910c1 .elementor-widget-container > div > p > strong {
        font-size: 12px;
        margin-bottom: 8px;
    }

    /* Cabeceras de Columna (HOTEL, CPL, etc.) en móvil */
    .elementor-element-d7910c1 table tr:first-child td {
        font-size: 8px; /* Muy pequeñas para cabeceras, ajusta si es ilegible */
        padding: 4px 2px;
        white-space: normal; /* Permitir que se rompan si es necesario */
        /* Si las cabeceras son de una sola palabra, puedes probar nowrap: */
        /* white-space: nowrap; */
    }

    /* Ajustar anchos de columna específicos en móvil para las tablas de tarifas */
    /* La columna HOTEL suele ser la primera en estas tablas */
    .elementor-element-d7910c1 table:not(:last-of-type) tr td:first-child:not([colspan]) { /* Para las tablas de tarifas, no la de impuestos */
        width: 30%; /* Dale más espacio a HOTEL */
    }
    .elementor-element-d7910c1 table:not(:last-of-type) tr:first-child td:first-child { /* Cabecera HOTEL */
        width: 30%;
    }

    /* Las columnas de tarifas (CPL, TRIPLE, DOBLE, SGL, MNR) */
    /* Como todas contienen precios, podemos intentar darles un ancho similar o dejar que auto lo maneje.
       Si quieres forzar un ancho más pequeño para ellas: */
    .elementor-element-d7910c1 table:not(:last-of-type) tr td:not(:first-child):not([colspan]) {
        width: 14%; /* Dividiendo el 70% restante entre 5 columnas */
        text-align: center; /* Centrar los precios puede verse bien */
    }
    .elementor-element-d7910c1 table:not(:last-of-type) tr:first-child td:not(:first-child) {
        width: 14%;
        text-align: center;
    }


    /* Tabla de Impuestos (suele ser la última tabla con 2 columnas) */
    .elementor-element-d7910c1 table:last-of-type tr td:first-child { /* "Impuestos aéreos" */
        width: 65%;
    }
    .elementor-element-d7910c1 table:last-of-type tr td:nth-child(2) { /* El precio del impuesto */
        width: 35%;
        text-align: right; /* Alinear el precio a la derecha */
    }

    /* Párrafos de notas al final en móvil */
    .elementor-element-d7910c1 .elementor-widget-container > div > p:not(:has(strong)) {
        font-size: 10px; /* Un poco más legible para las notas */
        line-height: 1.5;
    }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-6d6d65e *//* --- ESTILOS GENERALES PARA ESTA TABLA ESPECÍFICA (aplican siempre) --- */
.elementor-element-6d6d65e table {
    width: 100%; /* Por defecto, intenta ocupar el ancho de su contenedor div */
    border-collapse: collapse; /* Quita espacios entre bordes de celda */
    font-family: 'Mulish', sans-serif;
    background-color: #ffffff;
    border-radius: 8px; /* Borde redondeado para la tabla */
    overflow: hidden;   /* Para que el border-radius recorte el contenido */
    border: 1px solid #E5E7EB; /* Borde exterior principal de la tabla */
    /* Eliminamos table-layout: fixed; para que los anchos intenten ajustarse al contenido */
}

.elementor-element-6d6d65e th,
.elementor-element-6d6d65e td {
    padding: 12px 15px; /* Padding base para escritorio */
    text-align: left;
    border: 1px solid #E5E7EB; /* Bordes para cada celda */
    vertical-align: top; /* Bueno para celdas con rowspan */
}

/* Fila del Título Principal "HOTELES PREVISTOS O SIMILARES" */
.elementor-element-6d6d65e table tr:first-child td[colspan="4"] {
    background-color: #F1F2F3;
    color: black;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    /* Un poco más grande para el título */
    text-transform: uppercase;
    letter-spacing: 0.4px;
    text-align: center;
     /* El <b> ya lo hace, pero para asegurar */
}
.elementor-element-6d6d65e table tr:first-child td[colspan="4"] b {
    font-weight: 600; /* O el que prefieras para el <b> */
}


/* Fila de Cabeceras de Columna (PAÍS, CIUDAD, HOTEL, TIPO) */
.elementor-element-6d6d65e table tr:nth-child(2) td { /* Ya que son <td> con <strong> */
    background-color: #F1F2F3;
    color: black;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: 600; /* Hacemos que el TD sea el que lleve el peso */
}
.elementor-element-6d6d65e table tr:nth-child(2) td strong {
    font-weight: inherit; /* Para que no aplique doble bold si el TD ya es bold */
}

/* Celdas de datos normales */
.elementor-element-6d6d65e table td {
    font-size: 14px; /* Tamaño de fuente para datos en escritorio */
    font-family: 'Mulish', sans-serif;
}

/* Estilo para filas impares del cuerpo si se desea (tbody es implícito) */
/* .elementor-element-6d6d65e table tr:not(:first-child):not(:nth-child(2)):not(:nth-last-child(-n+2)):nth-child(odd) td {
    background-color: #f9f9f9;
} */


/* Filas de notas al final con colspan */
.elementor-element-6d6d65e table tr:nth-last-child(-n+2) td[colspan="4"] {
    font-style: italic;
    color: #555;
    background-color: #f8f9fa; /* Un fondo ligeramente diferente para las notas */
    font-size: 13px;
    border-top: 2px solid #dee2e6; /* Un separador más grueso para las notas */
}


/* --- ESTILOS RESPONSIVE PARA MÓVILES --- */
@media screen and (max-width: 767px) {

    /* El div que envuelve la tabla tiene padding:0px 20px;
       Si queremos que la tabla use realmente los 380px, este padding debe reducirse.
       ¡IMPORTANTE! puede ser necesario para que no afecte a otros elementos si este div es genérico. */
    .elementor-element-6d6d65e .elementor-widget-container > div[style*="padding:0px 20px"] {
        padding: 0 5px !important; /* Reducimos el padding del contenedor para dar más espacio a la tabla */
    }

    .elementor-element-6d6d65e table {
        max-width: 380px;   /* Ancho máximo de la tabla */
        width: 100%;        /* Ocupará el 100% hasta llegar a 380px */
        margin: 0 auto;     /* Centra la tabla si el contenedor div es más ancho que 380px */
        font-size: 10px;    /* Reducimos la fuente base para la tabla en móvil */
        border-radius: 6px;
    }

    .elementor-element-6d6d65e th, /* Aunque no tienes TH explícitos, por si acaso */
    .elementor-element-6d6d65e td {
        padding: 6px 4px; /* Padding reducido para celdas en móvil */
        font-size: 10px;  /* Asegura que todas las celdas tengan esta fuente base */
        word-wrap: break-word;
        overflow-wrap: break-word; /* Para que el texto se rompa y no desborde la celda */
    }

    /* Título Principal en móvil */
    .elementor-element-6d6d65e table tr:first-child td[colspan="4"] {
        font-size: 12px;
        font-weight:500;
        padding: 8px 5px;
    }

    /* Cabeceras de Columna (PAÍS, CIUDAD, etc.) en móvil */
    .elementor-element-6d6d65e table tr:nth-child(2) td {
        font-size: 12px; /* Más pequeñas para cabeceras */
        padding: 7px 4px;
        white-space: normal;
        font-weight: 700;/* Permitir que se rompan si es necesario */
    }

    /* Intentar ajustar anchos de columna específicos en móvil */
    /* PAÍS (Primera columna) */
    .elementor-element-6d6d65e table tr td:first-child:not([colspan]) { /* Excluimos la primera celda con colspan */
        width: 22%; /* Dale un porcentaje, ej: 20-25% */
    }
    .elementor-element-6d6d65e table tr:nth-child(2) td:first-child { /* Cabecera PAÍS */
        width: 22%;
    }


    /* TIPO (Cuarta columna de datos - contiene "P") */
    .elementor-element-6d6d65e table tr td:nth-child(4):not([colspan]) {
        width: 10%; /* Muy estrecha para "P" */
        text-align: center; /* Centrar la "P" */
    }
    .elementor-element-6d6d65e table tr:nth-child(2) td:nth-child(4) { /* Cabecera TIPO */
        width: 10%;
        text-align: center;
    }

    /* La columna HOTEL (tercera) y CIUDAD (segunda) tomarán el espacio restante.
       HOTEL es la que probablemente necesite más espacio. */


    /* Notas al final en móvil */
    .elementor-element-6d6d65e table tr:nth-last-child(-n+2) td[colspan="4"] {
        font-size: 12px;
        padding: 6px 5px;
    }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-aa4b981 *//* --- ESTILOS GENERALES PARA TABLAS DENTRO DE .elementor-element-d7910c1 (aplican siempre) --- */
.elementor-element-d7910c1 table {
    width: 100%;
    border-collapse: collapse;
    font-family: 'Mulish', sans-serif;
    background-color: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #E5E7EB;
    margin-bottom: 20px; /* Espacio entre tablas y entre tablas y párrafos */
    /* table-layout: auto; por defecto para que las columnas se ajusten al contenido */
}

.elementor-element-d7910c1 th, /* Por si alguna vez usas th */
.elementor-element-d7910c1 td {
    padding: 10px 12px; /* Padding base para escritorio, un poco menos que el ejemplo anterior */
    text-align: left;
    border: 1px solid #E5E7EB;
    vertical-align: top;
}

/* Estilo para los párrafos que actúan como títulos de sección */
.elementor-element-d7910c1 .elementor-widget-container > div > p > strong {
    display: block; /* Para que ocupe toda la línea y podamos centrar/marginar */
    margin-bottom: 10px;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px!important;
    color: black;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: 600;
}

/* Fila de Cabeceras de Columna (HOTEL, CPL, etc.) */
.elementor-element-d7910c1 table tr:first-child td {
    background-color: #F1F2F3;
    color: black;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px; /* Un poco más pequeño para estas cabeceras */
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: 600; /* Hacemos que el TD sea el que lleve el peso */
}
.elementor-element-d7910c1 table tr:first-child td strong {
    font-weight: inherit; /* Para que no aplique doble bold si el TD ya es bold */
}

/* Celdas de datos normales (tarifas) */
.elementor-element-d7910c1 table td {
    font-size: 13px; /* Tamaño de fuente para datos en escritorio */
    font-family: 'Mulish', sans-serif;
}

/* Estilo para filas impares del cuerpo si se desea */
/* .elementor-element-d7910c1 table tr:not(:first-child):nth-child(odd) td {
    background-color: #f9f9f9;
} */

/* Párrafos de notas al final */
.elementor-element-d7910c1 .elementor-widget-container > div > p:not(:has(strong)) { /* Párrafos que NO contienen un <strong> (para no afectar los títulos) */
    font-size: 13px;
    font-family: 'Mulish', sans-serif;
    color: #555;
    margin-top: 5px;
    margin-bottom: 5px;
    line-height: 1.6;
}


/* --- ESTILOS RESPONSIVE PARA MÓVILES (dentro de .elementor-element-d7910c1) --- */
@media screen and (max-width: 767px) {

    /* El div que envuelve las tablas tiene padding:20px; */
    .elementor-element-d7910c1 .elementor-widget-container > div[style*="padding:20px"] {
        padding: 10px 5px !important; /* Reducimos el padding del contenedor para dar más espacio a la tabla */
    }

    .elementor-element-d7910c1 table {
        max-width: 380px;
        width: 100%;
        margin: 0 auto 15px auto; /* Centra la tabla y añade margen inferior */
        font-size: 9px; /* Reducimos la fuente base para la tabla en móvil */
        border-radius: 6px;
    }

    .elementor-element-d7910c1 th,
    .elementor-element-d7910c1 td {
        padding: 5px 3px; /* Padding muy reducido para celdas en móvil */
        font-size: 9px;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }

    /* Títulos de sección de tablas en móvil */
    .elementor-element-d7910c1 .elementor-widget-container > div > p > strong {
        font-size: 12px;
        margin-bottom: 8px;
    }

    /* Cabeceras de Columna (HOTEL, CPL, etc.) en móvil */
    .elementor-element-d7910c1 table tr:first-child td {
        font-size: 8px; /* Muy pequeñas para cabeceras, ajusta si es ilegible */
        padding: 4px 2px;
        white-space: normal; /* Permitir que se rompan si es necesario */
        /* Si las cabeceras son de una sola palabra, puedes probar nowrap: */
        /* white-space: nowrap; */
    }

    /* Ajustar anchos de columna específicos en móvil para las tablas de tarifas */
    /* La columna HOTEL suele ser la primera en estas tablas */
    .elementor-element-d7910c1 table:not(:last-of-type) tr td:first-child:not([colspan]) { /* Para las tablas de tarifas, no la de impuestos */
        width: 30%; /* Dale más espacio a HOTEL */
    }
    .elementor-element-d7910c1 table:not(:last-of-type) tr:first-child td:first-child { /* Cabecera HOTEL */
        width: 30%;
    }

    /* Las columnas de tarifas (CPL, TRIPLE, DOBLE, SGL, MNR) */
    /* Como todas contienen precios, podemos intentar darles un ancho similar o dejar que auto lo maneje.
       Si quieres forzar un ancho más pequeño para ellas: */
    .elementor-element-d7910c1 table:not(:last-of-type) tr td:not(:first-child):not([colspan]) {
        width: 14%; /* Dividiendo el 70% restante entre 5 columnas */
        text-align: center; /* Centrar los precios puede verse bien */
    }
    .elementor-element-d7910c1 table:not(:last-of-type) tr:first-child td:not(:first-child) {
        width: 14%;
        text-align: center;
    }


    /* Tabla de Impuestos (suele ser la última tabla con 2 columnas) */
    .elementor-element-d7910c1 table:last-of-type tr td:first-child { /* "Impuestos aéreos" */
        width: 65%;
    }
    .elementor-element-d7910c1 table:last-of-type tr td:nth-child(2) { /* El precio del impuesto */
        width: 35%;
        text-align: right; /* Alinear el precio a la derecha */
    }

    /* Párrafos de notas al final en móvil */
    .elementor-element-d7910c1 .elementor-widget-container > div > p:not(:has(strong)) {
        font-size: 10px; /* Un poco más legible para las notas */
        line-height: 1.5;
    }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-6d6d65e *//* --- ESTILOS GENERALES PARA ESTA TABLA ESPECÍFICA (aplican siempre) --- */
.elementor-element-6d6d65e table {
    width: 100%; /* Por defecto, intenta ocupar el ancho de su contenedor div */
    border-collapse: collapse; /* Quita espacios entre bordes de celda */
    font-family: 'Mulish', sans-serif;
    background-color: #ffffff;
    border-radius: 8px; /* Borde redondeado para la tabla */
    overflow: hidden;   /* Para que el border-radius recorte el contenido */
    border: 1px solid #E5E7EB; /* Borde exterior principal de la tabla */
    /* Eliminamos table-layout: fixed; para que los anchos intenten ajustarse al contenido */
}

.elementor-element-6d6d65e th,
.elementor-element-6d6d65e td {
    padding: 12px 15px; /* Padding base para escritorio */
    text-align: left;
    border: 1px solid #E5E7EB; /* Bordes para cada celda */
    vertical-align: top; /* Bueno para celdas con rowspan */
}

/* Fila del Título Principal "HOTELES PREVISTOS O SIMILARES" */
.elementor-element-6d6d65e table tr:first-child td[colspan="4"] {
    background-color: #F1F2F3;
    color: black;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    /* Un poco más grande para el título */
    text-transform: uppercase;
    letter-spacing: 0.4px;
    text-align: center;
     /* El <b> ya lo hace, pero para asegurar */
}
.elementor-element-6d6d65e table tr:first-child td[colspan="4"] b {
    font-weight: 600; /* O el que prefieras para el <b> */
}


/* Fila de Cabeceras de Columna (PAÍS, CIUDAD, HOTEL, TIPO) */
.elementor-element-6d6d65e table tr:nth-child(2) td { /* Ya que son <td> con <strong> */
    background-color: #F1F2F3;
    color: black;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: 600; /* Hacemos que el TD sea el que lleve el peso */
}
.elementor-element-6d6d65e table tr:nth-child(2) td strong {
    font-weight: inherit; /* Para que no aplique doble bold si el TD ya es bold */
}

/* Celdas de datos normales */
.elementor-element-6d6d65e table td {
    font-size: 14px; /* Tamaño de fuente para datos en escritorio */
    font-family: 'Mulish', sans-serif;
}

/* Estilo para filas impares del cuerpo si se desea (tbody es implícito) */
/* .elementor-element-6d6d65e table tr:not(:first-child):not(:nth-child(2)):not(:nth-last-child(-n+2)):nth-child(odd) td {
    background-color: #f9f9f9;
} */


/* Filas de notas al final con colspan */
.elementor-element-6d6d65e table tr:nth-last-child(-n+2) td[colspan="4"] {
    font-style: italic;
    color: #555;
    background-color: #f8f9fa; /* Un fondo ligeramente diferente para las notas */
    font-size: 13px;
    border-top: 2px solid #dee2e6; /* Un separador más grueso para las notas */
}


/* --- ESTILOS RESPONSIVE PARA MÓVILES --- */
@media screen and (max-width: 767px) {

    /* El div que envuelve la tabla tiene padding:0px 20px;
       Si queremos que la tabla use realmente los 380px, este padding debe reducirse.
       ¡IMPORTANTE! puede ser necesario para que no afecte a otros elementos si este div es genérico. */
    .elementor-element-6d6d65e .elementor-widget-container > div[style*="padding:0px 20px"] {
        padding: 0 5px !important; /* Reducimos el padding del contenedor para dar más espacio a la tabla */
    }

    .elementor-element-6d6d65e table {
        max-width: 380px;   /* Ancho máximo de la tabla */
        width: 100%;        /* Ocupará el 100% hasta llegar a 380px */
        margin: 0 auto;     /* Centra la tabla si el contenedor div es más ancho que 380px */
        font-size: 10px;    /* Reducimos la fuente base para la tabla en móvil */
        border-radius: 6px;
    }

    .elementor-element-6d6d65e th, /* Aunque no tienes TH explícitos, por si acaso */
    .elementor-element-6d6d65e td {
        padding: 6px 4px; /* Padding reducido para celdas en móvil */
        font-size: 10px;  /* Asegura que todas las celdas tengan esta fuente base */
        word-wrap: break-word;
        overflow-wrap: break-word; /* Para que el texto se rompa y no desborde la celda */
    }

    /* Título Principal en móvil */
    .elementor-element-6d6d65e table tr:first-child td[colspan="4"] {
        font-size: 12px;
        font-weight:500;
        padding: 8px 5px;
    }

    /* Cabeceras de Columna (PAÍS, CIUDAD, etc.) en móvil */
    .elementor-element-6d6d65e table tr:nth-child(2) td {
        font-size: 12px; /* Más pequeñas para cabeceras */
        padding: 7px 4px;
        white-space: normal;
        font-weight: 700;/* Permitir que se rompan si es necesario */
    }

    /* Intentar ajustar anchos de columna específicos en móvil */
    /* PAÍS (Primera columna) */
    .elementor-element-6d6d65e table tr td:first-child:not([colspan]) { /* Excluimos la primera celda con colspan */
        width: 22%; /* Dale un porcentaje, ej: 20-25% */
    }
    .elementor-element-6d6d65e table tr:nth-child(2) td:first-child { /* Cabecera PAÍS */
        width: 22%;
    }


    /* TIPO (Cuarta columna de datos - contiene "P") */
    .elementor-element-6d6d65e table tr td:nth-child(4):not([colspan]) {
        width: 10%; /* Muy estrecha para "P" */
        text-align: center; /* Centrar la "P" */
    }
    .elementor-element-6d6d65e table tr:nth-child(2) td:nth-child(4) { /* Cabecera TIPO */
        width: 10%;
        text-align: center;
    }

    /* La columna HOTEL (tercera) y CIUDAD (segunda) tomarán el espacio restante.
       HOTEL es la que probablemente necesite más espacio. */


    /* Notas al final en móvil */
    .elementor-element-6d6d65e table tr:nth-last-child(-n+2) td[colspan="4"] {
        font-size: 12px;
        padding: 6px 5px;
    }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-aa4b981 *//* --- ESTILOS GENERALES PARA TABLAS DENTRO DE .elementor-element-d7910c1 (aplican siempre) --- */
.elementor-element-d7910c1 table {
    width: 100%;
    border-collapse: collapse;
    font-family: 'Mulish', sans-serif;
    background-color: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #E5E7EB;
    margin-bottom: 20px; /* Espacio entre tablas y entre tablas y párrafos */
    /* table-layout: auto; por defecto para que las columnas se ajusten al contenido */
}

.elementor-element-d7910c1 th, /* Por si alguna vez usas th */
.elementor-element-d7910c1 td {
    padding: 10px 12px; /* Padding base para escritorio, un poco menos que el ejemplo anterior */
    text-align: left;
    border: 1px solid #E5E7EB;
    vertical-align: top;
}

/* Estilo para los párrafos que actúan como títulos de sección */
.elementor-element-d7910c1 .elementor-widget-container > div > p > strong {
    display: block; /* Para que ocupe toda la línea y podamos centrar/marginar */
    margin-bottom: 10px;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px!important;
    color: black;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: 600;
}

/* Fila de Cabeceras de Columna (HOTEL, CPL, etc.) */
.elementor-element-d7910c1 table tr:first-child td {
    background-color: #F1F2F3;
    color: black;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px; /* Un poco más pequeño para estas cabeceras */
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: 600; /* Hacemos que el TD sea el que lleve el peso */
}
.elementor-element-d7910c1 table tr:first-child td strong {
    font-weight: inherit; /* Para que no aplique doble bold si el TD ya es bold */
}

/* Celdas de datos normales (tarifas) */
.elementor-element-d7910c1 table td {
    font-size: 13px; /* Tamaño de fuente para datos en escritorio */
    font-family: 'Mulish', sans-serif;
}

/* Estilo para filas impares del cuerpo si se desea */
/* .elementor-element-d7910c1 table tr:not(:first-child):nth-child(odd) td {
    background-color: #f9f9f9;
} */

/* Párrafos de notas al final */
.elementor-element-d7910c1 .elementor-widget-container > div > p:not(:has(strong)) { /* Párrafos que NO contienen un <strong> (para no afectar los títulos) */
    font-size: 13px;
    font-family: 'Mulish', sans-serif;
    color: #555;
    margin-top: 5px;
    margin-bottom: 5px;
    line-height: 1.6;
}


/* --- ESTILOS RESPONSIVE PARA MÓVILES (dentro de .elementor-element-d7910c1) --- */
@media screen and (max-width: 767px) {

    /* El div que envuelve las tablas tiene padding:20px; */
    .elementor-element-d7910c1 .elementor-widget-container > div[style*="padding:20px"] {
        padding: 10px 5px !important; /* Reducimos el padding del contenedor para dar más espacio a la tabla */
    }

    .elementor-element-d7910c1 table {
        max-width: 380px;
        width: 100%;
        margin: 0 auto 15px auto; /* Centra la tabla y añade margen inferior */
        font-size: 9px; /* Reducimos la fuente base para la tabla en móvil */
        border-radius: 6px;
    }

    .elementor-element-d7910c1 th,
    .elementor-element-d7910c1 td {
        padding: 5px 3px; /* Padding muy reducido para celdas en móvil */
        font-size: 9px;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }

    /* Títulos de sección de tablas en móvil */
    .elementor-element-d7910c1 .elementor-widget-container > div > p > strong {
        font-size: 12px;
        margin-bottom: 8px;
    }

    /* Cabeceras de Columna (HOTEL, CPL, etc.) en móvil */
    .elementor-element-d7910c1 table tr:first-child td {
        font-size: 8px; /* Muy pequeñas para cabeceras, ajusta si es ilegible */
        padding: 4px 2px;
        white-space: normal; /* Permitir que se rompan si es necesario */
        /* Si las cabeceras son de una sola palabra, puedes probar nowrap: */
        /* white-space: nowrap; */
    }

    /* Ajustar anchos de columna específicos en móvil para las tablas de tarifas */
    /* La columna HOTEL suele ser la primera en estas tablas */
    .elementor-element-d7910c1 table:not(:last-of-type) tr td:first-child:not([colspan]) { /* Para las tablas de tarifas, no la de impuestos */
        width: 30%; /* Dale más espacio a HOTEL */
    }
    .elementor-element-d7910c1 table:not(:last-of-type) tr:first-child td:first-child { /* Cabecera HOTEL */
        width: 30%;
    }

    /* Las columnas de tarifas (CPL, TRIPLE, DOBLE, SGL, MNR) */
    /* Como todas contienen precios, podemos intentar darles un ancho similar o dejar que auto lo maneje.
       Si quieres forzar un ancho más pequeño para ellas: */
    .elementor-element-d7910c1 table:not(:last-of-type) tr td:not(:first-child):not([colspan]) {
        width: 14%; /* Dividiendo el 70% restante entre 5 columnas */
        text-align: center; /* Centrar los precios puede verse bien */
    }
    .elementor-element-d7910c1 table:not(:last-of-type) tr:first-child td:not(:first-child) {
        width: 14%;
        text-align: center;
    }


    /* Tabla de Impuestos (suele ser la última tabla con 2 columnas) */
    .elementor-element-d7910c1 table:last-of-type tr td:first-child { /* "Impuestos aéreos" */
        width: 65%;
    }
    .elementor-element-d7910c1 table:last-of-type tr td:nth-child(2) { /* El precio del impuesto */
        width: 35%;
        text-align: right; /* Alinear el precio a la derecha */
    }

    /* Párrafos de notas al final en móvil */
    .elementor-element-d7910c1 .elementor-widget-container > div > p:not(:has(strong)) {
        font-size: 10px; /* Un poco más legible para las notas */
        line-height: 1.5;
    }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-6d6d65e *//* --- ESTILOS GENERALES PARA ESTA TABLA ESPECÍFICA (aplican siempre) --- */
.elementor-element-6d6d65e table {
    width: 100%; /* Por defecto, intenta ocupar el ancho de su contenedor div */
    border-collapse: collapse; /* Quita espacios entre bordes de celda */
    font-family: 'Mulish', sans-serif;
    background-color: #ffffff;
    border-radius: 8px; /* Borde redondeado para la tabla */
    overflow: hidden;   /* Para que el border-radius recorte el contenido */
    border: 1px solid #E5E7EB; /* Borde exterior principal de la tabla */
    /* Eliminamos table-layout: fixed; para que los anchos intenten ajustarse al contenido */
}

.elementor-element-6d6d65e th,
.elementor-element-6d6d65e td {
    padding: 12px 15px; /* Padding base para escritorio */
    text-align: left;
    border: 1px solid #E5E7EB; /* Bordes para cada celda */
    vertical-align: top; /* Bueno para celdas con rowspan */
}

/* Fila del Título Principal "HOTELES PREVISTOS O SIMILARES" */
.elementor-element-6d6d65e table tr:first-child td[colspan="4"] {
    background-color: #F1F2F3;
    color: black;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    /* Un poco más grande para el título */
    text-transform: uppercase;
    letter-spacing: 0.4px;
    text-align: center;
     /* El <b> ya lo hace, pero para asegurar */
}
.elementor-element-6d6d65e table tr:first-child td[colspan="4"] b {
    font-weight: 600; /* O el que prefieras para el <b> */
}


/* Fila de Cabeceras de Columna (PAÍS, CIUDAD, HOTEL, TIPO) */
.elementor-element-6d6d65e table tr:nth-child(2) td { /* Ya que son <td> con <strong> */
    background-color: #F1F2F3;
    color: black;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: 600; /* Hacemos que el TD sea el que lleve el peso */
}
.elementor-element-6d6d65e table tr:nth-child(2) td strong {
    font-weight: inherit; /* Para que no aplique doble bold si el TD ya es bold */
}

/* Celdas de datos normales */
.elementor-element-6d6d65e table td {
    font-size: 14px; /* Tamaño de fuente para datos en escritorio */
    font-family: 'Mulish', sans-serif;
}

/* Estilo para filas impares del cuerpo si se desea (tbody es implícito) */
/* .elementor-element-6d6d65e table tr:not(:first-child):not(:nth-child(2)):not(:nth-last-child(-n+2)):nth-child(odd) td {
    background-color: #f9f9f9;
} */


/* Filas de notas al final con colspan */
.elementor-element-6d6d65e table tr:nth-last-child(-n+2) td[colspan="4"] {
    font-style: italic;
    color: #555;
    background-color: #f8f9fa; /* Un fondo ligeramente diferente para las notas */
    font-size: 13px;
    border-top: 2px solid #dee2e6; /* Un separador más grueso para las notas */
}


/* --- ESTILOS RESPONSIVE PARA MÓVILES --- */
@media screen and (max-width: 767px) {

    /* El div que envuelve la tabla tiene padding:0px 20px;
       Si queremos que la tabla use realmente los 380px, este padding debe reducirse.
       ¡IMPORTANTE! puede ser necesario para que no afecte a otros elementos si este div es genérico. */
    .elementor-element-6d6d65e .elementor-widget-container > div[style*="padding:0px 20px"] {
        padding: 0 5px !important; /* Reducimos el padding del contenedor para dar más espacio a la tabla */
    }

    .elementor-element-6d6d65e table {
        max-width: 380px;   /* Ancho máximo de la tabla */
        width: 100%;        /* Ocupará el 100% hasta llegar a 380px */
        margin: 0 auto;     /* Centra la tabla si el contenedor div es más ancho que 380px */
        font-size: 10px;    /* Reducimos la fuente base para la tabla en móvil */
        border-radius: 6px;
    }

    .elementor-element-6d6d65e th, /* Aunque no tienes TH explícitos, por si acaso */
    .elementor-element-6d6d65e td {
        padding: 6px 4px; /* Padding reducido para celdas en móvil */
        font-size: 10px;  /* Asegura que todas las celdas tengan esta fuente base */
        word-wrap: break-word;
        overflow-wrap: break-word; /* Para que el texto se rompa y no desborde la celda */
    }

    /* Título Principal en móvil */
    .elementor-element-6d6d65e table tr:first-child td[colspan="4"] {
        font-size: 12px;
        font-weight:500;
        padding: 8px 5px;
    }

    /* Cabeceras de Columna (PAÍS, CIUDAD, etc.) en móvil */
    .elementor-element-6d6d65e table tr:nth-child(2) td {
        font-size: 12px; /* Más pequeñas para cabeceras */
        padding: 7px 4px;
        white-space: normal;
        font-weight: 700;/* Permitir que se rompan si es necesario */
    }

    /* Intentar ajustar anchos de columna específicos en móvil */
    /* PAÍS (Primera columna) */
    .elementor-element-6d6d65e table tr td:first-child:not([colspan]) { /* Excluimos la primera celda con colspan */
        width: 22%; /* Dale un porcentaje, ej: 20-25% */
    }
    .elementor-element-6d6d65e table tr:nth-child(2) td:first-child { /* Cabecera PAÍS */
        width: 22%;
    }


    /* TIPO (Cuarta columna de datos - contiene "P") */
    .elementor-element-6d6d65e table tr td:nth-child(4):not([colspan]) {
        width: 10%; /* Muy estrecha para "P" */
        text-align: center; /* Centrar la "P" */
    }
    .elementor-element-6d6d65e table tr:nth-child(2) td:nth-child(4) { /* Cabecera TIPO */
        width: 10%;
        text-align: center;
    }

    /* La columna HOTEL (tercera) y CIUDAD (segunda) tomarán el espacio restante.
       HOTEL es la que probablemente necesite más espacio. */


    /* Notas al final en móvil */
    .elementor-element-6d6d65e table tr:nth-last-child(-n+2) td[colspan="4"] {
        font-size: 12px;
        padding: 6px 5px;
    }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-aa4b981 *//* --- ESTILOS GENERALES PARA TABLAS DENTRO DE .elementor-element-d7910c1 (aplican siempre) --- */
.elementor-element-d7910c1 table {
    width: 100%;
    border-collapse: collapse;
    font-family: 'Mulish', sans-serif;
    background-color: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #E5E7EB;
    margin-bottom: 20px; /* Espacio entre tablas y entre tablas y párrafos */
    /* table-layout: auto; por defecto para que las columnas se ajusten al contenido */
}

.elementor-element-d7910c1 th, /* Por si alguna vez usas th */
.elementor-element-d7910c1 td {
    padding: 10px 12px; /* Padding base para escritorio, un poco menos que el ejemplo anterior */
    text-align: left;
    border: 1px solid #E5E7EB;
    vertical-align: top;
}

/* Estilo para los párrafos que actúan como títulos de sección */
.elementor-element-d7910c1 .elementor-widget-container > div > p > strong {
    display: block; /* Para que ocupe toda la línea y podamos centrar/marginar */
    margin-bottom: 10px;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px!important;
    color: black;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: 600;
}

/* Fila de Cabeceras de Columna (HOTEL, CPL, etc.) */
.elementor-element-d7910c1 table tr:first-child td {
    background-color: #F1F2F3;
    color: black;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px; /* Un poco más pequeño para estas cabeceras */
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: 600; /* Hacemos que el TD sea el que lleve el peso */
}
.elementor-element-d7910c1 table tr:first-child td strong {
    font-weight: inherit; /* Para que no aplique doble bold si el TD ya es bold */
}

/* Celdas de datos normales (tarifas) */
.elementor-element-d7910c1 table td {
    font-size: 13px; /* Tamaño de fuente para datos en escritorio */
    font-family: 'Mulish', sans-serif;
}

/* Estilo para filas impares del cuerpo si se desea */
/* .elementor-element-d7910c1 table tr:not(:first-child):nth-child(odd) td {
    background-color: #f9f9f9;
} */

/* Párrafos de notas al final */
.elementor-element-d7910c1 .elementor-widget-container > div > p:not(:has(strong)) { /* Párrafos que NO contienen un <strong> (para no afectar los títulos) */
    font-size: 13px;
    font-family: 'Mulish', sans-serif;
    color: #555;
    margin-top: 5px;
    margin-bottom: 5px;
    line-height: 1.6;
}


/* --- ESTILOS RESPONSIVE PARA MÓVILES (dentro de .elementor-element-d7910c1) --- */
@media screen and (max-width: 767px) {

    /* El div que envuelve las tablas tiene padding:20px; */
    .elementor-element-d7910c1 .elementor-widget-container > div[style*="padding:20px"] {
        padding: 10px 5px !important; /* Reducimos el padding del contenedor para dar más espacio a la tabla */
    }

    .elementor-element-d7910c1 table {
        max-width: 380px;
        width: 100%;
        margin: 0 auto 15px auto; /* Centra la tabla y añade margen inferior */
        font-size: 9px; /* Reducimos la fuente base para la tabla en móvil */
        border-radius: 6px;
    }

    .elementor-element-d7910c1 th,
    .elementor-element-d7910c1 td {
        padding: 5px 3px; /* Padding muy reducido para celdas en móvil */
        font-size: 9px;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }

    /* Títulos de sección de tablas en móvil */
    .elementor-element-d7910c1 .elementor-widget-container > div > p > strong {
        font-size: 12px;
        margin-bottom: 8px;
    }

    /* Cabeceras de Columna (HOTEL, CPL, etc.) en móvil */
    .elementor-element-d7910c1 table tr:first-child td {
        font-size: 8px; /* Muy pequeñas para cabeceras, ajusta si es ilegible */
        padding: 4px 2px;
        white-space: normal; /* Permitir que se rompan si es necesario */
        /* Si las cabeceras son de una sola palabra, puedes probar nowrap: */
        /* white-space: nowrap; */
    }

    /* Ajustar anchos de columna específicos en móvil para las tablas de tarifas */
    /* La columna HOTEL suele ser la primera en estas tablas */
    .elementor-element-d7910c1 table:not(:last-of-type) tr td:first-child:not([colspan]) { /* Para las tablas de tarifas, no la de impuestos */
        width: 30%; /* Dale más espacio a HOTEL */
    }
    .elementor-element-d7910c1 table:not(:last-of-type) tr:first-child td:first-child { /* Cabecera HOTEL */
        width: 30%;
    }

    /* Las columnas de tarifas (CPL, TRIPLE, DOBLE, SGL, MNR) */
    /* Como todas contienen precios, podemos intentar darles un ancho similar o dejar que auto lo maneje.
       Si quieres forzar un ancho más pequeño para ellas: */
    .elementor-element-d7910c1 table:not(:last-of-type) tr td:not(:first-child):not([colspan]) {
        width: 14%; /* Dividiendo el 70% restante entre 5 columnas */
        text-align: center; /* Centrar los precios puede verse bien */
    }
    .elementor-element-d7910c1 table:not(:last-of-type) tr:first-child td:not(:first-child) {
        width: 14%;
        text-align: center;
    }


    /* Tabla de Impuestos (suele ser la última tabla con 2 columnas) */
    .elementor-element-d7910c1 table:last-of-type tr td:first-child { /* "Impuestos aéreos" */
        width: 65%;
    }
    .elementor-element-d7910c1 table:last-of-type tr td:nth-child(2) { /* El precio del impuesto */
        width: 35%;
        text-align: right; /* Alinear el precio a la derecha */
    }

    /* Párrafos de notas al final en móvil */
    .elementor-element-d7910c1 .elementor-widget-container > div > p:not(:has(strong)) {
        font-size: 10px; /* Un poco más legible para las notas */
        line-height: 1.5;
    }
}/* End custom CSS */