/*================================================================================

	Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template

	Version: 2.0

	Author: PIXINVENT

	Author URL: http://www.themeforest.net/user/pixinvent

================================================================================




NOTE:

------

PLACE HERE YOUR OWN SCSS CODES AND IF NEEDED, OVERRIDE THE STYLES FROM THE OTHER STYLESHEETS.

WE WILL RELEASE FUTURE UPDATES SO IN ORDER TO NOT OVERWRITE YOUR STYLES IT'S BETTER LIKE THIS.  */


/*
input[type="date"]::-webkit-calendar-picker-indicator {
    background: transparent;
    bottom: 0;
    color: transparent;
    cursor: pointer;
    height: auto;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: auto;
}*/


 .client-input-group .client-input-wrap {
    flex: 1 1 auto;
    min-width: 0;
  }

  .client-input-group .client-input-wrap > select,
  .client-input-group .client-input-wrap .select2,
  .client-input-group .client-input-wrap .select2-container {
    width: 100% !important;
  }

/* Keep Select2 full width in all forms, even when inline width is injected. */
.select2,
.select2-container {
  width: 100% !important;
  min-width: 0 !important;
  display: block !important;
}

.select2-container .selection,
.select2-container .select2-selection,
.select2-container .select2-selection--single,
.select2-container .select2-selection--multiple {
  width: 100% !important;
  min-width: 0 !important;
}

/* Joomla search tools filter bar: avoid shrink-to-content on Select2 wrappers. */
.js-stools .js-stools-field-filter,
.js-stools .js-stools-field-list {
  min-width: 180px;
}

.js-stools .select2,
.js-stools .select2-container,
.js-stools .select2-container .selection,
.js-stools .select2-container .select2-selection {
  width: 100% !important;
  min-width: 0 !important;
}

.badge.badge-light-loyalty{
  background-color: rgba(227, 178, 0, 0.12) !important;
  color: #e3b200 !important;
}

.badge.badge-light-mandatory-extra{ 
  background-color: rgb(219, 236, 255) !important;
  color: #6286ff !important;
}

.progress {
  display: flex;
  height: 0.857rem;
  overflow: hidden;
  font-size: 0.857rem;
  background-color: rgba(116, 116, 116, 0.12);
  border-radius: 5rem;
}


div.dt-button-collection .dt-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  border: 0px;
  border-bottom: 1px solid #CCC;
  background: #FFF;	
}

div.dt-button-collection .dt-button:before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 1px solid #ccc;
  margin-right: 10px;
  background-color: white;
}

div.dt-button-collection .dt-button.active:before {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
  content: "✔";
  color: white;
  font-size: 11px;
  text-align: center;
  line-height: 16px;
}



@media (max-width: 960px) {
	
	
	#navbar-title{font-weight: normal !important; font-size: 14px !important;}
  
}


.main-menu.menu-light .navigation > li ul li > a {
  padding: 10px 15px 10px 30px;
  border-left: 1px solid #D74D4D;
	background: #F9f9f9;
}

.main-menu.menu-light .navigation > li ul li.active > a {
 
 color: #D74D4D !important;
}

.highlighted-column{background: #EEE !important; color:#28C76F !important}
.border-highlight:not(.has-charter){background: #EEE;}
.border-highlight span:not(.has-charter) {color:#28C76F !important}


.ui-datepicker{z-index: 9999 !important}


.page-item.active .page-link {
  
  background-color: #a4a4a4;
  
}

.nav-pills .nav-link.active {
  border-color: #a4a4a4;
  box-shadow: none;
}
.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
  color: #fff;
  background-color: #a4a4a4;
}

label{font-weight: 500}

.form-check-input:disabled {
    pointer-events: none;
    filter: none;
    opacity: 0.65;
    background-color: #DDD;
	cursor: not-allowed !important;
}


.main-menu.menu-fixed .app-version{
	 display: none;
}

.main-menu.menu-fixed.expanded .app-version{
	display: block !important
}


.signature-dashboard svg{max-width: 150px; max-height: 150px}

.tooltip-success .tooltip-inner {
    background-color: #28C76F;
    box-shadow: 0px 0px 4px black;
    opacity: 1 !important;
}
.tooltip-success.bs-tooltip-right .tooltip-arrow::before {
    border-right-color: #28C76F !important;
}
.tooltip-success.bs-tooltip-left .tooltip-arrow::before {
    border-left-color: #28C76F !important;
}
.tooltip-success.bs-tooltip-bottom .tooltip-arrow::before {
    border-bottom-color: #28C76F !important;
}
.tooltip-success.bs-tooltip-top .tooltip-arrow::before {
    border-top-color: #28C76F !important;
}

/*
.main-menu-content .uk-nav-icon .las:before{color:#7367f0}
.main-menu-content .uk-nav-icon .la:before{color:#7367f0}
.menu-content .uk-nav-icon .las:before{color:#999}*/



.bg-light-warning a {
    background: rgba(255, 159, 67, 0.12) !important;
    color: #ff9f43 !important;
}

.card-profile .avatar, .card-profile .avatar-content{ width:100px !important; height: 100px !important; font-size: 1.5em}

html .navbar-sticky .app-content {
    padding: calc(2rem + 3.45rem) 2rem 0 2rem;
}

.btn-sm .las{ font-size:14px !important}

.subform-table-layout  .table-responsive{ overflow: visible !important;}

.subform-repeteable-small th{ font-size: 14px; text-transform: none !important; white-space: nowrap; vertical-align: middle !important}
.subform-repeteable-small td form-check{margin: 0 auto !important}
.subform-repeatable .form-check-inline{ margin-right: 0px !important}

.form-select {
   
    padding: 0.25rem 2rem 0.25rem 1rem;
	line-height: 2;
}

.td-signature svg{width:30px; height: 30px}

.page-item,.page-item a,.page-item span{ height:32px;}

.card-icon-left{border-radius:  0.428rem 0 0 0.428rem;}

.bg-success-bordered{
	background-color:#FFFFFF;
	color: #28C76F;
	border: 1px solid #28C76F;
}

.bg-primary-bordered{
	background-color:#FFFFFF;
	color: #d74d4d ;
	border: 1px solid #d74d4d ;
}


.bg-secondary-light{background: #F0F0F1 !important;}

.btn-xs, .btn-group-xs > .btn {
    padding: 0.200rem 0.7rem;
    font-size: 12px;
    border-radius: 0.2rem;
}

.pad-button{border-radius: 0px !important}

.avatar-group .avatar .avatar-content {
     background: rgba(215, 77, 77, 0.12) !important;
}

.bg-light-primary{
  background: rgba(215, 77, 77, 0.12) !important;
  color: #d74d4d !important;
}

/* Gallery manager styles moved from boatform v3.php */
.gallery-grid {
  min-height: 14rem;
  border: 1px solid #ebe9f1;
  padding: .75rem;
  background: #fff;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  gap: .75rem;
  align-items: start;
  align-content: start;
}

.gallery-grid.is-over {
  border-color: #7367f0;
  background: #f7f6ff;
}

.gallery-grid.drop-forbidden {
  border-color: #ea5455;
  background: #fff6f6;
  cursor: not-allowed;
  position: relative;
}

body.gallery-drop-forbidden,
body.gallery-drop-forbidden * {
  cursor: not-allowed !important;
}

.gallery-grid.drop-forbidden::after {
  content: '\f05e';
  font-family: 'Line Awesome Free';
  font-weight: 900;
  color: #ea5455;
  position: absolute;
  top: .45rem;
  right: .45rem;
  font-size: 1.05rem;
  line-height: 1;
  pointer-events: none;
}

.gallery-card {
  overflow: hidden;
  background: #fff;
  box-shadow: 0 2px 8px rgba(34, 41, 47, .2);
  cursor: default;
  align-self: start;
  transition: transform .22s ease, opacity .22s ease;
  will-change: transform, opacity;
  backface-visibility: hidden;
}

.gallery-card.dragging {
  opacity: .45;
}

.gallery-card.is-entering {
  opacity: 0;
  transform: translateY(4px) scale(.99);
  animation: galleryCardIn .24s ease-out forwards;
}

.gallery-card.is-leaving {
  opacity: 0;
  transform: translateY(-3px) scale(.96);
  pointer-events: none;
}

@keyframes galleryCardIn {
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.gallery-card .thumb {
  width: 100%;
  height: 120px;
  object-fit: cover;
  display: block;
  background: #f3f2f7;
  cursor: grab;
}

.gallery-card .thumb-wrap {
  position: relative;
  cursor: grab;
}

.gallery-card .select-corner {
  position: absolute;
  top: .35rem;
  left: .35rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: .2rem;
  background: rgba(255, 255, 255, .92);
}

.gallery-card .select-corner-input {
  margin: 0;
  width: .9rem;
  height: .9rem;
  border: 1px solid rgba(34, 41, 47, .28);
  box-shadow: none;
  background: #fff;
  border-radius: .2rem;
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  cursor: pointer;
  transition: border-color .15s ease;
}

.gallery-card .select-corner-input:hover,
.gallery-card .select-corner-input:focus,
.gallery-card .select-corner-input:focus-visible,
.gallery-card .select-corner-input:active,
.gallery-card .select-corner-input:checked,
.gallery-card .select-corner-input:checked:focus,
.gallery-card .select-corner-input:checked:active {
  box-shadow: none !important;
  outline: none;
}

.gallery-card .select-corner-input:checked::after {
  content: '\2713';
  color: #28c76f;
  font-size: .78rem;
  font-weight: 700;
  line-height: 1;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -56%);
}

.gallery-card .select-corner-input:checked {
  border-color: #28c76f;
}

.gallery-card .thumb-order {
  position: absolute;
  left: .4rem;
  bottom: .4rem;
  font-size: .72rem;
  font-weight: 600;
  color: #fff;
  background: rgba(34, 41, 47, .72);
  border-radius: .3rem;
  padding: .12rem .35rem;
  line-height: 1.2;
}

.gallery-card .thumb-caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .4rem;
  color: #000;
  background: rgba(255, 255, 255, .78);
  backdrop-filter: blur(1px);
  border-top: 1px solid #ebe9f1;
  border-radius: 0;
  padding: .16rem .3rem;
  font-size: .72rem;
  line-height: 1.2;
}

.gallery-card .thumb-caption-actions {
  display: inline-flex;
  align-items: center;
  gap: .12rem;
}

.gallery-card .thumb-caption-left {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-width: 0;
}

.gallery-card .thumb-caption-pdf {
  display: inline-flex;
  align-items: center;
  gap: .2rem;
}

.gallery-card .thumb-caption .form-check {
  margin: 0;
}

.gallery-card .thumb-caption .form-check-input {
  margin-top: 0;
  transform: none;
  width: .95rem;
  height: .95rem;
  border: 0;
  box-shadow: none;
  background: rgba(255, 255, 255, .94);
  appearance: none;
  -webkit-appearance: none;
  border-radius: .2rem;
  position: relative;
  cursor: pointer;
}

.gallery-card .thumb-caption .form-check-input:hover,
.gallery-card .thumb-caption .form-check-input:focus,
.gallery-card .thumb-caption .form-check-input:focus-visible,
.gallery-card .thumb-caption .form-check-input:active,
.gallery-card .thumb-caption .form-check-input:checked,
.gallery-card .thumb-caption .form-check-input:checked:focus,
.gallery-card .thumb-caption .form-check-input:checked:active {
  box-shadow: none !important;
  outline: none;
}

.gallery-card .thumb-caption .form-check-input:checked::after {
  content: '\2713';
  color: #28c76f;
  font-size: .8rem;
  font-weight: 700;
  line-height: 1;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -56%);
}

.gallery-card .thumb-caption .form-check-label {
  margin: 0;
  font-size: .7rem;
  font-weight: 600;
  color: #2e2b3f;
  letter-spacing: .01em;
  text-transform: uppercase;
}

.gallery-card .gallery-caption-icon {
  border: 0;
  background: transparent;
  color: #5e5873;
  width: 1.15rem;
  height: 1.15rem;
  padding: 0;
  border-radius: .2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  line-height: 1;
}

.gallery-card .gallery-caption-icon.view {
  color: #000;
}

.gallery-card .gallery-caption-icon.crop {
  color: #000;
}

.gallery-card .gallery-caption-icon.delete {
  color: #ea5455;
}

.gallery-card .gallery-caption-icon:hover {
  background: rgba(34, 41, 47, .08);
  color: #2e2b3f;
}

.gallery-card .gallery-caption-icon.delete:hover {
  background: rgba(234, 84, 85, .12);
  color: #ea5455;
}

.gallery-empty {
  grid-column: 1 / -1;
  text-align: center;
  border: 1px dashed #d8d6de;
  border-radius: .5rem;
  padding: 1rem;
  color: #6e6b7b;
  font-size: .85rem;
  background: #faf9fc;
}

.gallery-hint {
  color: #b9b9c3;
  font-size: .73rem;
}

.dropzone .dz-preview .dz-image {
  border-radius: .4rem;
}

/* Boat form specific extracted inline styles */
.form-check-info.form-check-input:checked {
  background-color: #00cfe8;
  border-color: #00cfe8;
}

.form-check-info.form-check-input:focus {
  border-color: #00cfe8;
  box-shadow: 0 0 0 0.2rem rgba(0, 207, 232, 0.25);
}

.form-check-primary.form-check-input:checked {
  background-color: #00cfe8;
  border-color: #00cfe8;
}

.form-check-primary.form-check-input:focus {
  border-color: #00cfe8;
  box-shadow: 0 0 0 0.2rem rgba(0, 207, 232, 0.25);
}

#boat-tabs {
  display: none;
}

@media (min-width: 768px) {
  #boat-tabs {
    display: flex;
  }

  #mobileTabsDropdown {
    display: none !important;
  }
}

#mobileTabsDropdown .dropdown-menu {
  max-height: 60vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}


#profile-avatar .avatar{ background: rgba(255,255,255,0.3) !important; width: 40px !important;
    height: 40px !important;}


#profile-avatar .avatar .avatar-content img{ width: 40px !important;
    height: 40px !important;
    
}
.avatar.avatar-md .avatar-content {
    width: 40px !important;
    height: 40px !important;
    font-size: 1.3rem !important;
}

.avatar.avatar-md {
    width: 40px !important;
    height: 40px !important;
    font-size: 1.3rem !important;
}

.la-xs{ font-size:14px !important;}

.btn-xs > .las, .btn-group-xs > .btn > .las {
    
	font-size: 1.1rem !important;
}



.input-group-sm {
 
    min-height: 2.142rem;
}

.select2.form-select-sm .select2-selection{
	
	min-height: 2.141rem;
    padding: 0px;
   
} 

/* Force a stable Select2 caret globally (theme overrides can break the default b-based arrow). */
.select2-container .select2-selection--single{
  background-image:none !important;
  padding-right:2rem !important;
}

.select2-container .select2-selection--single .select2-selection__arrow{
  position:absolute;
  right:.5rem !important;
  top:0 !important;
  width:1.25rem !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  pointer-events:none;
}

.select2-container .select2-selection--single .select2-selection__arrow b{
  display:none !important;
}

.select2-container .select2-selection--single .select2-selection__arrow::before{
  content:"" !important;
  font-family:inherit !important;
  width:0 !important;
  height:0 !important;
  line-height:0 !important;
  border-left:4px solid transparent !important;
  border-right:4px solid transparent !important;
  border-top:5px solid #6e6b7b !important;
  border-bottom:0 !important;
}

.select2-container.select2-container--open .select2-selection--single .select2-selection__arrow::before{
  border-top:0 !important;
  border-bottom:5px solid #6e6b7b !important;
}


joomla-toolbar-button{ margin-right: 10px; margin-bottom: 10px;}


.cursor-pointer{ cursor:pointer !important}

.divider i{margin-right: 5px !important;
}


.wf-media-wrapper .modal div.modal-body {
    max-height: 100%!important;
    width: 100%;
    overflow: hidden;
    padding: 0;
	height: 90vh !important;

}


joomla-field-media .field-media-preview {
    
    max-width: 100% !important;

}

/*.btn-secondary {
  background-color: #CCC !important;
  color: #FFF !important;
}

.btn-secondary {
  border-color: #CCC !important;
}*/


.tr-header-1 th{ background-color: #7367F0 !important; vertical-align: top;
text-transform: uppercase;
font-size: .857rem;
letter-spacing: .5px; color:#FFF !important}

.tr-header-1 th:hover{background-color: #7367F0 !important;}

.tr-header-2 th{background-color: #EEECFE !important; vertical-align: top;
text-transform: uppercase;
font-size: .857rem;
letter-spacing: .5px;}

.tr-header-2 th:hover{background-color: #EEECFE !important;}







div.calendar-container table th, .calendar-container table td {
 
    padding: 8px 0 !important;
   
}

.form-switch input{ cursor:pointer !important}

.pagination .page-link > span{line-height: 1.8}
/*
.form-select {
  
    
    padding: 0.571rem 2rem 0.571rem 1rem;
    
}



.form-select-sm {
    padding-top: 0.188rem;
    padding-bottom: 0.188rem;
    padding-left: 0.857rem;
    font-size: 0.857rem;
	padding-right: 0.5rem;
}*/

.form-select-sm {
    min-height: 2.142rem;
    padding: 0.188rem 2rem  0.188rem  0.857rem;
    font-size: 0.857rem;
    border-radius: 0.357rem;
}

.input-group input{ border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important;}

.btn-micro{ padding: 0px}

.btn-micro i{font-size: 1.3em}

.form-switch-sm .form-check-input {
    height: 1.2rem;
	width: 2.5rem;
}

.btn-outline-muted{ border:1px solid #d8d6de !important; background: #eee;}

#profile-picture-container:hover .profile-picture-actions{ display:block !important;}

#profile-picture-container{ overflow: hidden !important}

#delete-profile-picture:hover{ color: #EA5455}
#edit-profile-picture:hover{ color: #7367F0}

.profile-picture-actions{position: absolute; padding-top: 50px;  top:0px; left:0px;   display: none; width: 115px; margin: 0 auto;  background: rgba(255,255,255,0.7); height: 115px; z-index: 99999; }

.profile-picture-actions i{cursor: pointer;   font-size: 20px; z-index: 99999; color: #222;}


.vertical-layout.vertical-menu-modern.menu-expanded .main-menu .navigation  i:before, .vertical-layout.vertical-menu-modern.menu-expanded .main-menu .navigation  svg:before {
    height: 20px;
    width: 20px;
    font-size: 20px;
}

.la, .las{ font-size:18px !important}

.la-2x {
    font-size: 1.5em !important;
}

.btn-sm .las.la-2x {
    font-size: 2em !important;
}


.accordion-margin .accordion-item {
    
    box-shadow: none !important;
   
}

.accordion-body {
    padding: 0px !important;
}

.bg-muted{background:#F3F2F7 !important}

.tooltip-danger > .tooltip-inner{
	--bs-bg-opacity: 1;
background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important}

.tooltip-danger.bs-tooltip-top > .tooltip-arrow::before{
	--bs-bg-opacity: 1;
border-top-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important}

.tooltip-danger.bs-tooltip-start > .tooltip-arrow::before{
	--bs-bg-opacity: 1;
border-left-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important}

.modal .btn-close {
  --bs-btn-close-color: #ea5455 !important;
  --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ea5455'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e");
  --bs-btn-close-opacity: 1;
  --bs-btn-close-hover-opacity: 1;
  --bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
  background-image: var(--bs-btn-close-bg) !important;
  filter: none !important;
  opacity: 1 !important;
}

.modal .btn-close:hover {
  opacity: 1 !important;
}

/* ==========================================
   ESTILOS PARA TARJETAS DE BARCOS
   ========================================== */

/* Tarjeta base */
.boat-card {
  position: relative;
  cursor: pointer;
  transition: all 0.3s ease;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.boat-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.boat-card.selected {
  border-color: #2fb66c;
  box-shadow: 0 0 0 3px rgba(47, 182, 108, 0.2);
}

/* Campos personalizados en barcos seleccionados */
.boat-card-body .form-label.small {
  font-size: 0.75rem;
  color: #666;
  margin-bottom: 4px;
}

.boat-card-body .form-control-sm {
  font-size: 0.85rem;
  padding: 6px 10px;
  border-radius: 6px;
  border: 1px solid #e0e0e0;
  transition: all 0.2s ease;
}

.boat-card-body .form-control-sm:focus {
  border-color: #696cff;
  box-shadow: 0 0 0 3px rgba(105, 108, 255, 0.1);
  outline: none;
}

.boat-card-body .form-control-sm::placeholder {
  color: #aaa;
  font-size: 0.8rem;
}

.boat-custom-price {
  text-align: right;
}

.boat-custom-comment {
  resize: vertical;
  min-height: 50px;
}

/* Ajustar altura de tarjetas seleccionadas */
.selected-boat-item {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.selected-boat-item .boat-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.selected-boat-item .boat-card-image-wrapper {
  height: 140px;
}

/* Contenedor de imagen con overlay */
.boat-card-image-wrapper {
  position: relative;
  width: 100%;
  height: 180px;
  overflow: hidden;
  background: #f5f5f5;
}

.boat-card-image {
  width: 100%;
  height: 100%;
  aspect-ratio: 16 / 9;
}

.boat-card:hover .boat-card-image {
  aspect-ratio: 16 / 9;
}

/* ✅ Checkbox como overlay mejorado */
.boat-card .boat-card-checkbox,
input.boat-card-checkbox[type="checkbox"] {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  width: 32px !important;
  height: 32px !important;
  cursor: pointer !important;
  z-index: 10 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background: rgba(255, 255, 255, 0.98) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border: 2.5px solid rgba(0, 0, 0, 0.12) !important;
  border-radius: 50% !important;
  box-shadow: 
    0 2px 8px rgba(0, 0, 0, 0.1),
    0 1px 2px rgba(0, 0, 0, 0.08) !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  outline: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

.boat-card .boat-card-checkbox:hover,
input.boat-card-checkbox[type="checkbox"]:hover {
  background: rgba(255, 255, 255, 1) !important;
  border-color: #2fb66c !important;
  transform: scale(1.12) !important;
  box-shadow: 
    0 4px 16px rgba(47, 182, 108, 0.25),
    0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

.boat-card .boat-card-checkbox:checked,
input.boat-card-checkbox[type="checkbox"]:checked {
  background: linear-gradient(135deg, #2fb66c 0%, #2fb66c 50%, #2fb66c 100%) !important;
  border-color: #2fb66c !important;
  box-shadow: 
    0 4px 12px rgba(47, 182, 108, 0.4),
    0 2px 4px rgba(47, 182, 108, 0.2),
    inset 0 1px 2px rgba(255, 255, 255, 0.3) !important;
}

/* ✅ Checkmark circular - Forzar estilos */
.boat-card .boat-card-checkbox:checked::before,
input.boat-card-checkbox[type="checkbox"]:checked::before,
.boat-card .boat-card-checkbox:checked::after,
input.boat-card-checkbox[type="checkbox"]:checked::after {
  content: '✓' !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) scale(1) !important;
  color: white !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
  animation: checkPop 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55) !important;
  border: none !important;
  width: auto !important;
  height: auto !important;
  background: transparent !important;
}

/* ✅ Eliminar el segundo ::after de Bootstrap */
.boat-card .boat-card-checkbox::after {
  display: none !important;
}

@keyframes checkPop {
  0% {
    transform: translate(-50%, -50%) scale(0) rotate(-45deg);
    opacity: 0;
  }
  50% {
    transform: translate(-50%, -50%) scale(1.3) rotate(10deg);
  }
  100% {
    transform: translate(-50%, -50%) scale(1) rotate(0deg);
    opacity: 1;
  }
}

/* ✅ Focus */
.boat-card .boat-card-checkbox:focus,
input.boat-card-checkbox[type="checkbox"]:focus {
  box-shadow: 
    0 0 0 4px rgba(105, 108, 255, 0.15),
    0 4px 12px rgba(105, 108, 255, 0.3) !important;
  outline: none !important;
}

/* ✅ Active state */
.boat-card .boat-card-checkbox:active,
input.boat-card-checkbox[type="checkbox"]:active {
  transform: scale(1.05) !important;
}

/* ✅ Efecto ripple al seleccionar */
.boat-card:has(.boat-card-checkbox:checked)::after {
  content: '' !important;
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(105, 108, 255, 0.3) 0%, transparent 70%) !important;
  animation: ripple 0.6s ease-out !important;
  pointer-events: none !important;
  z-index: 5 !important;
}

@keyframes ripple {
  0% {
    transform: scale(0.5);
    opacity: 1;
  }
  100% {
    transform: scale(2.5);
    opacity: 0;
  }
}

/* ✅ Anular estilos de Bootstrap específicamente */
.boat-card-checkbox.form-check-input {
  background-image: none !important;
  background-color: rgba(255, 255, 255, 0.98) !important;
}

.boat-card-checkbox.form-check-input:checked {
  background-image: none !important;
  background-color: #2fb66c !important;
}

.boat-card-checkbox.form-check-input:focus {
  border-color: #2fb66c !important;
  box-shadow: 0 0 0 4px rgba(105, 108, 255, 0.15) !important;
}


/* ✅ Botón de eliminar para barcos seleccionados */
.remove-boat {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 32px;
  height: 32px;

  border: none;
  border-radius: 50%;
  color: darkred;
  font-size: 18px;
  cursor: pointer;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;

}



.remove-boat i {
  pointer-events: none;
}

/* Cuerpo de la tarjeta */
.boat-card-body {
  padding: 12px;
  background: white;
}

.boat-card-title {
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 8px;
  color: #333;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.boat-card-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.boat-card-info > div {
  font-size: 13px;
  color: #666;
  display: flex;
  align-items: center;
  gap: 6px;
}

.boat-card-info i {
  font-size: 16px;
  color: #2fb66c;
}

/* Estilos para barcos seleccionados en la vista principal */
.selected-boat-item {
  height: 100%;
}

.selected-boat-item .boat-card-image-wrapper {
  height: 150px;
  aspect-ratio: 16 / 9;
}



/* Responsive */
@media (max-width: 768px) {
  .boat-card-image-wrapper {
    height: 140px;
  }
  
  .selected-boat-item .boat-card-image-wrapper {
    height: 120px;
  }
  
  .boat-card-checkbox {
    width: 24px;
    height: 24px;
  }
  
  .remove-boat {
    width: 28px;
    height: 28px;
    font-size: 16px;
  }
}



