/* 
Theme Name:  KNOX - Compra y venta de CAEs
Theme URI: https://caes.dracoder.com;
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://dracoder.com
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/
/*--------------------------------------------*/

/*#sheet_id{width: 1900px !important;}
#sheet-field optgroup{background-color: red; width: 1900px !important;}
#sheet-field optgroup option{background-color: blue; width: 1900px !important;}*/

body,
body .content{font-family: "Cabin", sans-serif!important; color: #333333;}

select:not([size]) {
	background: #FFFFFF url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0Ljk1IDEwIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2ZmZjt9LmNscy0ye2ZpbGw6IzQ0NDt9PC9zdHlsZT48L2RlZnM+PHRpdGxlPmFycm93czwvdGl0bGU+PHJlY3QgY2xhc3M9ImNscy0xIiB3aWR0aD0iNC45NSIgaGVpZ2h0PSIxMCIvPjxwb2x5Z29uIGNsYXNzPSJjbHMtMiIgcG9pbnRzPSIxLjQxIDQuNjcgMi40OCAzLjE4IDMuNTQgNC42NyAxLjQxIDQuNjciLz48cG9seWdvbiBjbGFzcz0iY2xzLTIiIHBvaW50cz0iMy41NCA1LjMzIDIuNDggNi44MiAxLjQxIDUuMzMgMy41NCA1LjMzIi8+PC9zdmc+) no-repeat 100% 50%!important;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

#btnPanelCookies{background: none; border: none; color:#fff; cursor: pointer; padding: 0; font-family: "Cabin", Sans-serif!important; font-size: 14px!important; font-weight: 400!important; display: inline; box-shadow: none;}
#btnPanelCookies:hover,
footer a:hover,
.footer-content a:hover{background: none; text-decoration: underline!important;}
footer a{color:#fff!important;}

main#main{width: 1300px; margin: 80px auto;}

header.entry-header h1.entry-title{font-weight: 700; font-size: 30px!important; color: var( --e-global-color-primary );}
header .elementor-menu-cart__toggle_button{background-color: transparent!important;}

.txtVerde{color: #10B981; font-weight: bold;}

.txt900{font-weight: 900;}

.marginTop0{margin-top: 0!important;}
.marginTop20px{margin-top: 20px;}

.marginBottom0{margin-bottom: 0!important;}
.marginBottom30px{margin-bottom: 30px !important}

.txtLeft{text-align: left!important;}
.txtCenter{text-align: center!important;}

.displayBlock{display: block;}

.wAuto{width: auto !important;}

.minContentWidth{
	text-wrap-mode: nowrap;
    width: 1%;
}

.verticallyCenteredTable :where(td, th) { vertical-align: middle; }

.mRAuto{margin-right: auto !important;}

ul.ulFlechas,
ul.noList{padding-left: 0;}
ul.ulFlechas li{background: url("/imgs/flecha-verde.png") no-repeat 0 9px; padding-left: 25px; list-style: none; padding-bottom: 30px;}

ul.noList{list-style: none; padding-left: 0;}

.elementor-menu-cart__toggle_button bdi{color: #333;}

input.elementor-field,
textarea.elementor-field{box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1)!important; padding: 5px 20px 6px 20px!important;}
input.elementor-field{height: 40px!important; margin-bottom: 25px;}
.elementor-field-type-acceptance input{height: 12px!important;}



/* Select de Ficha que tiene el texto tan largo que se corta el txt o se sale de la pantalla */

#sheet-field,
#sheet-field .actiom-select__panel,
#sheet-field .actiom-select__group-label{width: 100%!important; margin-right: 0!important;}
#sheet-field button{background-image: none; font-weight: 400!important;}

/* Resetea herencias chungas solo dentro del componente */
.actiom-select, 
.actiom-select * {
  all: unset;               /* borra herencias agresivas */
  box-sizing: border-box;   /* reestablece modelo */
  font-family: Inter, system-ui, sans-serif;
}

/* Contenedor */
.actiom-select {
  position: relative;
  display: block !important;
  width: 100% !important;    /* evita ese 4% raro */
  max-width: 100% !important;
}

/* Botón */
.actiom-select__button {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  width: 100% !important;
  min-height: 42px;
  padding: .625rem .875rem;
  border: 1px solid #D1D5DB;
  border-radius: 8px;
  background: #fff;
  color: #2D3142;
  cursor: pointer;
  line-height: 1.35;
  font-weight: 500;
  font-size: 14px;
}

/* Panel (cerrado por defecto sí o sí) */
.actiom-select__panel {
  position: absolute;
  left: 0; right: 0; top: calc(100% + 6px);
  max-height: 320px;
  overflow: auto;
  background: #fff;
  border: 1px solid #D1D5DB;
  border-radius: 10px;
  box-shadow: 0 10px 20px rgba(0,0,0,.08);
  z-index: 9999;
  display: none !important;   /* fuerza cerrado */
}

/* Abierto solo con el atributo del wrapper */
.actiom-select[aria-expanded="true"] .actiom-select__panel {
  display: block !important;
}

/* Grupo */
.actiom-select__group-label {
  position: sticky; top: 0;
  background: #F8FAFC;
  padding: .5rem .75rem;
  border-bottom: 1px solid #E5E7EB;
  color: #4F5D75;
  font-weight: 600;
  font-size: 12px;
}

/* Opción (multilínea garantizada) */
.actiom-select__option {
  padding: .625rem .75rem;
  color: #2D3142;
  cursor: pointer;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  line-height: 1.35;
  margin-right: 0!important;
  width: 100%!important;
}

.actiom-select__option:hover,
.actiom-select__option[aria-selected="true"] {
  background: #F3F4F6;
}

/* Oculta el select nativo sin colapsar layout ni heredar mierdas */
.select-visually-hidden {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important; height: 1px !important;
  overflow: hidden !important;
}
/**********************************************************************************************/



/* Login form */
#moduloMiCuenta .elementor-field-type-text input{color: #1A1A2E; background-color: #ffffff!important; border: solid #E4E4E4 1px; border-radius: 0.5rem; box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1); padding: 5px 20px 6px 20px; height: 40px; background-color: #fff;}
#moduloMiCuenta .elementor-field-type-text label{padding-bottom: 10px;}
#moduloMiCuenta .elementor-field-group:last-child{display: flex; justify-content: end;}

/*#moduloMiCuenta .woocommerce-ResetPassword{width: 780px; max-width: 96%;}
#moduloMiCuenta h2{display: none;}
#moduloMiCuenta .woocommerce-form-login__submit{float: right;}
#moduloMiCuenta .woocommerce-LostPassword{margin-top: 30px; margin-bottom: 20px;}
#moduloMiCuenta .woocommerce-LostPassword a{font-size: 16px; color: var( --e-global-color-secondary ); font-weight: 600;}
#moduloMiCuenta .woocommerce-LostPassword a:hover{color: var( --e-global-color-primary );}
/* Mi cuenta - Reset pwd */
/*#moduloMiCuenta .woocommerce-ResetPassword .form-row-last{width: 100%;}
/**************/

/* Páginas personalizadas */
#customPage .content{width: 1300px; max-width: 98%; margin: 80px auto 40px auto;}
#customPage .content h1{color: var( --e-global-color-secondary ); font-size: 30px; font-weight: 700;}
#customPage .content h2{color: var(--e-global-color-secondary); font-size: 22px; font-weight: 700;}
#customPage .content h2 span{padding: 0 15px; background-color: #fff; margin-left: 30px;}
.fieldsGroup{border-image: linear-gradient(90deg, var(--e-global-color-secondary), var( --e-global-color-primary )) 1; border-style: solid; border-width: 1px; padding: 50px 40px 30px 40px; margin-top: -28px; margin-bottom: 50px;}
/**************************/

/* User registration form / Add new CAE & Edit CAE */
body#customPage .content .userForm,
#moduloMiCuenta
/*#moduloMiCuenta .woocommerce-form-login,
#moduloMiCuenta .woocommerce-MyAccount-content-wrapper,
#moduloMiCuenta .woocommerce-ResetPassword*/{margin: 40px auto; padding: 40px; background-color: #fff; border-radius: 10px; box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1); border: none;}
body#customPage .content .userForm div{display: flex; flex-wrap: wrap; flex-direction: column;}
body#customPage .content .userForm div.row{flex-direction: row;}
body#customPage .content .userForm div.row div{width: 48%;}
body#customPage .content .userForm div.row div:first-child{margin-right: 4%;}
body#customPage .content .userForm label{font-size: 18px; padding-bottom: 16px;}
body#customPage .content .userForm label span{font-size: 15px; color: #4F5D75;}
body#customPage .content .userForm .input-form,
body#customPage .content .userForm input,
body#customPage .content .userForm select,
#sheet-field button{color: #333333; /*background-color: #F3F4F6!important;*/ border: solid #E4E4E4 1px; border-radius: 0.5rem; box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1); padding: 5px 20px 6px 20px; height: 40px; margin-bottom: 25px;}
/*body#customPage .content form input#price,*/
body#customPage .content .userForm select#visible{width: 100px;}
body#customPage .content .userForm input#pdf{border: none; box-shadow: none; padding:0; border-radius: 0;}
/*body#customPage .content form #email,
body#customPage .content form #billing_company,
/*body#customPage .content form #iban,
body#customPage .content form #iban_cert{margin-bottom: 0!important;}*/
body#customPage .content .userForm #behalf_of_cert,
/*body#customPage .content form #iban_cert,*/
body#customPage .content .userForm .check input{background-color: transparent; border: none; box-shadow: none; padding:0; border-radius: 0;}
body#customPage .content .userForm #behalf_of_cert/*,
body#customPage .content form #iban_cert*/{margin-top: 8px;}
#btnSubmit input{font-family: "Cabin", sans-serif!important; color: #333333!important;}
body#customPage .content .userForm .btnSubmit{display: block; text-align: right; margin-top: 30px;}
body#customPage .content .userForm .btnSubmit input,
#upload_btn_documents_representative_certificate{background-color: var( --e-global-color-primary ); font-size: 18px; font-weight: 700; color: #333333!important; padding: 0 40px; border: none; box-shadow: none;}
body#customPage .content .userForm .btnSubmit input:hover{box-shadow: 0 6px 20px rgba(0, 201, 167, 0.4); background-color: linear-gradient(135deg, var(--color-secondary) 0%, #15f1ba 100%);; transform: translateY(-2px);}
body#customPage .content .userForm .check{flex-direction: row;}
body#customPage .content .userForm .check label{padding-bottom: 0; margin-left: 8px; font-size: 17px;}
body#customPage .content .userForm .check label a{color: var( --e-global-color-secondary );}
body#customPage .content .userForm .check label a:hover{color: var( --e-global-color-primary );}
body#customPage .content .userForm .check input{height: auto; margin-bottom: 0;}
body#customPage .content .userForm input.disabled,
body#customPage .content .userForm select.disabled{background-color: #F5F5F5; border: solid #E4E4E4 1px; box-shadow: none; color: #333333c4;}
/*
form#custom-product-form #verPdfCae{justify-content: center;}
form#custom-product-form #verPdfCae a{font-size: 18px; font-weight: 700; text-decoration: underline; color: var( --e-global-color-secondary );}
form#custom-product-form #verPdfCae a:hover{color: var( --e-global-color-primary );}
*/
.btnBordeAzul{background: transparent!important; border-radius: 50px!important; border: 2px solid var( --e-global-color-secondary ); color: var( --e-global-color-secondary ); font-size: 18px; font-weight: 700; padding: 11px 40px;}
.btnBordeAzul:hover{background: var( --e-global-color-secondary )!important; color: #fff!important;}

.readonly-input,
.readonly-form input,
.readonly-form textarea{background-color: #f0f0f0!important;}

.btnsFiltros{display: flex!important; justify-content: space-between;}

/* Gestor docs */
#upload_btn_documents_representative_certificate{padding: 7px 30px; margin-bottom: 20px;}
#upload_btn_documents_representative_certificate:hover{background: linear-gradient(135deg, var(--color-secondary) 0%, #15f1ba 100%)!important; box-shadow: 0 6px 20px rgba(0, 201, 167, 0.4);}
#file_documents_representative_certificate{border-radius: 0.375rem!important; box-shadow: none!important; padding: 7px!important;}
.upload-form-container .btn-success,
.upload-form-container .btn-secondary{border: none; width: 230px; margin: inherit;}
.upload-form-container .btn-secondary{background-color: #333333;}
.btn-outline-danger,
.btn-outline-danger:hover{background: none!important; border: none!important;}

#divFilesUpload{display: flex; flex-wrap: wrap; justify-content: space-between; flex-direction: row!important;}
#divFilesUpload div.documents-component{flex-direction: row; width: 49%;}
div.documents-component div.documents-header{flex-direction: row!important; width: 100%; align-items: center; padding-bottom: 20px;}
div.documents-component div.documents-header h3{font-size: 22px; margin: 0 10px 0 0;}
div.documents-component .documents-header button{margin-right: auto!important;}
#divFilesUpload div.documents-component div.doc-icon{display: inline-block!important; margin: auto;}
#divFilesUpload div.documents-component div.document-upload-form input{box-shadow: none; padding: 6px 20px 6px 6px; border-radius: 0.375rem;}

div.downloadDocument{flex-direction: row!important; justify-content: space-between; align-items: center;}
div.downloadDocument .document-actions{position: initial!important;}

.form-actions{justify-content: space-between;}

.btn-outline-danger:hover{box-shadow: none!important; translate: none!important;}
.btn-outline-danger{padding: 10px 0;}

#document-error-list ul li{margin-left: 14px!important;}
/**************************/

/* Mis certificados */
#createNewCae{text-align: right; margin-bottom: 15px;}
#createNewCae button{background: linear-gradient(135deg, var(--color-secondary) 0%, #15f1ba 100%)!important; border: none!important;}
#createNewCae button:hover{transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0, 201, 167, 0.4);}
body#customPage .content form#filters{display: flex; flex-wrap: wrap; align-items: flex-start; max-width: 1500px; justify-content: left; margin-bottom: 30px;}
body#customPage .content form#filters .filterGroup{background-color: #fff; padding: 14px 20px 20px; display: flex; flex-wrap: wrap; margin: 8px; border-radius: 10px; box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1); justify-content: space-between; max-width: 23%; min-width: 23%;}
body#customPage .content form#filters .filterGroup input,
body#customPage .content form#filters .filterGroup select{display: inline-block;/*display: block;*/ margin-top: 10px; padding: 3px 10px 5px 10px; background-color: #fff; border-color: #ffffff; box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.10); border-radius: 0.5rem;}
/*.caeActivo{color:#7ad03a; font-weight: 600;}*/
body#customPage .content form#filters .filterGroup .inputTypeNumber{max-width: /*120px*/49%; border-radius: 6px;}
body#customPage .content form#filters .filterGroup p{width: 100%; text-align: center;}
body#customPage .content form#filters .filterGroup p,
body#customPage .content form#filters .filterGroup label{font-weight: 700; color: #333333; font-size: 14px;}
body#customPage .content form#filters .filterGroup.singleFilter{padding: 14px 20px 20px!important;}
body#customPage .content form#filters .filterGroup.pairsFilters{width: 312px;}
body#customPage .content form#filters .filterGroup.pairsFilters.typeDate{width: 310px;}
body#customPage .content form#filters .filterGroup.pairsFilters.typeDate input{font-size: 14px!important; border: solid 1px #eaecf2; border-radius: 6px; padding: 5px 3px 6px;}
.customButtons{text-align: right; width: 100%; margin-top: 20px; display: block ruby;}
.customButtons button,
#bid_form button{font-weight: 700;}
.btnResetFilters, 
.btnVolver, 
.btn-cancel{border-radius: 0.5rem; background-image: linear-gradient(135deg, #FD6A35 0%, #fa7240 100%)!important; color: #ffffff!important;}
.btnResetFilters:hover,
.btnResetFilters:focus,
.btnVolver:hover,
.btnVolver:focus,
.btn-cancel:hover,
.btn-cancel:focus{background-image: linear-gradient(135deg, #FD6A35 0%, #fa7240 100%)!important; box-shadow: 0 6px 20px rgba(253, 106, 53, 0.4)!important; transform: translateY(-2px);}
body#customPage .content .userForm .btnVolver{text-align: left!important;}
#bid_form button{border: solid 2px var( --e-global-color-primary )!important;}
.customButtons .btnSubmit:hover,
#bid_form button:hover{color: #333333!important; border-color: var( --e-global-color-secondary ); transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0, 201, 167, 0.4);}

table tbody > tr:nth-child(2n+1) > td{background-color: #F7FAFD!important;}

.contentTable{min-width: 1300px;  max-width: 98%; margin: 0 auto 100px auto;}
.contentTable.table1300px{width: 1300px!important;}

table#tableCaes{background-color: #fff; font-size: 15px;}
table#tableCaes th,
table th{color: var( --e-global-color-secondary ); line-height: 1.2em;}
table#tableCaes th a:after{content: "\f0dc"; font-family: "Font Awesome 6 Free"; font-size: 14px; color: #979090; margin-left: 8px;}
table#tableCaes th.sort-asc a:after{content: "\f0de"; color: var( --e-global-color-secondary );}
table#tableCaes th.sort-desc a:after{content: "\f0dd"; color: var( --e-global-color-secondary );}

table#tableCaes td{vertical-align: middle; padding: 4px 10px 5px 10px; height: 60px;}
table#tableCaes td select{padding: 3px 10px 5px 10px; background-color: #fff; border-color: #ffffff; box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.10); border-radius: 0.5rem;}

#bid_form{display: none; max-width: 1300px; margin: 30px auto; background-color: #fff; padding: 23px 70px 20px; border-radius: 10px; box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1); justify-content: space-between;}
#bid_form div{display: flex; align-items: baseline;}
#bid_form div h2{min-width: 42%; color: var(--e-global-color-secondary); font-size: 22px; font-weight: 700;}
#bid_form div label{width: 77%;}
#bid_form input{margin: 0 10px; padding: 3px 10px 5px 10px; background-color: #fff; border-color: #ffffff; box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.10); border-radius: 0.5rem;}
#bid_form button{min-width: 150px;}

#caeTitle{color: var( --e-global-color-secondary ); font-weight: 700;}
#caeTitle:hover{color:var( --e-global-color-primary ); font-weight: 700;}

.pagination-container{text-align: center; margin-top: 20px;}
.page-numbers{font-size: 16px; font-weight: 600; padding-right: 8px; color: var( --e-global-color-secondary );}
.page-numbers.current{color: #0066CC; text-decoration: underline;}
/*
.formDeleteCae{display: none;}
.tdDeleteCae:hover .formDeleteCae{display: block;}
.formDeleteCae .btnDeleteCae{background-color: transparent; border: none; color: red; font-size: 15px; font-weight: 500; padding: 0;}
.formDeleteCae .btnDeleteCae:hover{background-color: transparent; text-decoration: underline;}
*/

#case_file_actions,
#group_actions{margin-top: 30px; padding: 40px 20px 40px 20px; background-color: #fff; border-color: #ffffff; box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.10); border-radius: 0.5rem;}
.container-actions label{padding-bottom: 7px;}
#group_actions .container-actions,
#case_file_actions .container-actions{display: flex; flex-wrap: wrap; align-items: last baseline; justify-content: space-between; margin: auto;}
#group_actions select,
#case_file_actions select{width: 450px;}
/********************/

/* Crear actuación */
#rowCalculator{align-items: last baseline; display: none!important;}/* Añadido display:noen para la demo del 09/10/2025 */
.btnCalculator{height: 43px; cursor: pointer;}
#divCalculadora{display: none!important;}
/*******************/

/* Mis actuaciones */
/*.tdActions button{color: var( --e-global-color-secondary ); display: block; line-height: 1.5em; font-weight: 400; font-size: 14px;}
.tdActions button:hover,
.tdActions button:focus{color: var( --e-global-color-secondary ); text-decoration: underline;}*/
.tdActions button{color: var( --e-global-color-secondary ); font-size: 14px; font-weight: 400; line-height: 2em;}
.tdActions button:hover,
.tdActions button:focus{color: #0066CC!important; box-shadow: none!important;}
.tdActions button,
.tdActions button:hover,
.tdActions button:focus{background: none; padding: 0 6px; display: block;}

/* Actions */
i.fa-solid{color: #333333;}
i.fa-trash{color: #EF4444!important;}
i.fa-trash:hover{color: #9f2d2d!important;}
i.fa-solid:hover{color: #0066CC;}
i.fa-check, i.fa-xmark{-webkit-text-stroke-width: 2px;}
i.fa-check{color: #10B981;  -webkit-text-stroke-color: #10B981;}
i.fa-check:hover{color: var( --e-global-color-primary );  -webkit-text-stroke-color: var( --e-primary-color-secondary );}
i.fa-xmark{color: #EF4444; -webkit-text-stroke-color: #EF4444;}
i.fa-xmark:hover{color: var( --e-global-color-primary ); -webkit-text-stroke-color: var( --e-primary-color-secondary );}


/*.tdActions button.btnDelete{color: #EF4444;}
.tdActions button.btnDelete:hover{font-weight: 700;}*/
/*******************/ 

/* Icos de botones*/
.fa-download, .fa-upload, .fa-trash,
.fa-download:hover, .fa-upload:hover,
.fa-plus{color: #333!important; padding-right: 3px!important;}
/******************/


/* Pág legal */
#pagLegal h2{font-size: 26px; margin-top: 40px; margin-bottom: 10px; font-weight: 800; color: var( --e-global-color-secondary );}
#pagLegal h3{font-size: 22px; margin-top: 30px; font-weight: 700;}
#pagLegal ul{margin: 20px 0 20px 20px;}
#pagLegal ul li ul{margin: 0!important; padding-left: 30px;}
#pagLegal li{padding-bottom: 8px;}
#pagLegal a{color: var( --e-global-color-secondary )!important;}
#pagLegal a:hover{color: var( --e-global-color-accent ) !important;}
/************/

#menuFooter a{margin-left: 3%;}

.readonly {background: #F3F4F6;}

.alert {
    padding: 16px 16px;
    border-radius: 6px;
    margin: 10px 0 30px 0;
    font-size: 1rem;
    gap: 0.25rem;
}

.alert-success {
    background-color: #d1e7dd;
    border: 1px solid #badbcc;
    color: #10B981;
}

.alert-error {
    background-color: #ef444413;
    border: 1px solid #ef444433;
    color: #EF4444;
}

.alert-info {
    background-color: #f59f0b15;
    border: 1px solid #f59f0b2d;
    color: #333333;
}

/*==========================================*/
@media only screen and ( max-width: 1024px ) {
	main#main{width: 1024px; max-width: 100%; margin: 40px auto;}
}

@media only screen and ( max-width: 980px ) {
	body#customPage .content form div.row div{width: 100%;}
	body#customPage .content form div.row div:first-child{margin-right: 0;}
	body#customPage .content form #email/*,
	body#customPage .content form #billing_company,
	body#customPage .content form #iban,
	body#customPage .content form #iban_cert,
	body#customPage .content form  #verPdfCae,
	body#customPage .content form #price*/{margin-bottom: 40px!important;}
}

@media only screen and ( max-width: 767px ) {
  .elementor-nav-menu li{padding-bottom: 17px;}
}

@media only screen and ( max-width: 622px ) {
	nav ul li a{padding: 0!important;}

	#custom-registration-form{padding: 30px 10px!important;}
	.fieldsGroup{padding: 50px 10px 30px 10px!important;}
	input.behalf_of_cert{max-width: 80%;}
	body#customPage .content form label, body#customPage .content form label{font-size: 17px;}

	.documents-component{padding: 0 5px!important;}
}

@media only screen and ( max-width: 440px ) {
	body#customPage .content form select, form#custom-registration-form input{max-width: 88%;}
}

/* Modal styles */

.wp-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 100000;
  align-items: center;
  justify-content: center;
  margin-block-start: auto;
}

.wp-modal-content {
  background: white;
  border-radius: 8px;
  max-width: 500px;
  width: 90%;
  max-height: 80vh;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  animation: modal_slide_in 0.3s ease-out;
  display: flex;
  flex-direction: column;
}

.wp-modal-content>form {
  display: contents;
}

.wp-modal-header {
  padding: 15px 15px 15px 20px;
  border-bottom: 1px solid #ddd;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.wp-modal-header h4 {
  margin: 0;
  color: #333333;
  font-size: 22px;
}

.wp-modal-header button {
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  color: #333333;
  width: 32px;
  height: 32px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wp-modal-content #upload_btn_documents_esc_issuance_request_resolution{
	margin-right: auto;
 	margin-bottom: 14px;
}

.wp-modal-body {
  padding: 20px;
  overflow-y: auto;
}

.wp-modal-body .documents-component{
	padding: 20px 3%!important;
}

.div-error-message {
  color: #d63638;
  padding: 3px 10px;
  background: #ffeaea;
  border: 1px solid #f0c6c6;
  border-radius: 4px;
  margin-top: 10px;
}

.wp-modal-footer {
  padding: 20px;
  border-top: 1px solid #ddd;
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

.btn-cancel,
.btn-confirm {
  padding: 8px 16px;
  cursor: pointer;
  font-size: 1rem;
}

.btn-cancel {
  border: 1px solid #666;
  background: white;
  color: #666;
}

.btn-cancel:hover {
  background: #666;
  color: white;
  box-shadow: 0 6px 20px rgba(0, 201, 167, 0.4);
  transform: translateY(-2px);
}

.btn-confirm {
  background: #5094b5;
  color: white;
  border: none;
}

.btn-confirm:hover {
  background: #5ba7cc;
  box-shadow: 0 6px 20px rgba(0, 201, 167, 0.4);
  transform: translateY(-2px);
}

.btn-confirm:disabled {
  background: #ccc;
  cursor: not-allowed;
}

@keyframes modal_slide_in {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes modal_slide_out {
  from {
    opacity: 1;
    transform: translateY(0);
  }

  to {
    opacity: 0;
    transform: translateY(-20px);
  }
}

/* End modal styles */



/* Estilos enviados por el cliente para la home */
		/* ========================================
		   VARIABLES CSS - GUÍA DE ESTILOS ACTIOM
		   ======================================== */
		:root {
			/* Paleta de colores corporativa */
			--color-primary: #03448c;
			--color-primary-dark: #0066CC;
			--color-primary-light: #0066CC;
			--color-secondary: #17ffc6;
			--color-accent: #FF6B35;
			
			/* Colores neutros */
			--color-dark: #333333;
			--color-gray-900: #2D3142;
			--color-gray-700: #4F5D75;
			--color-gray-500: #4F5D75;
			--color-gray-300: #D1D5DB;
			--color-gray-100: #F3F4F6;
			--color-white: #FFFFFF;
			
			/* Colores semánticos */
			--color-success: #10B981;
			--color-warning: #F59E0B;
			--color-error: #EF4444;
			
			/* Tipografía */
			--font-primary: 'Cabin', sans-serif;
			--font-heading: 'Cabin', sans-serif;
			
			/* Espaciado */
			--spacing-xs: 0.5rem;
			--spacing-sm: 1rem;
			--spacing-md: 1.5rem;
			--spacing-lg: 2.5rem;
			--spacing-xl: 4rem;
			--spacing-2xl: 6rem;
			
			/* Tamaños de fuente */
			--text-xs: 0.75rem;
			--text-sm: 0.875rem;
			--text-base: 1rem;
			--text-lg: 1.125rem;
			--text-xl: 1.25rem;
			--text-2xl: 1.5rem;
			--text-3xl: 1.875rem;
			--text-4xl: 2.25rem;
			--text-5xl: 3rem;
			
			/* Sombras */
			--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
			--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
			--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
			--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
			
			/* Transiciones */
			--transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
			--transition-base: 300ms cubic-bezier(0.4, 0, 0.2, 1);
			--transition-slow: 500ms cubic-bezier(0.4, 0, 0.2, 1);
			
			/* Border radius */
			--radius-sm: 0.375rem;
			--radius-md: 0.5rem;
			--radius-lg: 0.75rem;
			--radius-xl: 1rem;
			
			/* Contenedor máximo */
			--container-max: 1200px;
		}

		/* ========================================
		   RESET Y BASE
		   ======================================== */
		*, *::before, *::after {
			box-sizing: border-box;
			margin: 0;
			padding: 0;
		}

		html {
			scroll-behavior: smooth;
			-webkit-font-smoothing: antialiased;
			-moz-osx-font-smoothing: grayscale;
		}

		body {
			font-family: var(--font-primary);
			font-size: var(--text-base);
			line-height: 1.6;
			color: var(--color-gray-900);
			background-color: var(--color-white);
			overflow-x: hidden;
		}

		/* ========================================
		   UTILIDADES
		   ======================================== */
		.container {
			width: 100%;
			max-width: var(--container-max);
			margin: 0 auto;
			padding: 0 var(--spacing-md);
		}

		.section {
			padding: var(--spacing-2xl) 0;
		}

		.section-alt {
			background-color: var(--color-gray-100);
		}

		/* ========================================
		   HEADER
		   ======================================== */
		.header {
			position: sticky;
			top: 0;
			z-index: 100;
			background: rgba(255, 255, 255, 0.98);
			backdrop-filter: blur(12px);
			-webkit-backdrop-filter: blur(12px);
			border-bottom: 1px solid rgba(0, 0, 0, 0.06);
			padding: var(--spacing-md) 0;
			transition: all var(--transition-base);
			box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
		}

		.header-container {
			display: flex;
			justify-content: space-between;
			align-items: center;
		}

	/*	.logo {
			font-family: var(--font-heading);
			font-size: var(--text-2xl);
			font-weight: 700;
			background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);
			-webkit-background-clip: text;
			-webkit-text-fill-color: transparent;
			background-clip: text;
			text-decoration: none;
			transition: all var(--transition-fast);
			letter-spacing: -0.01em;
		}

		.logo:hover {
			transform: translateY(-1px);
			filter: brightness(1.1);
		}

		.nav-buttons {
			display: flex;
			gap: var(--spacing-sm);
		}*/

		.btn {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			padding: 0.625rem 1.5rem;
			font-size: var(--text-base);
			font-weight: 500;
			text-decoration: none;
			border-radius: var(--radius-md);
			border: none;
			cursor: pointer;
			transition: all var(--transition-base);
			white-space: nowrap;
		}
    .btn:hover{
      transform: translateY(-2px);
    }

		.btn-ghost {
			color: var(--color-gray-700);
			background: transparent;
		}

		.btn-ghost:hover {
			color: var(--color-primary);
			background: var(--color-gray-100);
		}

		.btn-primary {
			color: var(--color-white);
			background: var(--color-primary);
			box-shadow: var(--shadow-sm);
		}

		.btn-primary:hover {
			background: var(--color-primary-dark);
			box-shadow: var(--shadow-md);
			transform: translateY(-1px);
			color: #333333!important;
		}

		.btn-secondary {
			color: #333333!important;
			background: linear-gradient(135deg, #17ffc6 0%, #15f1ba 100%);
			box-shadow: 0 4px 14px rgba(0, 201, 167, 0.3);
			font-weight: 600;
			position: relative;
			overflow: hidden;
		}

		.btn-secondary::before {
			content: '';
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background: linear-gradient(135deg, #15f1ba 0%, #17ffc6 100%);
			opacity: 0;
			transition: opacity var(--transition-base);
		}

		.btn-secondary:hover::before {
			opacity: 1;
		}

		.btn-secondary:hover {
			box-shadow: 0 6px 20px rgba(0, 201, 167, 0.4);
			transform: translateY(-2px);
			color: #333333!important;
		}

		.btn-secondary span {
			position: relative;
			z-index: 1;
		}

		.btn-lg {
			padding: 0.875rem 2rem;
			font-size: var(--text-lg);
		}

		/* ========================================
		   HERO SECTION
		   ======================================== */
		.hero {
			position: relative;
			padding: calc(var(--spacing-2xl) + var(--spacing-lg)) 0 var(--spacing-2xl) 0;
			background: linear-gradient(135deg, #f0f7ff 0%, #f8fcff 50%, #ffffff 100%);
			overflow: hidden;
		}

		.hero::before {
			content: '';
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			background-image: url('https://images.unsplash.com/photo-1497435334941-8c899ee9e8e9?w=1920&q=80');
			background-size: cover;
			background-position: center right;
			opacity: 0.15;
			z-index: 0;
		}

		.hero::after {
			content: '';
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			background: linear-gradient(135deg, rgba(240, 247, 255, 0.88) 0%, rgba(248, 252, 255, 0.85) 50%, rgba(255, 255, 255, 0.9) 100%);
			z-index: 1;
		}

		.hero-content {
			position: relative;
			z-index: 2;
			text-align: center;
			max-width: 900px;
			margin: 0 auto;
		}

		.hero-title {
			font-family: var(--font-heading);
			font-size: var(--text-5xl);
			font-weight: 700;
			line-height: 1.15;
			color: var(--color-dark)!important;
			margin-bottom: var(--spacing-md);
			animation: fadeInUp 0.8s ease-out;
			letter-spacing: -0.02em;
		}

		.hero-description {
			font-size: var(--text-xl);
			color: var(--color-gray-700);
			line-height: 1.7;
			margin-bottom: var(--spacing-xl);
			animation: fadeInUp 0.8s ease-out 0.2s both;
			max-width: 800px;
			margin-left: auto;
			margin-right: auto;
		}

		.hero-cta {
			animation: fadeInUp 0.8s ease-out 0.4s both;
		}

		/* ========================================
		   SECCIONES
		   ======================================== */
		.section-header {
			text-align: center;
			max-width: 800px;
			margin: 0 auto var(--spacing-xl) auto;
		}

		.section-title {
			font-family: var(--font-heading);
			font-size: var(--text-4xl)!important;
			font-weight: 700;
			color: var(--color-dark);
			margin-bottom: var(--spacing-md);
			line-height: 1.2;
		}

		.section-subtitle {
			font-size: var(--text-lg);
			color: var(--color-gray-700);
			line-height: 1.7;
		}

		/* ========================================
		   CARDS GRID
		   ======================================== */
		.cards-grid {
			display: grid;
			grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
			gap: var(--spacing-lg);
			margin-top: var(--spacing-xl);
		}

		.card {
			background: var(--color-white);
			border-radius: var(--radius-xl);
			padding: var(--spacing-lg);
			box-shadow: var(--shadow-md);
			transition: all var(--transition-base);
			border: 1px solid var(--color-gray-300);
		}

		.card:hover {
			transform: translateY(-4px);
			box-shadow: var(--shadow-xl);
			border-color: var(--color-primary);
		}

		.card-icon {
			width: 64px;
			height: 64px;
			display: flex;
			align-items: center;
			justify-content: center;
			background: linear-gradient(135deg, rgba(0, 102, 204, 0.1) 0%, rgba(51, 133, 214, 0.15) 100%);
			border: 2px solid var(--color-primary);
			border-radius: var(--radius-lg);
			margin-bottom: var(--spacing-md);
			color: var(--color-primary);
			flex-shrink: 0;
			transition: all var(--transition-base);
		}

		.card:hover .card-icon {
			background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-light) 100%);
			color: var(--color-white);
			transform: scale(1.05);
		}

		.card-icon svg {
			width: 32px;
			height: 32px;
			stroke-width: 2.5;
		}

		.card-icon-success {
			background: linear-gradient(135deg, rgba(0, 201, 167, 0.1) 0%, rgba(0, 229, 186, 0.15) 100%);
			border-color: var(--color-secondary);
			color: var(--color-secondary);
		}

		.card:hover .card-icon-success {
			background: linear-gradient(135deg, var(--color-secondary) 0%, #00E5BA 100%);
			color: var(--color-white);
		}

		.card-icon-warning {
			background: linear-gradient(135deg, rgba(255, 107, 53, 0.1) 0%, rgba(255, 133, 85, 0.15) 100%);
			border-color: var(--color-accent);
			color: var(--color-accent);
		}

		.card:hover .card-icon-warning {
			background: linear-gradient(135deg, var(--color-accent) 0%, #FF8555 100%);
			color: var(--color-white);
		}

		.card-title {
			font-family: var(--font-heading);
			font-size: var(--text-xl);
			font-weight: 600;
			color: var(--color-dark);
			margin-bottom: var(--spacing-sm);
		}

		.card-description {
			color: var(--color-gray-700);
			line-height: 1.6;
		}

		/* ========================================
		   HOW IT WORKS
		   ======================================== */
		.steps {
			display: grid;
			gap: var(--spacing-lg);
			max-width: 800px;
			margin: 0 auto;
		}

		.step {
			display: flex;
			gap: var(--spacing-md);
			padding: var(--spacing-lg);
			background: var(--color-white);
			border-radius: var(--radius-lg);
			box-shadow: var(--shadow-sm);
			border-left: 4px solid var(--color-primary);
		}

		.step-number {
			flex-shrink: 0;
			width: 48px;
			height: 48px;
			display: flex;
			align-items: center;
			justify-content: center;
			background: var(--color-primary);
			color: var(--color-white);
			border-radius: 50%;
			font-size: var(--text-xl);
			font-weight: 700;
		}

		.step-content h3 {
			font-family: var(--font-heading);
			font-size: var(--text-xl);
			font-weight: 600;
			color: var(--color-dark);
			margin-bottom: var(--spacing-xs);
		}

		.step-content p {
			color: var(--color-gray-700);
			line-height: 1.6;
		}

		/* ========================================
		   TESTIMONIALS
		   ======================================== */
		.testimonials-grid {
			display: grid;
			grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
			gap: var(--spacing-lg);
			margin-top: var(--spacing-xl);
		}

		.testimonial {
			background: var(--color-white);
			border-radius: var(--radius-lg);
			padding: var(--spacing-lg);
			box-shadow: var(--shadow-md);
			border: 1px solid var(--color-gray-300);
		}

		.testimonial-quote {
			font-style: italic;
			color: var(--color-gray-700);
			line-height: 1.7;
			margin-bottom: var(--spacing-md);
		}

		.testimonial-author {
			font-weight: 600;
			color: var(--color-dark);
		}

		.testimonial-role {
			font-size: var(--text-sm);
			color: var(--color-gray-500);
		}

		/* ========================================
		   FAQ
		   ======================================== */
		.faq-list {
			max-width: 800px;
			margin: 0 auto;
		}

		.faq-item {
			background: var(--color-white);
			border-radius: var(--radius-lg);
			margin-bottom: var(--spacing-md);
			box-shadow: var(--shadow-sm);
			border: 1px solid var(--color-gray-300);
			overflow: hidden;
		}

		.faq-question {
			width: 100%!important;
			text-align: left!important;
			padding: var(--spacing-md)!important;
			font-family: var(--font-heading)!important;
			font-size: var(--text-lg)!important;
			font-weight: 600!important;
			color: var(--color-dark)!important;
			background: transparent!important;
			border: none!important;
			cursor: pointer!important;
			display: flex!important;
			justify-content: space-between!important;
			align-items: center!important;
			transition: background var(--transition-fast)!important;
      		border-radius: 0!important;

			display: flex;
			flex-direction: row;
			align-items: center;
			justify-content: space-between;
			width: 100%;
			padding: 1rem;
			box-sizing: border-box;
			white-space: normal; /* Permite saltos de línea */
			word-break: break-word; /* Rompe palabras largas si es necesario */
			flex-wrap: wrap; 
			
		}

		.faq-question p {
			margin: 0;
			flex: 1;
			white-space: normal;
			word-break: break-word;
			font-size: 1rem;
			line-height: 1.4;
			font-size: 18px!important;
			}

			.faq-icon {
			margin-left: 1rem;
			flex-shrink: 0;
			}

	.faq-question:hover {
			background: var(--color-gray-100)!important;
      border-radius: 0!important;
	  box-shadow: none!important;
		}

    .faq-question:active, .faq-question:focus{
      border-radius: 0!important;
	  box-shadow: none!important;
    }

		.faq-icon {
			flex-shrink: 0;
			width: 24px;
			height: 24px;
			display: flex;
			align-items: center;
			justify-content: center;
			color: var(--color-primary);
			font-size: var(--text-xl);
			transition: transform var(--transition-base);
		}

		.faq-item.active .faq-icon {
			transform: rotate(45deg);
		}

		.faq-answer {
			max-height: 0;
			overflow: hidden;
			transition: max-height var(--transition-base);
		}

		.faq-item.active .faq-answer {
			max-height: 500px;
		}

		.faq-answer-content {
			padding: 0 var(--spacing-md) var(--spacing-md) var(--spacing-md);
			color: var(--color-gray-700);
			line-height: 1.7;
		}

		/* ========================================
		   CTA SECTION
		   ======================================== */
		.cta-section {
			background: linear-gradient(135deg, #0066CC 0%, #0052A3 100%);
			color: var(--color-white);
			text-align: center;
			padding: var(--spacing-2xl) 0;
			position: relative;
		}

		.cta-section .section-title {
			color: var(--color-white);
		}

		.cta-section .section-subtitle {
			color: rgba(255, 255, 255, 0.95);
		}

		.btn-white {
			background: var(--color-white);
			color: var(--color-primary);
			font-weight: 600;
			box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
		}

		.btn-white:hover {
			background: var(--color-white);
			color: var(--color-primary-dark)!important;
			transform: translateY(-2px);
			box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
		}

		/* ========================================
		   FOOTER
		   ======================================== */
		.footer {
			background-color: transparent;
			background-image: linear-gradient(90deg, #00C9A7 0%, #0066CC 100%);
			color: var(--color-white);
			padding: var(--spacing-lg) 0;
			border-top: 1px solid rgba(255, 255, 255, 0.15);
		}

		.footer-content {
			display: flex;
			justify-content: center;
			align-items: center;
			flex-wrap: wrap;
			gap: var(--spacing-sm);
			text-align: center;
		}

		.footer-link {
			color: rgba(255, 255, 255, 0.95);
			text-decoration: none;
			font-size: var(--text-sm);
			transition: all var(--transition-fast);
			font-weight: 400;
			background: none;
			border: none;
			cursor: pointer;
			padding: 0;
			font-family: var(--font-primary);
		}

		.footer-link:hover {
			color: var(--color-white);
		}

		.footer-separator {
			color: rgba(255, 255, 255, 0.6);
			font-size: var(--text-sm);
			margin: 0 var(--spacing-xs);
		}

		.footer-btn-cookies {
			text-decoration: none;
		}

		.footer-btn-cookies:hover {
			text-decoration: underline;
		}

		/* ========================================
		   ANIMATIONS
		   ======================================== */
		@keyframes fadeInUp {
			from {
				opacity: 0;
				transform: translateY(30px);
			}
			to {
				opacity: 1;
				transform: translateY(0);
			}
		}

		/* ========================================
		   RESPONSIVE
		   ======================================== */
		@media (max-width: 768px) {
			:root {
				--text-5xl: 2rem;
				--text-4xl: 1.75rem;
				--text-3xl: 1.5rem;
				--spacing-2xl: 3rem;
				--spacing-xl: 2rem;
				--spacing-xxl: 4rem;
			}

			.hero::before {
				opacity: 0.10;
			}

			.header-container {
				flex-wrap: wrap;
			}

			.nav-buttons {
				width: 100%;
				justify-content: center;
				margin-top: var(--spacing-sm);
			}

			.cards-grid {
				grid-template-columns: 1fr;
			}

			.testimonials-grid {
				grid-template-columns: 1fr;
			}

			.footer-content {
				flex-direction: column;
				gap: var(--spacing-xs);
			}

			.footer-separator {
				display: none;
			}

			.footer-link {
				display: block;
				padding: var(--spacing-xs) 0;
			}
		}

		@media (max-width: 480px) {
			.btn {
				padding: 0.5rem 1rem;
				font-size: var(--text-sm);
			}

			.btn-lg {
				padding: 0.75rem 1.5rem;
				font-size: var(--text-base);
			}
		}



/**/