/*
Theme Name: Odella Global
Theme URI: https://odellaglobal.com
Author: Odella
Description: Tema hub global de Odella. Repositorio central de productos, logos y PDFs. Redirige a los subsites por país.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: Proprietary
Text Domain: odella-global
*/

/* ============================================================
   RESET Y BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
	--odella-azul:    #041E42;
	--odella-blanco:  #ffffff;
	--odella-gris:    #696969;
	--odella-gris-bg: #f5f5f5;
	--odella-radius:  12px;
	--odella-shadow:  0 4px 24px rgba(4,30,66,0.10);
	--header-h:       72px;
	font-size: 16px;
}

body {
	font-family: 'DM Sans', sans-serif;
	color: var(--odella-azul);
	background: #fff;
	-webkit-font-smoothing: antialiased;
}

a { text-decoration: none; color: inherit; }
ul { list-style: none; }
img { display: block; max-width: 100%; }

#page {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
#page > *:not(.odellaHeader):not(.odellaFooter) { flex-grow: 1; }

/* ============================================================
   HEADER — igual que odellacolombia
   ============================================================ */
.odellaHeader {
  position: fixed;
  top: 0;
  z-index: 2000;
  width: 100%;
  font-family: "DM Sans", sans-serif;
  transition: all 0.3s ease;
  border: none;
  box-shadow: none;
}
.odellaHeader-content-logo-white { display: block; }
.odellaHeader-content-logo-color { display: none; }
.odellaHeader-content-main-nav-list-item > a,
.odellaHeader-content-main-nav-list-dropdown > a {
  color: #fff !important;
  text-shadow: 2px 2px 8px rgba(0,0,0,0.5);
}
.odellaHeader .odellaHeader-content-main-menu-icon.white { display: block; }
.odellaHeader .odellaHeader-content-main-menu-icon.color { display: none; }

.odellaHeader:hover,
.odellaHeader.active,
.odellaHeader.scrolled {
  backdrop-filter: blur(10px);
  background-color: rgba(255,255,255,0.8);
  box-shadow: 0 0 10px rgba(0,0,0,0.3);
}
.odellaHeader:hover .odellaHeader-content-logo-white,
.odellaHeader.active .odellaHeader-content-logo-white,
.odellaHeader.scrolled .odellaHeader-content-logo-white { display: none; }
.odellaHeader:hover .odellaHeader-content-logo-color,
.odellaHeader.active .odellaHeader-content-logo-color,
.odellaHeader.scrolled .odellaHeader-content-logo-color { display: block; }

.odellaHeader:hover .odellaHeader-content-main-nav-list-item > a,
.odellaHeader:hover .odellaHeader-content-main-nav-list-dropdown > a,
.odellaHeader.active .odellaHeader-content-main-nav-list-item > a,
.odellaHeader.active .odellaHeader-content-main-nav-list-dropdown > a,
.odellaHeader.scrolled .odellaHeader-content-main-nav-list-item > a,
.odellaHeader.scrolled .odellaHeader-content-main-nav-list-dropdown > a {
  color: #041E42 !important;
  text-shadow: none;
}
.odellaHeader:hover .odellaHeader-content-main-menu-icon.white,
.odellaHeader.active .odellaHeader-content-main-menu-icon.white,
.odellaHeader.scrolled .odellaHeader-content-main-menu-icon.white { display: none; }
.odellaHeader:hover .odellaHeader-content-main-menu-icon.color,
.odellaHeader.active .odellaHeader-content-main-menu-icon.color,
.odellaHeader.scrolled .odellaHeader-content-main-menu-icon.color { display: block; }

.odellaHeader-content {
  max-width: 1440px;
  padding: 0 40px;
  margin: 0 auto;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 1199.98px) {
  .odellaHeader-content { height: 10vw; padding: 0 5vw; }
}
@media (max-width: 991.98px) {
  .odellaHeader-content { height: 14vw; }
}

/* Logo */
.odellaHeader-content-logo { display: flex; align-items: center; line-height: 0; }
.odellaHeader-content-logo img { height: 60px; width: auto; object-fit: contain; }
.odellaHeader-content-logo-text { font-size: 1.4rem; font-weight: 700; color: #fff; }
.odellaHeader:hover .odellaHeader-content-logo-text,
.odellaHeader.scrolled .odellaHeader-content-logo-text { color: #041E42; }
@media (max-width: 1199.98px) {
  .odellaHeader-content-logo img { height: 5vw; }
}
@media (max-width: 991.98px) {
  .odellaHeader-content-logo img { height: 7vw; width: auto; }
}

/* Main */
.odellaHeader-content-main {
  display: flex;
  align-items: center;
  height: 80px;
  gap: 30px;
}
@media (max-width: 1199.98px) {
  .odellaHeader-content-main { gap: 0; }
}

/* Hamburger */
.odellaHeader-content-main-menu { display: none; cursor: pointer; }
@media (max-width: 1199.98px) {
  .odellaHeader-content-main-menu { display: block; }
}
.odellaHeader-content-main-menu-icon { width: 40px; height: 40px; }
@media (max-width: 1199.98px) {
  .odellaHeader-content-main-menu-icon { width: 4vw; height: 4vw; }
}
@media (max-width: 991.98px) {
  .odellaHeader-content-main-menu-icon { width: 5.5vw; height: 5.5vw; }
}

/* Nav */
.odellaHeader-content-main-nav { margin-left: 20px; }
@media (max-width: 1199.98px) {
  .odellaHeader-content-main-nav {
    display: none;
    margin-left: 0;
    width: 100%;
    padding-top: 6vw;
  }
  .odellaHeader-content-main-nav.open { display: flex; flex-direction: column; }
}
.odellaHeader-content-main-nav .odellaHeader-close-icon {
  display: none;
  position: absolute;
  width: 35px; height: 35px;
  cursor: pointer;
  z-index: 1002;
}
@media (max-width: 1199.98px) {
  .odellaHeader-content-main-nav .odellaHeader-close-icon { display: block; top: 20px; right: 20px; }
}

.odellaHeader-content-main-nav-list {
  display: flex;
  align-items: center;
  list-style: none;
  gap: 25px;
  margin: 0;
  padding: 0;
}
@media (max-width: 1199.98px) {
  .odellaHeader-content-main-nav-list { flex-direction: column; align-items: center; gap: 12px; width: 100%; }
}

.odellaHeader-content-main-nav-list-item a,
.odellaHeader-content-main-nav-list-dropdown > a {
  text-decoration: none;
  color: #041E42;
  font-size: 14px;
  font-weight: 400;
  transition: color 0.2s ease;
  display: flex;
  align-items: center;
  gap: 6px;
  position: relative;
  padding-bottom: 3px;
}
@media (max-width: 1199.98px) {
  .odellaHeader-content-main-nav-list-item a,
  .odellaHeader-content-main-nav-list-dropdown > a { font-size: 18px; padding: 10px 0; }
}
.odellaHeader-content-main-nav-list-item a::after,
.odellaHeader-content-main-nav-list-dropdown > a::after {
  content: "";
  position: absolute;
  left: 0; bottom: 0;
  width: 0%; height: 1px;
  background-color: currentColor;
  transition: width 0.3s ease;
}
.odellaHeader-content-main-nav-list-item a:hover,
.odellaHeader-content-main-nav-list-dropdown > a:hover { color: #08316B; }
.odellaHeader-content-main-nav-list-item a:hover::after,
.odellaHeader-content-main-nav-list-dropdown > a:hover::after { width: 100%; }

/* Selector de países */
.reset-list { list-style: none; margin: 0; padding: 0; display: flex; }

.odellaHeader-content-main-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
@media (max-width: 1199.98px) {
  .odellaHeader-content-main-actions { display: none; }
}
.odellaHeader-content-main-actions-country {
  position: static;
  justify-content: center;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

/* Dropdown países — trigger */
.odella-countries-dropdown { position: relative; list-style: none; }
.odella-countries-trigger {
  display: flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  text-decoration: none;
  padding: 0 6px;
}
.odellaHeader-content-main-actions-country-flag-img {
  height: 30px;
  width: auto;
  margin-left: 5px;
  display: block;
}
.odella-country-arrow {
  display: block;
  transition: transform 0.2s ease;
  color: #ffffff;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
}
.odellaHeader:hover .odella-country-arrow,
.odellaHeader.scrolled .odella-country-arrow { color: #696969; }

/* Submenu países — copiado exacto de odellacolombia */
.odellaHeader-content-main-nav-list-dropdown-submenu {
  position: fixed;
  top: 100px; /* sobreescrito por JS para considerar admin bar */
  left: 0;
  right: 0;
  width: 100vw;
  backdrop-filter: blur(10px);
  background-color: rgba(255,255,255,0.8);
  box-shadow: 0 0 10px rgba(0,0,0,0.3);
  display: none;
  z-index: 1000;
  padding: 0 40px;
  list-style: none;
  margin: 0;
  flex-direction: row;
  justify-content: center;
  align-items: stretch;
  gap: 80px;
}
.odella-countries-dropdown.is-open > .odellaHeader-content-main-nav-list-dropdown-submenu {
  display: flex;
}
.odella-countries-dropdown.is-open .odella-country-arrow { transform: rotate(180deg); }

.odellaHeader-content-main-nav-list-dropdown-submenu-item {
  padding: 20px 0;
  list-style: none;
  min-width: 120px;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.odellaHeader-content-main-nav-list-dropdown-submenu-item::after {
  content: "";
  position: absolute;
  top: 0;
  right: -40px;
  width: 1.5px;
  height: 100%;
  background-color: #DDDDDD;
  pointer-events: none;
}
.odellaHeader-content-main-nav-list-dropdown-submenu-item:last-child::after { display: none; }

.odellaHeader-content-main-nav-list-dropdown-submenu-item > a {
  color: #041E42;
  text-decoration: none;
  white-space: nowrap;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  position: relative;
  font-size: 14px;
  font-weight: 400;
  padding-bottom: 3px;
}
.odellaHeader-content-main-nav-list-dropdown-submenu-item > a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0%;
  height: 1px;
  background-color: currentColor;
  transition: width 0.3s ease;
}
.odellaHeader-content-main-nav-list-dropdown-submenu-item > a:hover::after { width: 100%; }

/* bandera en el submenu — NO usar la clase flag-img que tiene height:30px del trigger */
.odellaHeader-content-main-nav-list-dropdown-submenu-item a img {
  height: 35px !important;
  width: auto !important;
  margin-left: 0 !important;
  display: block;
  transition: transform 0.3s ease;
  border-radius: 2px;
}
.odellaHeader-content-main-nav-list-dropdown-submenu-item a p {
  margin: 0;
  color: #041E42;
  font-size: 14px;
  font-weight: 400;
}
.odellaHeader-content-main-nav-list-dropdown-submenu-item a:hover img {
  transform: scale(1.05);
}

/* ============================================================
   HERO BANNER
   ============================================================ */
.odellGlobal-hero {
	position: relative;
	width: 100%;
	min-height: 100vh;
	display: flex;
	align-items: center;
	overflow: hidden;
	background: var(--odella-azul);
}
.odellGlobal-hero-bg {
	position: absolute;
	inset: 0;
	object-fit: cover;
	width: 100%;
	height: 100%;
	opacity: 0.5;
}
.odellGlobal-hero-iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	border: none;
}
.odellGlobal-hero-poster {
	display: none;
}
@media (max-width: 768px) {
	.odellGlobal-hero-iframe { display: none; }
	.odellGlobal-hero-poster { display: block; }
}
.odellGlobal-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(4,30,66,0.85) 0%, rgba(4,30,66,0.4) 100%);
}
.odellGlobal-hero-content {
	position: relative;
	z-index: 2;
	max-width: 1280px;
	margin: 0 auto;
	padding: 120px 32px 80px;
	color: var(--odella-blanco);
}
.odellGlobal-hero-pretitulo {
	font-size: clamp(0.75rem, 1.5vw, 0.9rem);
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	opacity: 0.75;
	margin-bottom: 16px;
}
.odellGlobal-hero-titulo {
	font-size: clamp(2rem, 5vw, 4rem);
	font-weight: 700;
	line-height: 1.1;
	margin-bottom: 20px;
	max-width: 700px;
}
.odellGlobal-hero-descripcion {
	font-size: clamp(1rem, 2vw, 1.15rem);
	opacity: 0.85;
	max-width: 560px;
	line-height: 1.6;
}

/* ============================================================
   SECCIÓN PAÍSES
   ============================================================ */
.odellGlobal-paises {
	padding: 80px 0;
	width: 100%;
}
.odellGlobal-paises-header {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 32px;
	text-align: center;
	margin-bottom: 40px;
}
.odellGlobal-paises-titulo {
	font-size: clamp(1.5rem, 3vw, 2.2rem);
	font-weight: 700;
	margin-bottom: 12px;
}
.odellGlobal-paises-subtitulo {
	font-size: 1rem;
	color: var(--odella-gris);
}

/* Grilla expansiva — flex con transición suave */
.odellGlobal-paises-grid {
	display: flex;
	height: 520px;
	gap: 4px;
	width: 100%;
}
.odellGlobal-pais-card {
	position: relative;
	flex: 1;
	overflow: hidden;
	cursor: pointer;
	transition: flex 0.6s ease;
}
.odellGlobal-paises-grid:hover .odellGlobal-pais-card {
	flex: 0.75;
}
.odellGlobal-paises-grid:hover .odellGlobal-pais-card:hover {
	flex: 1.75;
}
.odellGlobal-pais-card-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease;
}
.odellGlobal-pais-card:hover .odellGlobal-pais-card-img {
	transform: scale(1.04);
}
.odellGlobal-pais-card-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(4,30,66,0.80) 0%, rgba(4,30,66,0.15) 55%, transparent 100%);
	transition: opacity 0.4s ease;
}
.odellGlobal-pais-card:not(:hover) .odellGlobal-pais-card-overlay {
	opacity: 0.7;
}

/* Info siempre visible, más prominente al hacer hover */
.odellGlobal-pais-card-info {
	position: absolute;
	bottom: 24px;
	left: 20px;
	right: 20px;
	display: flex;
	align-items: center;
	gap: 10px;
	white-space: nowrap;
	transition: opacity 0.3s ease, transform 0.3s ease;
}
.odellGlobal-paises-grid:hover .odellGlobal-pais-card:not(:hover) .odellGlobal-pais-card-info {
	opacity: 0.5;
	transform: scale(0.92);
	transform-origin: left bottom;
}
.odellGlobal-paises-grid:hover .odellGlobal-pais-card:hover .odellGlobal-pais-card-info {
	opacity: 1;
	transform: scale(1);
}
.odellGlobal-pais-card-bandera {
	width: 30px;
	height: 20px;
	object-fit: cover;
	border-radius: 3px;
	flex-shrink: 0;
	box-shadow: 0 1px 4px rgba(0,0,0,0.35);
}
.odellGlobal-pais-card-nombre {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--odella-blanco);
	text-shadow: 0 1px 6px rgba(0,0,0,0.5);
}

@media (max-width: 768px) {
	.odellGlobal-paises { padding: 48px 0; }
	.odellGlobal-paises-grid {
		flex-direction: column;
		height: auto;
		padding: 0 20px;
		gap: 12px;
	}
	.odellGlobal-pais-card {
		flex: none;
		height: 200px;
		border-radius: var(--odella-radius);
	}
	.odellGlobal-paises-grid:hover .odellGlobal-pais-card { flex: none; }
	.odellGlobal-paises-grid:hover .odellGlobal-pais-card:not(:hover) .odellGlobal-pais-card-info { opacity: 1; transform: none; }
	.odellGlobal-paises-header { padding: 0 20px; }
}

/* ============================================================
   FOOTER
   ============================================================ */
.odellaFooter {
	background: var(--odella-azul);
	color: var(--odella-blanco);
	padding: 56px 32px 32px;
}
.odellaFooter-content {
	max-width: 1280px;
	margin: 0 auto;
}

/* Estructura superior: logo centrado + columnas */
.odellaFooter-content-structure {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
	padding-bottom: 40px;
	border-bottom: 1px solid rgba(255,255,255,0.12);
	margin-bottom: 24px;
}
.odellaFooter-content-structure-logo img {
	height: 56px;
	width: auto;
}

/* Columnas de menús */
.odellaFooter-content-structure-info {
	display: flex;
	gap: 48px;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
}
.odellaFooter-content-structure-info-container {
	min-width: 120px;
}
.odellaFooter-content-structure-info-container-title {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	opacity: 0.55;
	margin-bottom: 14px;
}
.odellaFooter-content-structure-info-container-list {
	display: flex;
	gap: 50px;
	padding: 0;
	margin: 0;
	list-style: none;
}
.odellaFooter-content-structure-info-container-list li,
.odellaFooter-content-structure-info-container-list-item {
	display: flex;
	align-items: center;
	gap: 8px;
}
.odellaFooter-content-structure-info-container-list li a,
.odellaFooter-content-structure-info-container-list-item a {
	font-size: 0.9rem;
	opacity: 0.85;
	transition: opacity 0.2s;
	color: var(--odella-blanco);
	text-decoration: none;
}
.odellaFooter-content-structure-info-container-list li a:hover,
.odellaFooter-content-structure-info-container-list-item a:hover { opacity: 1; }
.odellaFooter-content-structure-info-container-list li img,
.odellaFooter-content-structure-info-container-list-item img {
	width: 20px;
	height: 14px;
	object-fit: cover;
	border-radius: 2px;
	flex-shrink: 0;
}

/* Sección contacto + horarios + redes */
.odellaFooter-content-contact {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 4px 0;
	padding-bottom: 20px;
	border-bottom: 1px solid rgba(255,255,255,0.12);
	margin-bottom: 16px;
	font-size: 0.82rem;
	opacity: 0.75;
}
.odellaFooter-content-contact-info {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px;
}
.odellaFooter-content-contact-info-item {
	display: flex;
	align-items: center;
	gap: 4px;
	white-space: nowrap;
}
.odellaFooter-content-contact-info-item span {
	font-weight: 600;
}

/* Redes sociales */
.odellaFooter-content-redes {
	display: flex;
	gap: 14px;
	align-items: center;
	justify-content: center;
	margin-left: 16px;
}
.odellaFooter-content-redes-item img {
	width: 24px;
	height: 24px;
	opacity: 0.8;
	transition: opacity 0.2s;
}
.odellaFooter-content-redes-item:hover img { opacity: 1; }

.odellaFooter-content-copyright {
	font-size: 0.8rem;
	opacity: 0.45;
	text-align: center;
	padding-top: 8px;
}

@media (max-width: 768px) {
	.odellaFooter { padding: 40px 20px 24px; }
	.odellaFooter-content-structure-info { gap: 28px; justify-content: flex-start; }
	.odellaFooter-content-contact { justify-content: flex-start; }
	.odellaFooter-content-redes { margin-left: 0; margin-top: 12px; }
}
