:root {
    --chkSize: 16px;
    --checkBackground: #0000ff;
    --checkTextColor: #ffffff;
    --checkBorderColor: #000000;
    --gcButtonPadX: 1rem;
    --gcButtonPadY: 0.5rem;
    --gcButtonBorder: 1px;
    --gcLinkColor: #000000;
    --gcLinkHoverColor: #0000ff;
    --gcLinkUnderlined: underline;
}

.wp-picker-container {
    display: inline-block;
}
.wp-picker-container .wp-color-result.button {
    min-height: 30px;
    margin: 0 0 6px 0;
    padding: 0 0 0 30px;
    font-size: 11px;
    width: 150px;
}

.wp-color-result-text {
    background: #f6f7f7;
    border-radius: 0 2px 2px 0;
    border-left: 1px solid #c3c4c7;
    color: #50575e;
    display: block;
    line-height: 2.54545455;
    padding: 0 6px;
    text-align: center;
}

.wp-picker-container .hidden {
    display: none;
}

.wp-picker-input-wrap label {
    display: inline-block;
    vertical-align: top;
}

.wp-picker-container input[type=text].wp-color-picker {
    width: 4rem;
    font-size: 12px;
    font-family: monospace;
    line-height: 2.33333333;
    margin: 0;
    padding: 0 5px;
    vertical-align: top;
    min-height: 30px;
}

.wp-picker-active {
    position: absolute;
    top: -21px;
    left: -3px;
    background: white;
    padding: 0.2rem;
    z-index: 1;
    -webkit-box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.35);
    -moz-box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.35);
    box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.35);
}

.gc-flex {display: flex;}
.gc-grid {display: grid;}
.gc-grid-50 {grid-template-columns: 1fr 1fr;}
.gc-align-items-center {align-items: center;}
.gc-align-items-start {align-items: start !important;}
.gc-justify-content-end{justify-content:end;}
.gc-justify-content-between {justify-content: space-between;}
.gc-gap{gap:1rem;}
.gc-m0 {margin:0 !important;}
.gc-mb0 {margin-bottom:0 !important;}
.gc-mb6 {margin-bottom:6px !important;}
.gc-me1 {margin-right: 8px !important;}
.gc-mb1 {margin-bottom: 6px !important;}
.gc-p3 {padding: 1.5rem;}
.gc-mt4 {margin-top:2rem;}
.gc-pt2 {padding-top:1rem;}
.gc-pt4 {padding-top:2rem;}
.gc-mt0 {margin-top:0 !important;}
.gc-relative {position:relative;}
.gc-section-title {
    padding: .5rem 1rem;
    border: 1px solid #d5d8dc;
    border-radius:4px;
}
.gc-setup {padding: 0 .5rem;}
.gc-100 {width: 100%;}
.gc-75 {width: 75%;}
.gc-50 {width: 50%;}
.gc-25 {width: 25%;}
.gc-20 {width: 20%;}

.gc-4ch {width: 4ch;}
.gc-8ch {width: 8ch;}
.gc-12ch {width: 12ch;}
.gc-20ch {width: 20ch;}

.gc-w-150 {width: 150px;}

.gc-red {color:red;}
.gc-bold {font-weight:600;}
.gc-normal {font-weight:400;}
.gc-right {text-align:end;}
.gc-small {font-size: 12px;}
.gc-border-bottom {border-bottom: 1px solid #d5d8dc;}
.gc-flex-center {display: flex; align-items: center; justify-content: center;}
.gc-btn {
   text-decoration: none;
    padding: var(--gcButtonPadX) var(--gcButtonPadY);
}

.text-center {
    text-align: center;
}

.m-0660 {
    margin: 0 6px 6px 0
}
.gc-colors {
    display: grid;
    column-gap: 1rem;
    row-gap: .25rem;
    align-items: center;
}
.cols-1 {grid-template-columns: 1fr;}
.cols-2 {grid-template-columns: repeat(2, 1fr);}
.cols-3 {grid-template-columns: repeat(3, 1fr);}
.cols-4 {grid-template-columns: repeat(4, 1fr);}
.cols-5 {grid-template-columns: repeat(5, 1fr);}
.cols-6 {grid-template-columns: repeat(6, 1fr);}

.gc-setup-element {
    border: 1px solid lightgrey;
    padding: 8px 16px;
    margin-bottom: 1rem;
    h2{
        margin: 0;
    }
}

.gc-setup-subelement {
    background-color: whitesmoke;
    padding: 8px 16px;
    h2{
        margin: 0;
    }
}

.gc-textos {
    display: grid;
    grid-template-columns: 1fr 3fr;
    column-gap: 1rem;
    row-gap: .25rem;
    align-items: center;
}

.gc-code {
    display: grid;
    grid-template-columns: 1fr 2fr 2fr 2fr;
    column-gap: 1rem;
    row-gap: .25rem;
    align-items: center;
}

.gc-code-container {
    grid-column-start: 1;
    grid-column-end: span 2;
}

.gc-colors-title .gc-textos-title, .gc-code-title {
    padding: .25rem 0;
    font-weight: 600;
}
.gc-pos-banner {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: start;
    gap: 1rem;
    padding: .5rem;
    border-radius: 4px;
    background: white;
}
.gc-pos-banner-title {
    font-weight: 600;
    text-align: center;
    margin-bottom: .5rem;
}
.gc-pos-banner-item {
    text-align: center;
    margin-bottom: .5rem;
}
.gc-pos-banner-item label {
    display: flex;
    align-items: center;
    justify-content: center;
}

.gc-pos-banner-item label div {
    border: 1px solid lightgray;
    display: flex;
    align-items: center;
    padding: 4px;
    border-radius: 4px;
}

.gc-preview {
    height:100%;
}

#gc-cookie-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 9990;
    display: none;
}

#gc-cookie-banner {
    position: fixed;
    inset: 0;
    z-index: 9991;
    background-color: transparent !important;
    display: none;
}

.gc-pos-banner-popup {
    justify-content: center;
    align-items: center;
}

.gc-pos-banner-banner {
    justify-content: center;
    align-items: flex-end;
    width: 100vw;
 }

 .gc-pos-banner-banner .gc-cookie-banner-content {
    max-width: none !important;
    width: 100vw !important;
}

.gc-pos-banner-boxleft {
    justify-content: flex-start;
    align-items: flex-end;
    margin: 1rem;
}
.gc-pos-banner-boxright {
    justify-content: flex-end;
    align-items: flex-end;
    margin: 1rem;
}

.gc-cookie-text {
    max-height: 18rem;
    overflow: hidden;
}

.gc-cookie-banner-content, .gc-cookie-modal-content {
    padding: 2rem;
    height: auto;
    width: 90vw;
    max-height: 80vh;
    overflow: auto;
}

.gc-cookie-banner-content {
    display: flex;
    flex-flow: row;
    flex-wrap: wrap;
    justify-content: space-between;
}

.gc-buttons {
    margin-top: 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap:1rem;
    flex-wrap: wrap;
    width: 100%;
}

.gc-buttons-right {
    display: flex;
    justify-content: end;
    align-items: center;
    gap:2rem;
    flex-wrap: wrap;
}

.gc-cookie-button, .gc-config-button, .gc-save-button {
    padding: var(--gcButtonPadX) var(--gcButtonPadY) !important;
    width: auto;
    text-shadow: none !important;
    box-shadow: none !important;
    border-width: var(--gcButtonBorder);
}

.gc-save-button {
    margin-top: 2rem;
}

#gc-cookie-modal {
    position: fixed;
    inset: 0;
    z-index: 9992;
    background-color: transparent !important;
    justify-content: center;
    align-items: center;
    display: none;
}

.gc-cookie-modal-header {
    display: flex;
    align-items: start;
    justify-content: space-between;
}

.gc-cookie-modal-header h4 {
    margin-top: 0;
    margin-bottom: 2rem;
}

.gc-cookie-modal-close {
    text-shadow: none !important;
    background: none !important;
    color: black !important;
    border: none !important;
    padding: 0 0 0 1rem !important;
    margin: 0;
    line-height: 0;
    font-size: x-large;
    font-weight: bold !important;
}

.gc-submit{
    position: absolute;
    right: 0; 
    top: -1rem;
}

/* Estilos para los tabs */
.nav-tab-wrapper {
    margin-bottom: 20px;
    border-bottom: none;
  }

  .nav-tab {
    text-decoration: none;
    padding: 10px 20px;
    margin-right: 2px;
    background-color: #f1f1f1;
    border-bottom: none;
  }
  .nav-tab-active {
    background-color: #fff;
    border-bottom: 1px solid #fff;
  }
  .tab-content {
    display: none;
    padding: 20px;
    background-color: #fff;
    border: 1px solid #ccc;
  }
  .tab-content.active {
    display: block;
  }

  .nav-tab-active, .nav-tab-active:focus, .nav-tab-active:focus:active, .nav-tab-active:hover {
    background: #fff;
}

.persCheck {
  appearance: none;
  -webkit-appearance: none;
  width: var(--chkSize);
  height: var(--chkSize);
  border: 1px solid var(--checkBorderColor);
  background-color: transparent;
  cursor: pointer;
  position: relative;
  margin-right: 8px;
  vertical-align: middle;
  transition: all 0.2s ease;
  outline: none !important;
  border-radius: 4px;
}

/* Icono cuando está marcado */
.persCheck:checked::after {
    content: "✔";
    color: var(--checkTextColor);
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
}
/* Estilo cuando está marcado */
.persCheck:checked {
  background-color: var(--checkBackground);
  border-color: var(--checkBorderColor);
}

/* Estilo al pasar el mouse */
.persCheck:hover {
  border-color: var(--checkBackground);
}

/* Estilo cuando está enfocado (por teclado/tabulación) */
.persCheck:focus {
  outline: none;
}

/* Estado deshabilitado */
.persCheck:disabled {
  background-color: #e0e0e0;
  border-color: lightgray;
  cursor: not-allowed;
}

/* Icono en deshabilitado y marcado */
.persCheck:disabled:checked::after {
  color: gray;
}

input[type=checkbox]:checked::before {
    content: "";
    display: none;
}

#gc-cookie-preferences-form label {
    margin-top: 0;
    margin-bottom: 1rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
}

.gc-pref-options {
    margin-bottom: 1.1rem !important;
    display: flex;
    flex-flow: column;
    align-items: start;
    justify-content: start;
    width: 100%;
}

.gc-linkColor {
    color:var(--gcLinkColor) !important;
    text-decoration: var(--gcLinkUnderlined) !important;
}

.gc-linkColor:hover {
    color:var(--gcLinkHoverColor) !important;
}

@media (max-width:575px) {
    .gc-cookie-button, .gc-config-button, .gc-save-button {width: 100%;}
    .gc-buttons-right, .gc-buttons-left {width: 100%;}
}

@media (min-width:576px) {
    .gc-cookie-banner-content,.gc-cookie-modal-content {max-width: 540px; width:80vw;}
    .gc-buttons-left, .gc-buttons-right {width: 70%;margin: auto;}
    .gc-cookie-button, .gc-config-button {width: 100%;}
}

@media (min-width:768px) {
    .gc-cookie-banner-content,.gc-cookie-modal-content {max-width: 720px;width:70vw;}
    .gc-buttons-left, .gc-buttons-right {width: auto;margin: 0;}
    .gc-cookie-button, .gc-config-button {width: auto;}
}

@media (min-width:992px) {
    .gc-cookie-banner-content,.gc-cookie-modal-content {max-width: 960px; width:60vw;}
}

@media (min-width:1200px) {
    .gc-cookie-banner-content,.gc-cookie-modal-content {max-width: 1140px; width:50vw;}
}

@media (min-width:1400px) {
    .gc-cookie-banner-content,.gc-cookie-modal-content {max-width: 1320px; width:50vw;}
}
