/* Buscamas Ad Network responsive layer */
*, *::before, *::after { box-sizing: border-box; }
html, body { width: 100%; max-width: 100%; margin: 0; padding: 0; overflow-x: hidden; }
body { font-size: 16px; line-height: 1.5; }
img, video, iframe { max-width: 100%; height: auto; }
input, select, textarea, button { max-width: 100%; font: inherit; }

.mainwraper, .mainwrapper, .mainContentDiv, .header1, .header2, .headbar, .footer, .footermain, .contentp, .admainbox {
  width: 100% !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.mainContentDiv { padding: 0 18px; }
.header1 { min-height: 72px; padding: 10px 18px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.header2 { padding: 0 18px; }
.logoDiv img { max-width: 260px; width: auto; height: auto; }
.languages, .chatlogo { max-width: 100%; }

.menu { width: 100% !important; max-width: 100% !important; display: flex; flex-wrap: wrap; align-items: stretch; margin: 0 !important; padding: 0 !important; }
.menu > li { float: none !important; flex: 0 1 auto; }
.menu li a, .menu li dt a { display: block; white-space: normal; padding: 10px 14px; }
.menu dd { min-width: 180px; z-index: 20; }

/* Homepage two-column blocks */
.indexColmsn { width: calc(50% - 12px); max-width: 100%; margin: 12px 6px; }
.indexColmsn .inside { height: auto; min-height: 260px; padding: 20px; }
.advertiserreferimg { display: block; max-width: 100%; text-align: center; }
.advertiserreferimg img { max-width: 100%; width: auto; height: auto; }
.homelist { padding-left: 20px; padding-right: 20px; }
.homelink, .homessolink { display: inline-block; max-width: 100%; padding: 10px 14px; text-align: center; }
.partner, .slidingDiv, .sliderkit, .sliderkit-nav, .sliderkit-nav-clip { max-width: 100%; overflow: hidden; }
.partner img, .sliderkit img { max-width: 100%; height: auto; }

/* General forms and old fixed-width tables */
form { max-width: 100%; }
.admainbox { border-collapse: collapse; }
.admainbox > tbody > tr > td { vertical-align: top; }
table { max-width: 100%; }
.table-scroll, .scroll-table, .admainbox { overflow-x: auto; -webkit-overflow-scrolling: touch; }
input[type="text"], input[type="password"], input[type="email"], input[type="url"], textarea, select { max-width: 100%; }

@media (max-width: 800px) {
  .header1 { align-items: flex-start; flex-wrap: wrap; }
  .logoDiv { float: none !important; flex: 1 1 180px; }
  .right { float: none !important; flex: 1 1 160px; text-align: right; }
  .indexColmsn { width: calc(50% - 12px); }
  .admainbox > tbody > tr > td { display: block; width: 100% !important; padding: 10px !important; }
  .admainbox > tbody > tr > td:empty { display: none; }
}

@media (max-width: 600px) {
  body { font-size: 15px; }
  .mainContentDiv, .header1, .header2 { padding-left: 10px; padding-right: 10px; }
  .logoDiv img { max-width: 205px; }
  .languages { text-align: left; width: 100%; }
  .menu { display: block; }
  .menu > li { width: 100%; }
  .menu li a, .menu li dt a { padding: 11px 12px; }
  .menu dd { position: static; min-width: 0; }
  .indexColmsn { float: none !important; width: 100%; margin: 12px 0; }
  .indexColmsn .inside { min-height: 0; padding: 16px; }
  .advertiserreferimg img { max-height: 90px; width: auto; }
  .homelist { padding-left: 16px; padding-right: 16px; }
  .homelink, .homessolink { width: 100%; margin: 4px 0; }
  .singleSign, .partner, .contentp, .footer { width: 100% !important; padding: 12px !important; }
  .left, .right, .register, .login { float: none !important; width: 100% !important; margin-left: 0; margin-right: 0; }
  .footer, .footer p, .footer li { overflow-wrap: anywhere; }
  .footer a { display: inline-block; padding: 5px 4px; }
}

@media (max-width: 420px) {
  body { font-size: 14px; }
  .header1 { min-height: 60px; padding: 8px; }
  .logoDiv img { max-width: 175px; }
  .mainContentDiv, .header2 { padding-left: 6px; padding-right: 6px; }
  .indexColmsn .inside { padding: 12px; }
  .homelist { padding-left: 10px; padding-right: 10px; }
  .menu li a, .menu li dt a { padding: 10px; }
}

/* Centrado estable en escritorio: neutraliza anchos inline heredados */
body > .mainwraper,
body > .mainwrapper,
.mainwraper,
.mainwrapper,
.mainContentDiv,
.header1,
.header2,
.footer,
.footermain {
  display: block;
  width: min(1200px, calc(100% - 48px)) !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
body.index .mainContentDiv,
body.index .homepageHero {
  margin-left: auto !important;
  margin-right: auto !important;
}
@media (max-width: 767px) {
  body > .mainwraper,
  body > .mainwrapper,
  .mainwraper,
  .mainwrapper,
  .mainContentDiv,
  .header1,
  .header2,
  .footer,
  .footermain {
    width: calc(100% - 20px) !important;
    max-width: none !important;
  }
}

/* Corrección final: los contenedores heredados no deben flotar en escritorio */
@media (min-width: 768px) {
  body > .mainwraper,
  body > .mainwrapper,
  .mainwraper,
  .mainwrapper,
  .mainContentDiv,
  .header1,
  .header2,
  .headbar,
  .footer,
  .footermain {
    float: none !important;
    position: relative;
    left: auto !important;
    right: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  body.index .homepageHero {
    float: none !important;
    position: relative;
    left: auto !important;
    right: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Formularios de registro: convertir las tablas heredadas en una columna móvil */
@media (max-width: 767px) {
  body > table.admainbox,
  table.admainbox {
    display: table !important;
    width: calc(100% - 20px) !important;
    max-width: calc(100% - 20px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    table-layout: fixed !important;
  }
  table.admainbox > tbody,
  table.admainbox > tbody > tr,
  table.admainbox > tbody > tr > td,
  table.colortext,
  table.colortext > tbody,
  table.colortext > tbody > tr,
  table.colortext > tbody > tr > td {
    width: 100% !important;
    max-width: 100% !important;
  }
  table.colortext { display: table !important; table-layout: fixed !important; }
  table.colortext > tbody > tr { display: table-row !important; }
  table.colortext > tbody > tr > td {
    display: table-cell !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 5px 10px !important;
    vertical-align: top;
    overflow-wrap: anywhere;
  }
  table.colortext > tbody > tr > td:first-child,
  table.colortext > tbody > tr > td:nth-child(2) {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  table.colortext > tbody > tr > td:empty { display: none !important; }
  table.colortext input,
  table.colortext select,
  table.colortext textarea,
  table.colortext iframe,
  table.colortext .info,
  table.colortext #cap_img {
    max-width: 100% !important;
  }
  table.colortext input[type="text"],
  table.colortext input[type="password"],
  table.colortext input[type="email"],
  table.colortext select,
  table.colortext textarea {
    width: 100% !important;
    min-width: 0 !important;
    height: auto;
    min-height: 42px;
  }
  table.colortext iframe { width: 190px !important; max-width: 100% !important; }
  table.colortext img { max-width: 100%; height: auto; }
  table.colortext input[type="submit"] { width: 100% !important; min-height: 46px; }
  table.admainbox .headingbar,
  table.admainbox .styleTitle { display: block; width: 100% !important; }
}

/* Registro móvil: override final de tablas legacy y anchos inline */
@media screen and (max-width: 767px) {
  html, body { width: 100% !important; max-width: 100% !important; overflow-x: hidden !important; }
  body > table.admainbox,
  body > table[width],
  table.admainbox[width] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 10px !important;
    border: 0 !important;
    table-layout: auto !important;
  }
  table.admainbox > tbody,
  table.admainbox > tbody > tr,
  table.admainbox > tbody > tr > td,
  table.admainbox table.colortext,
  table.admainbox table.colortext > tbody,
  table.admainbox table.colortext > tbody > tr,
  table.admainbox table.colortext > tbody > tr > td {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    float: none !important;
    clear: both !important;
    margin: 0 !important;
    padding: 5px 0 !important;
  }
  table.admainbox table.colortext > tbody > tr > td:first-child {
    padding: 12px 0 3px !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    color: #555 !important;
  }
  table.admainbox table.colortext > tbody > tr > td:nth-child(2) {
    padding: 0 0 10px !important;
  }
  table.admainbox table.colortext input:not([type="submit"]),
  table.admainbox table.colortext select,
  table.admainbox table.colortext textarea {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 9px 10px !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
  }
  table.admainbox table.colortext textarea { min-height: 90px !important; }
  table.admainbox table.colortext select { appearance: auto !important; }
  table.admainbox table.colortext iframe {
    display: inline-block !important;
    width: 190px !important;
    max-width: 100% !important;
    height: 35px !important;
    vertical-align: middle !important;
  }
  table.admainbox table.colortext #cap_img { display: inline-block !important; max-width: calc(100% - 45px) !important; }
  table.admainbox table.colortext img { max-width: 100% !important; height: auto !important; }
  table.admainbox table.colortext input[type="submit"] {
    display: block !important;
    width: 100% !important;
    min-height: 46px !important;
    margin: 14px 0 !important;
  }
  table.admainbox .headingbar,
  table.admainbox .styleTitle { display: block !important; width: 100% !important; }
  table.admainbox .info { display: block !important; margin-top: 4px !important; }
  table.admainbox .colortext br { display: none !important; }
}

/* Menú móvil común: igual que la portada, no convertirlo en un panel vertical gigante */
@media screen and (max-width: 767px) {
  .header1 {
    display: flex !important;
    width: 100% !important;
    min-height: 74px !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    padding: 10px 14px !important;
  }
  .header1 .logoDiv {
    display: block !important;
    width: auto !important;
    max-width: 68% !important;
    flex: 1 1 auto !important;
  }
  .header1 .logoDiv img { max-width: 205px !important; max-height: 58px !important; }
  .header1 .right {
    display: block !important;
    width: auto !important;
    max-width: 32% !important;
    flex: 0 0 auto !important;
    text-align: right !important;
  }
  .header2, .headbar {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 10px !important;
    overflow: hidden !important;
  }
  .menu {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .menu::-webkit-scrollbar { display: none; }
  .menu > li,
  .menu li,
  .menu > li:first-child {
    display: block !important;
    float: none !important;
    width: auto !important;
    min-width: max-content !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .menu li a,
  .menu li dt a,
  .menu li:hover a {
    display: block !important;
    width: auto !important;
    min-width: max-content !important;
    padding: 10px 12px !important;
    margin: 0 !important;
    white-space: nowrap !important;
    font-size: 13px !important;
  }
  .menu .menulinks,
  .menu dl,
  .menu dt { display: block !important; width: auto !important; margin: 0 !important; }
  .menu dd {
    position: absolute !important;
    top: 100% !important;
    left: auto !important;
    min-width: 170px !important;
    width: auto !important;
    max-width: calc(100vw - 20px) !important;
    z-index: 1000 !important;
  }
}
@media screen and (max-width: 420px) {
  .header1 .logoDiv img { max-width: 175px !important; max-height: 50px !important; }
  .menu li a, .menu li dt a, .menu li:hover a { padding: 10px 11px !important; font-size: 12px !important; }
}


/* Buscamas Ad Network: final black navigation background */
.menu,
.menu li,
.menu li dl,
.menu li dt,
.menu .menulinks,
.menu .menulinks dd,
.menu .menulinks dd a {
    background-color: #000000 !important;
    background-image: none !important;
}
.menu {
    border: 0 !important;
}
.menu a,
.menu a:visited,
.menu li a,
.menu li a:visited {
    color: #ffffff !important;
    text-shadow: none !important;
}
.menu li:hover,
.menu li:hover > a,
.menu li a:hover,
.menu .menulinks dd a:hover {
    background-color: #222222 !important;
    background-image: none !important;
    color: #ffffff !important;
}
