@charset "UTF-8";

/* ==========================================================================
   ADVERYON — FUENTES LOCALES 2026
   Encode Sans + Encode Sans Semi Condensed
   Archivos estáticos Google Fonts ubicados en:
   fonts/adveryon/
   ========================================================================== */

@font-face {
	font-family: 'Encode Sans';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('fonts/adveryon/EncodeSans-Regular.ttf') format('truetype');
}
@font-face {
	font-family: 'Encode Sans';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('fonts/adveryon/EncodeSans-Medium.ttf') format('truetype');
}
@font-face {
	font-family: 'Encode Sans';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('fonts/adveryon/EncodeSans-SemiBold.ttf') format('truetype');
}
@font-face {
	font-family: 'Encode Sans';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('fonts/adveryon/EncodeSans-Bold.ttf') format('truetype');
}

@font-face {
	font-family: 'Encode Sans Semi Condensed';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('fonts/adveryon/EncodeSansSemiCondensed-SemiBold.ttf') format('truetype');
}
@font-face {
	font-family: 'Encode Sans Semi Condensed';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('fonts/adveryon/EncodeSansSemiCondensed-Bold.ttf') format('truetype');
}
@font-face {
	font-family: 'Encode Sans Semi Condensed';
	font-style: normal;
	font-weight: 800;
	font-display: swap;
	src: url('fonts/adveryon/EncodeSansSemiCondensed-ExtraBold.ttf') format('truetype');
}

/*
 * ADVERYON ESPAÑA — 2026
 * OpenCart 3.0.5.0 · CSS maestro inicial · Encode Sans · Container 1240 · Static TTF
 *
 * Estrategia:
 * 1) Se conserva íntegramente el stylesheet original de OpenCart para proteger
 *    catálogo, categorías, producto, carrito, cuenta, formularios, checkout,
 *    dropdowns, columnas, RTL y módulos compatibles con la plantilla base.
 * 2) Al final del archivo se aplica la capa visual Adveryon 2026 mediante
 *    variables, overrides y componentes reutilizables.
 *
 * Dirección visual de marca:
 * - Marca / acción: #FF3B1F
 * - Fondo base: #F8FAFC / #FFFFFF
 * - Texto: #1E293B
 * - Azul confianza: #1E3A8A
 * - Cierres / footer: azul marino profundo
 */

/* ==========================================================================
   00. OPENCART 3.0.5.0 — BASE ORIGINAL CONSERVADA
   ========================================================================== */

body {
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
	color: #666;
	font-size: 12px;
	line-height: 20px;
	width: 100%;
}
h1, h2, h3, h4, h5, h6 {
	color: #444;
}
/* default font size */
.fa {
	font-size: 14px;
}
/* Override the bootstrap defaults */
h1 {
	font-size: 33px;
}
h2 {
	font-size: 27px;
}
h3 {
	font-size: 21px;
}
h4 {
	font-size: 15px;
}
h5 {
	font-size: 12px;
}
h6 {
	font-size: 10.2px;
}
a {
	color: #23a1d1;
}
a:hover {
	text-decoration: none;
}
legend {
	font-size: 18px;
	padding: 7px 0px
}
label {
	font-size: 12px;
	font-weight: normal;
}
select.form-control, textarea.form-control, input[type="text"].form-control, input[type="password"].form-control, input[type="datetime"].form-control, input[type="datetime-local"].form-control, input[type="date"].form-control, input[type="month"].form-control, input[type="time"].form-control, input[type="week"].form-control, input[type="number"].form-control, input[type="email"].form-control, input[type="url"].form-control, input[type="search"].form-control, input[type="tel"].form-control, input[type="color"].form-control {
	font-size: 12px;
}
.input-group input, .input-group select, .input-group .dropdown-menu, .input-group .popover {
	font-size: 12px;
}
.input-group .input-group-addon {
	font-size: 12px;
	height: 30px;
}
/* Fix some bootstrap issues */
span.hidden-xs, span.hidden-sm, span.hidden-md, span.hidden-lg {
	display: inline;
}

.nav-tabs {
	margin-bottom: 15px;
}
div.required .control-label:before {
	content: '* ';
	color: #F00;
	font-weight: bold;
}
/* Gradent to all drop down menus */
.dropdown-menu li > a:hover {
	text-decoration: none;
	color: #ffffff;
	background-color: #229ac8;
	background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
	background-repeat: repeat-x;
}
/* top */
#top {
	background-color: #EEEEEE;
	border-bottom: 1px solid #e2e2e2;
	padding: 4px 0px 3px 0;
	margin: 0 0 20px 0;
	min-height: 40px;
}
#top .container {
	padding: 0 20px;
}
#top #form-currency .currency-select,
#top #form-language .language-select {
	text-align: left;
}
#top #form-currency .currency-select:hover,
#top #form-language .language-select:hover {
	text-shadow: none;
	color: #ffffff;
	background-color: #229ac8;
	background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
	background-repeat: repeat-x;
}
#top .btn-link, #top-links li, #top-links a {
	color: #888;
	text-shadow: 0 1px 0 #FFF;
	text-decoration: none;
}
#top .btn-link:hover, #top-links a:hover {
	color: #444;
}
#top-links .dropdown-menu a {
	text-shadow: none;
}
#top-links .dropdown-menu a:hover {
	color: #FFF;
}
#top .btn-link strong {
	font-size: 14px;
        line-height: 14px;
}
#top-links {
	padding-top: 6px;
}
#top-links a + a {
	margin-left: 15px;
}
/* logo */
#logo {
	margin: 0 0 10px 0;
}
/* search */
#search {
	margin-bottom: 10px;
}
#search .input-lg {
	height: 40px;
	line-height: 20px;
	padding: 0 10px;
}
#search .btn-lg {
	font-size: 15px;
	line-height: 18px;
	padding: 10px 35px;
	text-shadow: 0 1px 0 #FFF;
}
/* cart */
#cart {
	margin-bottom: 10px;
}
#cart > .btn {
	font-size: 12px;
	line-height: 18px;
	color: #FFF;
}
#cart.open > .btn {
	background-image: none;
	background-color: #FFFFFF;
	border: 1px solid #E6E6E6;
	color: #666;
	box-shadow: none;
	text-shadow: none;
}
#cart.open > .btn:hover {
	color: #444;
}
#cart .dropdown-menu {
	background: #eee;
	z-index: 1001;
}
#cart .dropdown-menu {
	min-width: 100%;
	overflow-y: auto;
	max-height: 800px;
	scrollbar-width: thin;
	overflow-x: hidden;
}
@media (max-width: 478px) {
	#cart .dropdown-menu {
		width: 100%;
	}
}
#cart .dropdown-menu table {
	margin-bottom: 10px;
}
#cart .dropdown-menu li > div {
	min-width: 427px;
	padding: 0 10px;
}
@media (max-width: 478px) {
	#cart .dropdown-menu li > div {
		min-width: 100%;
	}
}
#cart .dropdown-menu li p {
	margin: 20px 0;
}
/* menu */
#menu {
	background-color: #229ac8;
	background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
	background-repeat: repeat-x;
	border-color: #1f90bb #1f90bb #145e7a;
	min-height: 40px;
}
#menu .nav > li > a {
	color: #fff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	padding: 10px 15px 10px 15px;
	min-height: 15px;
	background-color: transparent;
}
#menu .nav > li > a:hover, #menu .nav > li.open > a {
	background-color: rgba(0, 0, 0, 0.1);
}
#menu .dropdown-menu {
	padding-bottom: 0;
}
#menu .dropdown-inner {
	display: table;
}
#menu .dropdown-inner ul {
	display: table-cell;
}
#menu .dropdown-inner a {
	min-width: 160px;
	display: block;
	padding: 3px 20px;
	clear: both;
	line-height: 20px;
	color: #333333;
	font-size: 12px;
}
#menu .dropdown-inner li a:hover {
	color: #FFFFFF;
}
#menu .see-all {
	display: block;
	margin-top: 0.5em;
	border-top: 1px solid #DDD;
	padding: 3px 20px;
	-webkit-border-radius: 0 0 4px 4px;
	-moz-border-radius: 0 0 4px 4px;
	border-radius: 0 0 3px 3px;
	font-size: 12px;
}
#menu .see-all:hover, #menu .see-all:focus {
	text-decoration: none;
	color: #ffffff;
	background-color: #229ac8;
	background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
	background-repeat: repeat-x;
}
#menu #category {
	float: left;
	padding-left: 15px;
	font-size: 16px;
	font-weight: 700;
	line-height: 40px;
	color: #fff;
	text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
}
#menu .btn-navbar {
	font-size: 15px;
	font-stretch: expanded;
	color: #FFF;
	padding: 2px 18px;
	float: right;
	background-color: #229ac8;
	background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
	background-repeat: repeat-x;
	border-color: #1f90bb #1f90bb #145e7a;
}
#menu .btn-navbar:hover, #menu .btn-navbar:focus, #menu .btn-navbar:active, #menu .btn-navbar.disabled, #menu .btn-navbar[disabled] {
	color: #ffffff;
	background-color: #229ac8;
}
@media (min-width: 768px) {
	#menu .dropdown:hover .dropdown-menu {
		display: block;
	}
}
@media (max-width: 767px) {
	#menu {
		border-radius: 4px;
	}
	#menu div.dropdown-inner > ul.list-unstyled {
		display: block;
	}
	#menu div.dropdown-menu {
		margin-left: 0 !important;
		padding-bottom: 10px;
		background-color: rgba(0, 0, 0, 0.1);
	}
	#menu .dropdown-inner {
		display: block;
	}
	#menu .dropdown-inner a {
		width: 100%;
		color: #fff;
	}
	#menu .dropdown-menu a:hover,
	#menu .dropdown-menu ul li a:hover {
		background: rgba(0, 0, 0, 0.1);
	}
	#menu .see-all {
		margin-top: 0;
		border: none;
		border-radius: 0;
		color: #fff;
	}
}
/* content */
#content {
	min-height: 0px;
}
#product-category #content, #product-product #tab-description, #information-information #content {
	font-size: 13px;
}
/* footer */
footer {
	margin-top: 30px;
	padding-top: 30px;
	background-color: #303030;
	border-top: 1px solid #ddd;
	color: #e2e2e2;
}
footer hr {
	border-top: none;
	border-bottom: 1px solid #666;
}
footer a {
	color: #ccc;
}
footer a:hover {
	color: #fff;
}
footer h5 {
	font-family: 'Open Sans', sans-serif;
	font-size: 13px;
	font-weight: bold;
	color: #fff;
}
/* alert */
.alert {
	padding: 8px 14px 8px 14px;
}
.alert > .close {
	position: relative;
	top: -2px;
	right: 0px;
	color: inherit;
}
/* breadcrumb */
.breadcrumb {
	margin: 0 0 20px 0;
	padding: 8px 0;
	border: 1px solid #ddd;
}
.breadcrumb i {
	font-size: 15px;
}
.breadcrumb > li {
	text-shadow: 0 1px 0 #FFF;
	padding: 0 20px;
	position: relative;
	white-space: nowrap;
}
.breadcrumb > li + li:before {
	content: '';
	padding: 0;
}
.breadcrumb > li:after {
	content: '';
	display: block;
	position: absolute;
	top: -3px;
	right: -5px;
	width: 26px;
	height: 26px;
	border-right: 1px solid #DDD;
	border-bottom: 1px solid #DDD;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
html[dir=rtl] .breadcrumb > li::after {
  top: -3px;
  left: -5px;
  width: 26px;
  height: 26px;
  border-left: 1px solid #DDD;
  border-top: 1px solid #DDD;
  right: unset;
  border-right: unset;
  border-bottom:unset;

}
.pagination {
	margin: 0;
}
/* buttons */
.buttons {
	margin: 1em 0;
}
.btn {
	padding: 7.5px 12px;
	font-size: 12px;
	border: 1px solid #cccccc;
	border-radius: 4px;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
}
.btn-xs {
	font-size: 9px;
}
.btn-sm {
	font-size: 10.2px;
}
.btn-lg {
	padding: 10px 16px;
	font-size: 15px;
}
.btn-group > .btn, .btn-group > .dropdown-menu, .btn-group > .popover {
	font-size: 12px;
}
.btn-group > .btn-xs {
	font-size: 9px;
}
.btn-group > .btn-sm {
	font-size: 10.2px;
}
.btn-group > .btn-lg {
	font-size: 15px;
}
.btn-default {
	color: #777;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
	background-color: #e7e7e7;
	background-image: linear-gradient(to bottom, #eeeeee, #dddddd);
	background-repeat: repeat-x;
	border-color: #dddddd #dddddd #b3b3b3 #b7b7b7;
}
.btn-primary {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #229ac8;
	background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
	background-repeat: repeat-x;
	border-color: #1f90bb #1f90bb #145e7a;
}
.btn-primary:hover, .btn-primary:active, .btn-primary.active, .btn-primary.disabled, .btn-primary[disabled] {
	background-color: #1f90bb;
	background-position: 0 -15px;
}
.btn-warning {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #faa732;
	background-image: linear-gradient(to bottom, #fbb450, #f89406);
	background-repeat: repeat-x;
	border-color: #f89406 #f89406 #ad6704;
}
.btn-warning:hover, .btn-warning:active, .btn-warning.active, .btn-warning.disabled, .btn-warning[disabled] {
	box-shadow: inset 0 1000px 0 rgba(0, 0, 0, 0.1);
}
.btn-danger {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #da4f49;
	background-image: linear-gradient(to bottom, #ee5f5b, #bd362f);
	background-repeat: repeat-x;
	border-color: #bd362f #bd362f #802420;
}
.btn-danger:hover, .btn-danger:active, .btn-danger.active, .btn-danger.disabled, .btn-danger[disabled] {
	box-shadow: inset 0 1000px 0 rgba(0, 0, 0, 0.1);
}
.btn-success {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #5bb75b;
	background-image: linear-gradient(to bottom, #62c462, #51a351);
	background-repeat: repeat-x;
	border-color: #51a351 #51a351 #387038;
}
.btn-success:hover, .btn-success:active, .btn-success.active, .btn-success.disabled, .btn-success[disabled] {
	box-shadow: inset 0 1000px 0 rgba(0, 0, 0, 0.1);
}
.btn-info {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #df5c39;
	background-image: linear-gradient(to bottom, #e06342, #dc512c);
	background-repeat: repeat-x;
	border-color: #dc512c #dc512c #a2371a;
}
.btn-info:hover, .btn-info:active, .btn-info.active, .btn-info.disabled, .btn-info[disabled] {
	background-image: none;
	background-color: #df5c39;
}
.btn-link {
	border-color: rgba(0, 0, 0, 0);
	cursor: pointer;
	color: #23A1D1;
	border-radius: 0;
}
.btn-link, .btn-link:active, .btn-link[disabled] {
	background-color: rgba(0, 0, 0, 0);
	background-image: none;
	box-shadow: none;
}
.btn-inverse {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #363636;
	background-image: linear-gradient(to bottom, #444444, #222222);
	background-repeat: repeat-x;
	border-color: #222222 #222222 #000000;
}
.btn-inverse:hover, .btn-inverse:active, .btn-inverse.active, .btn-inverse.disabled, .btn-inverse[disabled] {
	background-color: #222222;
	background-image: linear-gradient(to bottom, #333333, #111111);
}
/* list group */
.list-group a {
	border: 1px solid #DDDDDD;
	color: #888888;
	padding: 8px 12px;
}
.list-group a.active, .list-group a.active:hover, .list-group a:hover {
	color: #444444;
	background: #eeeeee;
	border: 1px solid #DDDDDD;
	text-shadow: 0 1px 0 #FFF;
}
/* carousel */
.carousel-caption {
	color: #FFFFFF;
	text-shadow: 0 1px 0 #000000;
}
.carousel-control .icon-prev:before {
	content: '\f053';
	font-family: FontAwesome;
}
.carousel-control .icon-next:before {
	content: '\f054';
	font-family: FontAwesome;
}
/* product list */
.product-thumb {
	border: 1px solid #ddd;
	margin-bottom: 20px;
	overflow: auto;
}
.product-thumb .image {
	text-align: center;
}
.product-thumb .image a {
	display: block;
}
.product-thumb .image a:hover {
	opacity: 0.8;
}
.product-thumb .image img {
	margin-left: auto;
	margin-right: auto;
}
.product-grid .product-thumb .image {
	float: none;
}
@media (min-width: 767px) {
.product-list .product-thumb .image {
	float: left;
	padding: 0 15px;
}
}
.product-thumb h4 {
	font-weight: bold;
}
.product-thumb .caption {
	padding: 0 20px;
	min-height: 180px;
}
.product-list .product-thumb .caption {
	margin-left: 230px;
}
@media (max-width: 1200px) {
.product-grid .product-thumb .caption {
	min-height: 210px;
	padding: 0 10px;
}
}
@media (max-width: 767px) {
.product-list .product-thumb .caption {
	min-height: 0;
	margin-left: 0;
	padding: 0 10px;
}
.product-grid .product-thumb .caption {
	min-height: 0;
}
}
.product-thumb .rating {
	padding-bottom: 10px;
}
.rating .fa-stack {
	font-size: 8px;
}
.rating .fa-star-o {
	color: #999;
	font-size: 15px;
}
.rating .fa-star {
	color: #FC0;
	font-size: 15px;
}
.rating .fa-star + .fa-star-o {
	color: #E69500;
}
h2.price {
	margin: 0;
}
.product-thumb .price {
	color: #444;
}
.product-thumb .price-new {
	font-weight: 600;
}
.product-thumb .price-old {
	color: #999;
	text-decoration: line-through;
	margin-left: 10px;
}
.product-thumb .price-tax {
	color: #999;
	font-size: 12px;
	display: block;
}
.product-thumb .button-group {
	border-top: 1px solid #ddd;
	background-color: #eee;
	overflow: auto;
}
.product-list .product-thumb .button-group {
	border-left: 1px solid #ddd;
}
@media (max-width: 768px) {
	.product-list .product-thumb .button-group {
		border-left: none;
	}
}
.product-thumb .button-group button {
	width: 60%;
	border: none;
	display: inline-block;
	float: left;
	background-color: #eee;
	color: #888;
	line-height: 38px;
	font-weight: bold;
	text-align: center;
	text-transform: uppercase;
}
.product-thumb .button-group button + button {
	width: 20%;
	border-left: 1px solid #ddd;
}
.product-thumb .button-group button:hover {
	color: #444;
	background-color: #ddd;
	text-decoration: none;
	cursor: pointer;
}
@media (max-width: 1200px) {
	.product-thumb .button-group button, .product-thumb .button-group button + button {
		width: 33.33%;
	}
}
@media (max-width: 767px) {
	.product-thumb .button-group button, .product-thumb .button-group button + button {
		width: 33.33%;
	}
}
.thumbnails {
	overflow: auto;
	clear: both;
	list-style: none;
	padding: 0;
	margin: 0;
}
.thumbnails > li {
	margin-left: 20px;
}
.thumbnails {
	margin-left: -20px;
}
.thumbnails > img {
	width: 100%;
}
.image-additional a {
	margin-bottom: 20px;
	padding: 5px;
	display: block;
	border: 1px solid #ddd;
}
.image-additional {
	max-width: 78px;
}
.thumbnails .image-additional {
	float: left;
	margin-left: 20px;
}

@media (min-width: 1200px) {
	#content .col-lg-2:nth-child(6n+1),
	#content .col-lg-3:nth-child(4n+1),
	#content .col-lg-4:nth-child(3n+1),
	#content .col-lg-6:nth-child(2n+1) {
		clear:left;
	}
}
@media (min-width: 992px) and (max-width: 1199px) {
	#content .col-md-2:nth-child(6n+1),
	#content .col-md-3:nth-child(4n+1),
	#content .col-md-4:nth-child(3n+1),
	#content .col-md-6:nth-child(2n+1) {
		clear:left;
	}
}
@media (min-width: 768px) and (max-width: 991px) {
	#content .col-sm-2:nth-child(6n+1),
	#content .col-sm-3:nth-child(4n+1),
	#content .col-sm-4:nth-child(3n+1),
	#content .col-sm-6:nth-child(2n+1) {
		clear:left;
	}
}

/* fixed colum left + content + right*/
@media (min-width: 768px) {
    #column-left  .product-layout .col-md-3 {
       width: 100%;
    }

	#column-left + #content .product-layout .col-md-3 {
       width: 50%;
    }

	#column-left + #content + #column-right .product-layout .col-md-3 {
       width: 100%;
    }

    #content + #column-right .product-layout .col-md-3 {
       width: 100%;
    }
}

/* fixed product layouts used in left and right columns */
#column-left .product-layout, #column-right .product-layout {
	width: 100%;
}

/* fixed mobile cart quantity input */
.input-group .form-control[name^=quantity] {
	min-width: 50px;
}

/* Missing focus and border color to overwrite bootstrap */
.btn-info:hover, .btn-info:active, .btn-info.active, .btn-info.disabled, .btn-info[disabled] {
    background-image: none;
    background-color: #df5c39;
}
html[dir=rtl] .checkbox input[type="checkbox"],
html[dir=rtl] .checkbox-inline input[type="checkbox"],
html[dir=rtl] .radio input[type="radio"],
html[dir=rtl] .radio-inline input[type="radio"] {
    position: absolute;
    margin-top: 4px\9;
    margin-right: -20px;
      margin-left: unset;
}
html[dir=rtl] .input-group-btn:last-child > .btn {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
}
html[dir=rtl] .input-group .form-control:first-child {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    border-top-left-radius: unset;
    border-bottom-left-radius: unset;
}
html[dir=rtl] .container .row:first-child  .col-sm-4, html[dir=rtl] .container .row:first-child  .col-sm-5 {
  float: right;

}
html[dir=rtl] #cart .dropdown-menu {
  left: 0;
  right: auto;

}
@media (min-width: 768px) {
   
    html[dir=rtl] .navbar-nav {
        float: right;
        margin: 0;
    }
    
    html[dir=rtl] .navbar-nav > li {
        float: right;
    }
   
}

/* ========================================================================== 
   ADVERYON 2026 — CAPA VISUAL MAESTRA
   ========================================================================== */

:root {
	/* Marca */
	--adv-orange: #FF3B1F;
	--adv-orange-hover: #D92D15;
	--adv-orange-active: #B92310;
	--adv-orange-soft: #FFF1ED;
	--adv-orange-faint: #FFF8F6;

	/* Confianza / cierres */
	--adv-blue: #1E3A8A;
	--adv-blue-hover: #172F73;
	--adv-navy: #0B1739;
	--adv-navy-deep: #071126;
	--adv-navy-soft: #14224A;

	/* Neutros */
	--adv-ink: #1E293B;
	--adv-text: #475569;
	--adv-muted: #64748B;
	--adv-soft: #94A3B8;
	--adv-line: #E2E8F0;
	--adv-line-strong: #CBD5E1;
	--adv-surface: #FFFFFF;
	--adv-surface-soft: #F8FAFC;
	--adv-surface-alt: #F1F5F9;

	/* Estados funcionales */
	--adv-success: #18794E;
	--adv-success-soft: #ECFDF3;
	--adv-warning: #9A6700;
	--adv-warning-soft: #FFFAEB;
	--adv-danger: #B42318;
	--adv-danger-soft: #FEF3F2;
	--adv-info: #175CD3;
	--adv-info-soft: #EFF8FF;

	/* Tipografía / layout */
	--adv-font: 'Encode Sans', Arial, Helvetica, sans-serif;
	--adv-font-display: 'Encode Sans Semi Condensed', 'Encode Sans', Arial, Helvetica, sans-serif;
	--adv-container: 1240px;
	--adv-reading: 780px;
	--adv-radius-xs: 2px;
	--adv-radius-sm: 4px;
	--adv-radius-md: 8px;
	--adv-radius-lg: 12px;
	--adv-shadow-xs: 0 1px 2px rgba(11, 23, 57, 0.05);
	--adv-shadow-sm: 0 10px 30px rgba(11, 23, 57, 0.07);
	--adv-shadow-md: 0 22px 60px rgba(11, 23, 57, 0.12);
	--adv-focus: 0 0 0 3px rgba(255, 59, 31, 0.22);
	--adv-transition: 180ms ease;
	--adv-section-space: clamp(72px, 7vw, 120px);
}

/* --------------------------------------------------------------------------
   01. BASE / TYPOGRAPHY / ACCESSIBILITY
   -------------------------------------------------------------------------- */

html {
	font-size: 100%;
	scroll-behavior: smooth;
}

body {
	font-family: var(--adv-font);
	font-weight: 400;
	color: var(--adv-text);
	background: var(--adv-surface);
	font-size: 16px;
	line-height: 1.58;
	width: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

*, *:before, *:after {
	box-sizing: border-box;
}

::selection {
	color: var(--adv-navy);
	background: rgba(255, 59, 31, 0.22);
}

img {
	max-width: 100%;
	height: auto;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--adv-font-display);
	color: var(--adv-ink);
	line-height: 1.10;
	letter-spacing: -0.018em;
	margin-top: 0;
}

h1,
h2 {
	font-weight: 800;
}

h3,
h4,
h5,
h6 {
	font-weight: 700;
}

h1 { font-size: clamp(38px, 4vw, 54px); }
h2 { font-size: clamp(30px, 3vw, 40px); }
h3 { font-size: clamp(23px, 2vw, 29px); }
h4 { font-size: 20px; }
h5 { font-size: 17px; }
h6 { font-size: 15px; }

/* Roles tipográficos de marca */
.adv-display,
.adv-heading,
.adv-plan-name,
.adv-price,
.adv-stat-value,
.adv-data-highlight {
	font-family: var(--adv-font-display);
}

.adv-display,
.adv-heading {
	font-weight: 800;
}

.adv-plan-name,
.adv-price,
.adv-stat-value,
.adv-data-highlight {
	font-weight: 800;
}

.adv-kicker,
.adv-eyebrow,
.adv-label {
	font-family: var(--adv-font);
	font-weight: 600;
}

p {
	margin: 0 0 1.25em;
}

strong, b {
	font-weight: 600;
	color: inherit;
}

a {
	color: var(--adv-blue);
	text-decoration: none;
	transition: color var(--adv-transition), background-color var(--adv-transition), border-color var(--adv-transition), opacity var(--adv-transition), transform var(--adv-transition);
}

a:hover,
a:focus {
	color: var(--adv-orange-hover);
	text-decoration: none;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus,
[tabindex]:focus {
	outline: 2px solid var(--adv-orange);
	outline-offset: 3px;
}

@supports selector(:focus-visible) {
	a:focus:not(:focus-visible),
	button:focus:not(:focus-visible),
	input:focus:not(:focus-visible),
	select:focus:not(:focus-visible),
	textarea:focus:not(:focus-visible),
	[tabindex]:focus:not(:focus-visible) {
		outline: none;
	}
	a:focus-visible,
	button:focus-visible,
	input:focus-visible,
	select:focus-visible,
	textarea:focus-visible,
	[tabindex]:focus-visible {
		outline: 2px solid var(--adv-orange);
		outline-offset: 3px;
	}
}

hr {
	border: 0;
	border-top: 1px solid var(--adv-line);
	margin: 32px 0;
}

.fa {
	font-size: 14px;
}

/* Bootstrap/OpenCart container — ancho máximo maestro Adveryon: 1240px. */
@media (min-width: 1200px) {
	.container {
		width: calc(100% - 48px);
		max-width: var(--adv-container);
	}
}


/* Formularios e interfaz: Barlow */
button,
input,
optgroup,
select,
textarea,
.form-control,
.btn,
.dropdown-menu {
	font-family: var(--adv-font);
}

/* --------------------------------------------------------------------------
   02. GENERIC ADVERYON LAYOUT TOKENS
   -------------------------------------------------------------------------- */

.adv-page {
	color: var(--adv-text);
	background: var(--adv-surface);
}

.adv-shell {
	width: calc(100% - 48px);
	max-width: var(--adv-container);
	margin-right: auto;
	margin-left: auto;
}

.adv-reading {
	max-width: var(--adv-reading);
}

.adv-section {
	padding-top: var(--adv-section-space);
	padding-bottom: var(--adv-section-space);
}

.adv-section--soft {
	background: var(--adv-surface-soft);
}

.adv-section--alt {
	background: var(--adv-surface-alt);
}

.adv-section--navy {
	color: rgba(255,255,255,0.82);
	background: var(--adv-navy);
}

.adv-section--navy h1,
.adv-section--navy h2,
.adv-section--navy h3,
.adv-section--navy h4,
.adv-section--navy h5,
.adv-section--navy h6 {
	color: #fff;
}

.adv-kicker {
	display: inline-block;
	margin: 0 0 14px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	color: var(--adv-orange-hover);
}

.adv-lead {
	max-width: 760px;
	font-size: clamp(18px, 1.7vw, 21px);
	line-height: 1.58;
	color: var(--adv-text);
}

.adv-section__head {
	max-width: 820px;
	margin-bottom: 42px;
}

.adv-section__head--center {
	margin-right: auto;
	margin-left: auto;
	text-align: center;
}

.adv-grid {
	display: grid;
	gap: 24px;
}

.adv-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.adv-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.adv-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.adv-card {
	position: relative;
	padding: 30px;
	border: 1px solid var(--adv-line);
	border-radius: var(--adv-radius-md);
	background: var(--adv-surface);
	box-shadow: var(--adv-shadow-xs);
}

.adv-card--interactive {
	transition: transform var(--adv-transition), border-color var(--adv-transition), box-shadow var(--adv-transition);
}

.adv-card--interactive:hover {
	transform: translateY(-3px);
	border-color: var(--adv-line-strong);
	box-shadow: var(--adv-shadow-sm);
}

.adv-card--accent {
	border-top: 3px solid var(--adv-orange);
}

.adv-card--blue {
	border-top: 3px solid var(--adv-blue);
}

.adv-badge {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 5px 9px;
	border: 1px solid rgba(255, 59, 31, 0.18);
	border-radius: var(--adv-radius-sm);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--adv-orange-hover);
	background: var(--adv-orange-soft);
}

.adv-divider {
	width: 52px;
	height: 3px;
	margin: 18px 0 24px;
	background: var(--adv-orange);
}

/* --------------------------------------------------------------------------
   03. OPENCART CONTENT AREA
   -------------------------------------------------------------------------- */

#content {
	min-height: 0px;
	padding-top: 28px;
	padding-bottom: 72px;
}

#product-category #content,
#product-product #tab-description,
#information-information #content {
	font-size: 15px;
	line-height: 1.7;
}

#information-information #content > h1,
#product-category #content > h1,
#product-product #content > h1 {
	margin-bottom: 28px;
}

/* --------------------------------------------------------------------------
   04. TOP BAR
   -------------------------------------------------------------------------- */

#top {
	margin: 0;
	padding: 5px 0;
	min-height: 38px;
	border: 0;
	border-bottom: 1px solid var(--adv-line);
	background: var(--adv-surface-soft);
}

#top .container {
	padding-right: 20px;
	padding-left: 20px;
}

#top .btn-link,
#top-links li,
#top-links a {
	color: var(--adv-muted);
	text-shadow: none;
	text-decoration: none;
}

#top .btn-link:hover,
#top .btn-link:focus,
#top-links a:hover,
#top-links a:focus {
	color: var(--adv-orange-hover);
}

#top #form-currency .currency-select:hover,
#top #form-language .language-select:hover,
#top #form-currency .currency-select:focus,
#top #form-language .language-select:focus {
	color: #fff;
	background: var(--adv-orange-hover);
	background-image: none;
	text-shadow: none;
}

#top-links {
	padding-top: 4px;
}

#top .btn-link strong {
	font-size: 13px;
	line-height: 14px;
}

/* --------------------------------------------------------------------------
   05. HEADER UTILITIES: LOGO / SEARCH / CART
   -------------------------------------------------------------------------- */

header {
	background: var(--adv-surface);
}

#logo {
	margin: 18px 0 16px;
}

#logo img {
	max-height: 56px;
	width: auto;
}

#search {
	margin: 18px 0 16px;
}

#search .input-lg {
	height: 46px;
	padding: 0 14px;
	border-color: var(--adv-line-strong);
	border-radius: var(--adv-radius-xs) 0 0 var(--adv-radius-xs);
	font-size: 14px;
	box-shadow: none;
}

#search .input-lg:focus {
	border-color: var(--adv-orange);
	box-shadow: var(--adv-focus);
}

#search .btn-lg {
	height: 46px;
	padding: 10px 18px;
	border-radius: 0 var(--adv-radius-xs) var(--adv-radius-xs) 0;
	font-size: 15px;
	line-height: 22px;
	color: #fff;
	background: var(--adv-navy);
	border-color: var(--adv-navy);
	text-shadow: none;
}

#search .btn-lg:hover,
#search .btn-lg:focus {
	color: #fff;
	background: var(--adv-orange-hover);
	border-color: var(--adv-orange-hover);
}

#cart {
	margin: 18px 0 16px;
}

#cart > .btn {
	min-height: 46px;
	border-color: var(--adv-navy);
	border-radius: var(--adv-radius-xs);
	font-size: 13px;
	line-height: 20px;
	color: #fff;
	background: var(--adv-navy);
	text-shadow: none;
}

#cart > .btn:hover,
#cart > .btn:focus {
	background: var(--adv-orange-hover);
	border-color: var(--adv-orange-hover);
}

#cart.open > .btn {
	color: var(--adv-ink);
	background: #fff;
	border: 1px solid var(--adv-line-strong);
	box-shadow: none;
	text-shadow: none;
}

#cart.open > .btn:hover,
#cart.open > .btn:focus {
	color: var(--adv-orange-hover);
}

#cart .dropdown-menu {
	padding: 14px;
	border: 1px solid var(--adv-line);
	border-radius: var(--adv-radius-sm);
	background: #fff;
	box-shadow: var(--adv-shadow-md);
}

/* --------------------------------------------------------------------------
   06. MAIN NAVIGATION — NATIVE #menu
   -------------------------------------------------------------------------- */

#menu {
	min-height: 54px;
	border: 0;
	border-top: 1px solid var(--adv-line);
	border-bottom: 1px solid var(--adv-line);
	border-radius: 0;
	background: #fff;
	background-image: none;
	box-shadow: 0 4px 16px rgba(11, 23, 57, 0.035);
}

#menu .navbar-collapse {
	padding-right: 0;
	padding-left: 0;
}

#menu .nav > li > a {
	min-height: 54px;
	padding: 17px 16px 15px;
	border-bottom: 2px solid transparent;
	font-size: 14px;
	font-weight: 600;
	line-height: 20px;
	color: var(--adv-ink);
	background: transparent;
	text-shadow: none;
}

#menu .nav > li > a:hover,
#menu .nav > li > a:focus,
#menu .nav > li.open > a {
	color: var(--adv-orange-hover);
	border-bottom-color: var(--adv-orange);
	background: transparent;
}

#menu .dropdown-menu {
	padding: 12px 0;
	border: 1px solid var(--adv-line);
	border-radius: var(--adv-radius-sm);
	background: #fff;
	box-shadow: var(--adv-shadow-md);
}

#menu .dropdown-inner a,
#menu .dropdown-menu > li > a {
	min-width: 190px;
	padding: 9px 20px;
	font-size: 13px;
	line-height: 20px;
	color: var(--adv-ink);
	background: transparent;
}

#menu .dropdown-inner li a:hover,
#menu .dropdown-inner li a:focus,
#menu .dropdown-menu > li > a:hover,
#menu .dropdown-menu > li > a:focus {
	color: var(--adv-orange-hover);
	background: var(--adv-orange-faint);
}

#menu .see-all {
	margin-top: 8px;
	padding: 10px 20px 4px;
	border-top: 1px solid var(--adv-line);
	border-radius: 0;
	font-size: 13px;
	font-weight: 700;
	color: var(--adv-blue);
}

#menu .see-all:hover,
#menu .see-all:focus {
	color: var(--adv-orange-hover);
	background: transparent;
	background-image: none;
}

#menu #category {
	padding-left: 15px;
	font-size: 16px;
	font-weight: 700;
	line-height: 52px;
	color: var(--adv-ink);
	text-shadow: none;
}

#menu .btn-navbar {
	margin: 8px 10px 7px 0;
	padding: 7px 14px;
	border: 1px solid var(--adv-orange);
	border-radius: var(--adv-radius-xs);
	font-size: 15px;
	color: #fff;
	background: var(--adv-orange);
	background-image: none;
	text-shadow: none;
}

#menu .btn-navbar:hover,
#menu .btn-navbar:focus,
#menu .btn-navbar:active,
#menu .btn-navbar.disabled,
#menu .btn-navbar[disabled] {
	color: #fff;
	background: var(--adv-orange-hover);
	border-color: var(--adv-orange-hover);
}

.dropdown-menu li > a:hover,
.dropdown-menu li > a:focus {
	color: var(--adv-ink);
	background: var(--adv-orange-faint);
	background-image: none;
	text-decoration: none;
}

/* --------------------------------------------------------------------------
   07. BREADCRUMB / PAGINATION / TABS / LIST GROUP
   -------------------------------------------------------------------------- */

.breadcrumb {
	margin: 22px 0 30px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.breadcrumb i {
	font-size: 14px;
}

.breadcrumb > li {
	padding: 0 12px 0 0;
	font-size: 12px;
	color: var(--adv-muted);
	text-shadow: none;
}

.breadcrumb > li + li {
	padding-left: 2px;
}

.breadcrumb > li + li:before {
	content: '/';
	padding: 0 10px 0 0;
	color: var(--adv-soft);
}

.breadcrumb > li:after {
	display: none;
}

.breadcrumb a {
	color: var(--adv-muted);
}

.breadcrumb a:hover,
.breadcrumb a:focus {
	color: var(--adv-orange-hover);
}

.pagination {
	margin: 0;
}

.pagination > li > a,
.pagination > li > span {
	min-width: 38px;
	padding: 8px 12px;
	border-color: var(--adv-line);
	color: var(--adv-ink);
	background: #fff;
}

.pagination > li > a:hover,
.pagination > li > a:focus {
	color: var(--adv-orange-hover);
	border-color: var(--adv-orange);
	background: var(--adv-orange-faint);
}

.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
	color: #fff;
	border-color: var(--adv-orange);
	background: var(--adv-orange);
}

.nav-tabs {
	margin-bottom: 24px;
	border-bottom-color: var(--adv-line);
}

.nav-tabs > li > a {
	border-radius: 0;
	font-weight: 600;
	color: var(--adv-muted);
}

.nav-tabs > li > a:hover,
.nav-tabs > li > a:focus {
	color: var(--adv-orange-hover);
	background: var(--adv-surface-soft);
	border-color: var(--adv-line) var(--adv-line) transparent;
}

.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
	color: var(--adv-ink);
	border-color: var(--adv-line) var(--adv-line) #fff;
	border-top: 2px solid var(--adv-orange);
}

.list-group a {
	padding: 10px 14px;
	border: 1px solid var(--adv-line);
	color: var(--adv-text);
	background: #fff;
}

.list-group a.active,
.list-group a.active:hover,
.list-group a.active:focus,
.list-group a:hover,
.list-group a:focus {
	color: var(--adv-ink);
	background: var(--adv-surface-soft);
	border-color: var(--adv-line-strong);
	text-shadow: none;
}

.list-group a.active {
	border-left: 3px solid var(--adv-orange);
	font-weight: 700;
}

/* --------------------------------------------------------------------------
   08. FORMS
   -------------------------------------------------------------------------- */

legend {
	padding: 10px 0;
	border-color: var(--adv-line);
	font-size: 22px;
	font-weight: 700;
	color: var(--adv-ink);
}

label,
.control-label {
	font-size: 13px;
	font-weight: 600;
	color: var(--adv-ink);
}

select.form-control,
textarea.form-control,
input[type="text"].form-control,
input[type="password"].form-control,
input[type="datetime"].form-control,
input[type="datetime-local"].form-control,
input[type="date"].form-control,
input[type="month"].form-control,
input[type="time"].form-control,
input[type="week"].form-control,
input[type="number"].form-control,
input[type="email"].form-control,
input[type="url"].form-control,
input[type="search"].form-control,
input[type="tel"].form-control,
input[type="color"].form-control,
.form-control {
	height: 46px;
	padding: 10px 13px;
	border: 1px solid var(--adv-line-strong);
	border-radius: var(--adv-radius-xs);
	box-shadow: none;
	font-family: var(--adv-font);
	font-size: 14px;
	line-height: 24px;
	color: var(--adv-ink);
	background: #fff;
	transition: border-color var(--adv-transition), box-shadow var(--adv-transition);
}

textarea.form-control {
	height: auto;
	min-height: 140px;
	resize: vertical;
}

.form-control:focus {
	border-color: var(--adv-orange);
	box-shadow: var(--adv-focus);
}

.form-control::placeholder {
	color: var(--adv-soft);
	opacity: 1;
}

.input-group input,
.input-group select,
.input-group .dropdown-menu,
.input-group .popover,
.input-group .input-group-addon {
	font-size: 14px;
}

.input-group .input-group-addon {
	height: 46px;
	padding: 10px 13px;
	border-color: var(--adv-line-strong);
	border-radius: var(--adv-radius-xs);
	color: var(--adv-ink);
	background: var(--adv-surface-soft);
}

.form-horizontal .form-group {
	margin-bottom: 20px;
}

div.required .control-label:before {
	content: '* ';
	color: var(--adv-danger);
	font-weight: 700;
}

.checkbox label,
.radio label {
	color: var(--adv-text);
	font-weight: 400;
}

/* --------------------------------------------------------------------------
   09. BUTTONS
   -------------------------------------------------------------------------- */

.buttons {
	margin: 24px 0;
}

.btn {
	padding: 10px 16px;
	border: 1px solid var(--adv-line-strong);
	border-radius: var(--adv-radius-xs);
	box-shadow: none;
	font-family: var(--adv-font);
	font-size: 13px;
	font-weight: 600;
	line-height: 20px;
	letter-spacing: 0.01em;
	text-shadow: none;
	transition: color var(--adv-transition), background-color var(--adv-transition), border-color var(--adv-transition), transform var(--adv-transition), box-shadow var(--adv-transition);
}

.btn:hover,
.btn:focus {
	box-shadow: none;
}

.btn:active,
.btn.active {
	box-shadow: none;
	transform: translateY(1px);
}

.btn-xs { padding: 5px 8px; font-size: 11px; }
.btn-sm { padding: 7px 11px; font-size: 12px; }
.btn-lg { padding: 13px 20px; font-size: 15px; }

.btn-default {
	color: var(--adv-ink);
	background: #fff;
	background-image: none;
	border-color: var(--adv-line-strong);
	text-shadow: none;
}

.btn-default:hover,
.btn-default:focus,
.btn-default:active,
.btn-default.active {
	color: var(--adv-orange-hover);
	background: var(--adv-orange-faint);
	border-color: var(--adv-orange);
}

.btn-primary {
	color: #fff;
	background: var(--adv-orange);
	background-image: none;
	border-color: var(--adv-orange);
	text-shadow: none;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.btn-primary.disabled,
.btn-primary[disabled] {
	color: #fff;
	background: var(--adv-orange-hover);
	background-image: none;
	border-color: var(--adv-orange-hover);
	background-position: 0 0;
}

.btn-link {
	padding-right: 4px;
	padding-left: 4px;
	border-color: transparent;
	border-radius: 0;
	color: var(--adv-blue);
	background: transparent;
}

.btn-link:hover,
.btn-link:focus {
	color: var(--adv-orange-hover);
	background: transparent;
}

.btn-info {
	color: #fff;
	background: var(--adv-blue);
	background-image: none;
	border-color: var(--adv-blue);
	text-shadow: none;
}

.btn-info:hover,
.btn-info:focus,
.btn-info:active,
.btn-info.active,
.btn-info.disabled,
.btn-info[disabled] {
	color: #fff;
	background: var(--adv-blue-hover);
	background-image: none;
	border-color: var(--adv-blue-hover);
}

.btn-success {
	color: #fff;
	background: var(--adv-success);
	background-image: none;
	border-color: var(--adv-success);
	text-shadow: none;
}

.btn-warning {
	color: #fff;
	background: var(--adv-warning);
	background-image: none;
	border-color: var(--adv-warning);
	text-shadow: none;
}

.btn-danger {
	color: #fff;
	background: var(--adv-danger);
	background-image: none;
	border-color: var(--adv-danger);
	text-shadow: none;
}

.btn-inverse {
	color: #fff;
	background: var(--adv-navy);
	background-image: none;
	border-color: var(--adv-navy);
	text-shadow: none;
}

.btn-inverse:hover,
.btn-inverse:focus,
.btn-inverse:active,
.btn-inverse.active {
	color: #fff;
	background: var(--adv-navy-deep);
	background-image: none;
	border-color: var(--adv-navy-deep);
}

.adv-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 46px;
	padding: 12px 20px;
	border: 1px solid var(--adv-orange);
	border-radius: var(--adv-radius-xs);
	font-size: 13px;
	font-weight: 700;
	line-height: 20px;
	color: #fff;
	background: var(--adv-orange);
}

.adv-btn:hover,
.adv-btn:focus {
	color: #fff;
	background: var(--adv-orange-hover);
	border-color: var(--adv-orange-hover);
}

.adv-btn--navy {
	background: var(--adv-navy);
	border-color: var(--adv-navy);
}

.adv-btn--navy:hover,
.adv-btn--navy:focus {
	background: var(--adv-navy-deep);
	border-color: var(--adv-navy-deep);
}

.adv-btn--outline {
	color: var(--adv-ink);
	background: transparent;
	border-color: var(--adv-line-strong);
}

.adv-btn--outline:hover,
.adv-btn--outline:focus {
	color: var(--adv-orange-hover);
	background: var(--adv-orange-faint);
	border-color: var(--adv-orange);
}

/* --------------------------------------------------------------------------
   10. ALERTS / PANELS / WELLS / MODALS / TABLES
   -------------------------------------------------------------------------- */

.alert {
	padding: 12px 16px;
	border-width: 1px;
	border-radius: var(--adv-radius-sm);
	box-shadow: none;
}

.alert-success { color: #11623F; background: var(--adv-success-soft); border-color: #ABEFC6; }
.alert-info { color: #1849A9; background: var(--adv-info-soft); border-color: #B2DDFF; }
.alert-warning { color: #7A2E0E; background: var(--adv-warning-soft); border-color: #FEDF89; }
.alert-danger { color: #912018; background: var(--adv-danger-soft); border-color: #FECDCA; }

.panel {
	border-color: var(--adv-line);
	border-radius: var(--adv-radius-sm);
	box-shadow: none;
}

.panel-default > .panel-heading {
	color: var(--adv-ink);
	background: var(--adv-surface-soft);
	border-color: var(--adv-line);
}

.panel-title {
	font-weight: 700;
}

.well {
	border-color: var(--adv-line);
	border-radius: var(--adv-radius-sm);
	background: var(--adv-surface-soft);
	box-shadow: none;
}

.modal-content {
	border: 0;
	border-radius: var(--adv-radius-md);
	box-shadow: var(--adv-shadow-md);
}

.modal-header {
	padding: 22px 24px;
	border-bottom-color: var(--adv-line);
}

.modal-body {
	padding: 24px;
}

.modal-footer {
	padding: 18px 24px;
	border-top-color: var(--adv-line);
}

.modal-title {
	font-size: 22px;
	font-weight: 700;
	color: var(--adv-ink);
}

.table {
	color: var(--adv-text);
}

.table > thead > tr > th {
	border-bottom: 2px solid var(--adv-line-strong);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--adv-ink);
}

.table > tbody > tr > td,
.table > tbody > tr > th,
.table > tfoot > tr > td,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > thead > tr > th {
	border-top-color: var(--adv-line);
}

.table-striped > tbody > tr:nth-of-type(odd) {
	background: var(--adv-surface-soft);
}

/* --------------------------------------------------------------------------
   11. PRODUCT / CATALOGUE — FUNCTIONAL STRUCTURE KEPT, VISUAL LAYER ONLY
   -------------------------------------------------------------------------- */

.product-thumb {
	position: relative;
	margin-bottom: 28px;
	overflow: hidden;
	border: 1px solid var(--adv-line);
	border-radius: var(--adv-radius-sm);
	background: #fff;
	box-shadow: var(--adv-shadow-xs);
	transition: transform var(--adv-transition), border-color var(--adv-transition), box-shadow var(--adv-transition);
}

.product-thumb:hover {
	transform: translateY(-2px);
	border-color: var(--adv-line-strong);
	box-shadow: var(--adv-shadow-sm);
}

.product-thumb .image {
	padding: 18px 18px 0;
	text-align: center;
	background: #fff;
}

.product-thumb .image a:hover {
	opacity: 0.94;
}

.product-thumb h4 {
	margin-top: 4px;
	margin-bottom: 10px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
}

.product-thumb h4 a {
	color: var(--adv-ink);
}

.product-thumb h4 a:hover,
.product-thumb h4 a:focus {
	color: var(--adv-orange-hover);
}

.product-thumb .caption {
	padding: 18px 20px 20px;
	min-height: 180px;
	color: var(--adv-text);
}

.product-thumb .price,
h2.price {
	color: var(--adv-ink);
}

.product-thumb .price-new {
	font-weight: 700;
	color: var(--adv-orange-hover);
}

.product-thumb .price-old {
	color: var(--adv-soft);
}

.product-thumb .price-tax {
	color: var(--adv-muted);
	font-size: 12px;
}

.rating .fa-star-o {
	color: #CBD5E1;
}

.rating .fa-star,
.rating .fa-star + .fa-star-o {
	color: var(--adv-orange);
}

.product-thumb .button-group {
	border-top: 1px solid var(--adv-line);
	background: var(--adv-surface-soft);
}

.product-list .product-thumb .button-group {
	border-left-color: var(--adv-line);
}

.product-thumb .button-group button {
	min-height: 42px;
	background: var(--adv-surface-soft);
	color: var(--adv-muted);
	font-size: 11px;
	font-weight: 700;
	line-height: 42px;
	text-transform: uppercase;
}

.product-thumb .button-group button + button {
	border-left-color: var(--adv-line);
}

.product-thumb .button-group button:hover,
.product-thumb .button-group button:focus {
	color: var(--adv-orange-hover);
	background: var(--adv-orange-faint);
}

.image-additional a {
	border-color: var(--adv-line);
	border-radius: var(--adv-radius-xs);
	background: #fff;
}

.image-additional a:hover,
.image-additional a:focus {
	border-color: var(--adv-orange);
}

.thumbnail {
	border-color: var(--adv-line);
	border-radius: var(--adv-radius-sm);
}

.thumbnail:hover,
.thumbnail:focus {
	border-color: var(--adv-line-strong);
}

/* --------------------------------------------------------------------------
   12. ACCOUNT / CHECKOUT / CART SUPPORT
   -------------------------------------------------------------------------- */

#checkout-cart .table-responsive,
#account-account .list-group,
#account-login .well,
#account-register fieldset,
#checkout-checkout .panel-group {
	font-size: 14px;
}

#checkout-cart .table-bordered,
#checkout-checkout .panel,
#account-order .table-bordered {
	border-color: var(--adv-line);
}

#checkout-checkout .panel-heading a {
	color: var(--adv-ink);
}

#checkout-checkout .panel-heading a:hover,
#checkout-checkout .panel-heading a:focus {
	color: var(--adv-orange-hover);
}

.input-group .form-control[name^=quantity] {
	min-width: 56px;
}

/* --------------------------------------------------------------------------
   13. GENERIC CAMPAIGN / PLAN COMPONENTS FOR FUTURE PAGES
   -------------------------------------------------------------------------- */

.adv-hero {
	position: relative;
	padding-top: clamp(72px, 8vw, 130px);
	padding-bottom: clamp(72px, 8vw, 130px);
	background: #fff;
	overflow: hidden;
}

.adv-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
	gap: clamp(40px, 6vw, 90px);
	align-items: center;
}

.adv-hero__content h1 {
	max-width: 900px;
	margin-bottom: 24px;
}

.adv-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 30px;
}

.adv-hero__media {
	min-height: 420px;
	border: 1px solid var(--adv-line);
	border-radius: var(--adv-radius-lg);
	background: linear-gradient(145deg, var(--adv-surface-soft), #fff);
	box-shadow: var(--adv-shadow-md);
}

.adv-plan {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 30px;
	border: 1px solid var(--adv-line);
	border-radius: var(--adv-radius-md);
	background: #fff;
}

.adv-plan--featured {
	border: 2px solid var(--adv-orange);
	box-shadow: var(--adv-shadow-sm);
}

.adv-plan__name {
	margin-bottom: 8px;
	font-family: var(--adv-font-display);
	font-size: 24px;
	font-weight: 800;
	line-height: 1.08;
	color: var(--adv-ink);
}

.adv-plan__summary {
	min-height: 72px;
	color: var(--adv-muted);
}

.adv-plan__list {
	margin: 22px 0 26px;
	padding: 0;
	list-style: none;
}

.adv-plan__list li {
	position: relative;
	padding: 9px 0 9px 22px;
	border-bottom: 1px solid var(--adv-line);
}

.adv-plan__list li:before {
	content: '';
	position: absolute;
	top: 18px;
	left: 0;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--adv-orange);
}

.adv-plan__actions {
	margin-top: auto;
}

.adv-feature-row {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	gap: 16px;
	align-items: start;
}

.adv-feature-row__icon {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 1px solid rgba(30, 58, 138, 0.14);
	border-radius: var(--adv-radius-sm);
	color: var(--adv-blue);
	background: #F5F7FF;
}

.adv-feature-row h3,
.adv-feature-row h4 {
	margin-bottom: 6px;
}

.adv-stat {
	padding: 24px;
	border-left: 3px solid var(--adv-orange);
	background: var(--adv-surface-soft);
}

.adv-stat__value {
	display: block;
	margin-bottom: 3px;
	font-family: var(--adv-font-display);
	font-size: clamp(28px, 3vw, 40px);
	font-weight: 800;
	line-height: 1;
	color: var(--adv-ink);
}

.adv-stat__label {
	font-size: 13px;
	color: var(--adv-muted);
}

/* --------------------------------------------------------------------------
   14. PRE-FOOTER / FOOTER
   -------------------------------------------------------------------------- */

.adv-prefooter {
	padding: 54px 0;
	color: #fff;
	background: var(--adv-blue);
}

.adv-prefooter__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
}

.adv-prefooter h2,
.adv-prefooter h3 {
	margin-bottom: 8px;
	color: #fff;
}

.adv-prefooter p {
	margin-bottom: 0;
	color: rgba(255,255,255,0.78);
}

footer {
	margin-top: 0;
	padding-top: 62px;
	border-top: 0;
	color: rgba(255,255,255,0.72);
	background: var(--adv-navy-deep);
}

footer .container {
	padding-bottom: 42px;
}

footer hr {
	border: 0;
	border-top: 1px solid rgba(255,255,255,0.12);
	margin: 26px 0;
}

footer h5 {
	margin: 0 0 17px;
	font-family: var(--adv-font);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--adv-orange);
}

footer a {
	color: rgba(255,255,255,0.76);
}

footer a:hover,
footer a:focus {
	color: #fff;
}

footer p,
footer li {
	line-height: 1.75;
}

footer .list-unstyled > li {
	margin-bottom: 7px;
}

/* --------------------------------------------------------------------------
   15. CAROUSEL
   -------------------------------------------------------------------------- */

.carousel-caption {
	color: #fff;
	text-shadow: 0 2px 16px rgba(7, 17, 38, 0.55);
}

.carousel-indicators li {
	border-color: rgba(255,255,255,0.7);
}

.carousel-indicators .active {
	background: var(--adv-orange);
	border-color: var(--adv-orange);
}

/* --------------------------------------------------------------------------
   16. RESPONSIVE
   -------------------------------------------------------------------------- */

@media (max-width: 1199px) {
	.adv-grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.adv-hero__grid {
		grid-template-columns: minmax(0, 1fr) minmax(320px, 0.85fr);
		gap: 44px;
	}
}

@media (max-width: 991px) {
	.adv-grid--3,
	.adv-grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.adv-hero__grid {
		grid-template-columns: 1fr;
	}
	.adv-hero__media {
		min-height: 360px;
	}
	.adv-prefooter__inner {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 767px) {
	body {
		font-size: 14px;
	}

	h1 { font-size: clamp(34px, 11vw, 48px); }
	h2 { font-size: clamp(28px, 9vw, 38px); }
	h3 { font-size: 22px; }

	.adv-shell {
		width: calc(100% - 32px);
	}

	.adv-section {
		padding-top: 64px;
		padding-bottom: 64px;
	}

	.adv-grid--2,
	.adv-grid--3,
	.adv-grid--4 {
		grid-template-columns: 1fr;
	}

	.adv-card,
	.adv-plan {
		padding: 24px;
	}

	#logo,
	#search,
	#cart {
		margin-top: 10px;
		margin-bottom: 10px;
	}

	#menu {
		border-radius: 0;
		box-shadow: none;
	}

	#menu .navbar-collapse {
		padding-right: 15px;
		padding-left: 15px;
		border-top: 1px solid var(--adv-line);
		box-shadow: none;
	}

	#menu .nav > li > a {
		min-height: 44px;
		padding: 12px 10px;
		border-bottom: 1px solid var(--adv-line);
		color: var(--adv-ink);
	}

	#menu .nav > li > a:hover,
	#menu .nav > li > a:focus,
	#menu .nav > li.open > a {
		color: var(--adv-orange-hover);
		border-bottom-color: var(--adv-line);
		background: var(--adv-orange-faint);
	}

	#menu div.dropdown-menu {
		margin-left: 0 !important;
		padding: 4px 0 8px;
		border: 0;
		border-radius: 0;
		background: var(--adv-surface-soft);
		box-shadow: none;
	}

	#menu .dropdown-inner {
		display: block;
	}

	#menu div.dropdown-inner > ul.list-unstyled {
		display: block;
	}

	#menu .dropdown-inner a,
	#menu .dropdown-menu > li > a {
		width: 100%;
		padding: 9px 18px;
		color: var(--adv-ink);
	}

	#menu .dropdown-menu a:hover,
	#menu .dropdown-menu a:focus,
	#menu .dropdown-menu ul li a:hover,
	#menu .dropdown-menu ul li a:focus {
		color: var(--adv-orange-hover);
		background: var(--adv-orange-faint);
	}

	#menu .see-all {
		border: 0;
		color: var(--adv-blue);
	}

	.adv-hero {
		padding-top: 68px;
		padding-bottom: 68px;
	}

	.adv-hero__media {
		min-height: 280px;
	}

	footer {
		padding-top: 48px;
	}
}

@media (max-width: 478px) {
	.adv-shell {
		width: calc(100% - 24px);
	}

	.btn,
	.adv-btn {
		white-space: normal;
	}

	#cart .dropdown-menu {
		width: calc(100vw - 24px);
		max-width: calc(100vw - 24px);
	}
}

/* --------------------------------------------------------------------------
   17. RTL COMPATIBILITY — preserve native behavior, adapt visual details
   -------------------------------------------------------------------------- */

html[dir=rtl] .breadcrumb > li {
	padding: 0 0 0 12px;
}

html[dir=rtl] .breadcrumb > li + li:before {
	padding: 0 0 0 10px;
}

html[dir=rtl] .list-group a.active {
	border-left: 1px solid var(--adv-line-strong);
	border-right: 3px solid var(--adv-orange);
}

html[dir=rtl] .adv-stat {
	border-left: 0;
	border-right: 3px solid var(--adv-orange);
}

html[dir=rtl] .adv-plan__list li {
	padding-right: 22px;
	padding-left: 0;
}

html[dir=rtl] .adv-plan__list li:before {
	right: 0;
	left: auto;
}

/* --------------------------------------------------------------------------
   18. REDUCED MOTION
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*, *:before, *:after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
	}
}

/* --------------------------------------------------------------------------
   ADVERYON 2026 — REFINAMIENTO TIPOGRÁFICO 1240
   -------------------------------------------------------------------------- */

.adv-section__head > h1,
.adv-section__head > h2,
.adv-section__head > h3,
.adv-card > h2,
.adv-card > h3,
.adv-card > h4,
.adv-feature-row h3,
.adv-feature-row h4,
.modal-title,
.panel-title {
	font-family: var(--adv-font-display);
}

.adv-section__head > h1,
.adv-section__head > h2 {
	font-weight: 800;
}

.adv-card > h2,
.adv-card > h3,
.adv-card > h4,
.adv-feature-row h3,
.adv-feature-row h4,
.modal-title,
.panel-title {
	font-weight: 700;
}

.adv-price,
.adv-plan-name,
.adv-stat-value,
.adv-plan__name,
.adv-stat__value {
	font-family: var(--adv-font-display);
	font-weight: 800;
}















/* ==========================================================================
   ADVERYON ESPAÑA — FOOTER 2026
   Requiere el CSS maestro Adveryon 2026 (Encode Sans estática + container 1240).

   Estructura:
   - Fondo del <footer>: FULL WIDTH.
   - Todo el contenido visible del footer: BOXED a máximo 1240px.
   - Tipografía: Encode Sans / Encode Sans Semi Condensed.
   ========================================================================== */

footer.adv-site-footer {
	position: relative;
	width: 100%;
	max-width: none;
	overflow: hidden;
	margin: 0;
	padding: 40px 0 0;
	border: 0;
	color: #FFFFFF;
	background:
		radial-gradient(circle at 82% 8%, rgba(30, 58, 138, 0.12), transparent 30%),
		#00102A;
	font-family: var(--adv-font, 'Encode Sans', Arial, Helvetica, sans-serif);
}

.adv-site-footer,
.adv-site-footer * {
	box-sizing: border-box;
}

/*
 * El shell contiene CTA + columnas + legales.
 * El fondo NO está aquí: pertenece al footer y por eso sigue siendo full width.
 */
footer.adv-site-footer > .adv-site-footer__shell,
footer.adv-site-footer > .container.adv-site-footer__shell {
	position: relative;
	width: calc(100% - 48px);
	max-width: 1240px;
	margin-right: auto;
	margin-left: auto;
	padding: 0;
}

.adv-site-footer a {
	color: #FFFFFF;
	text-decoration: none;
	transition:
		color 180ms ease,
		background-color 180ms ease,
		border-color 180ms ease,
		opacity 180ms ease;
}

.adv-site-footer a:hover,
.adv-site-footer a:focus {
	color: #FF3B1F;
	text-decoration: none;
	outline: none;
}

/* ==========================================================================
   CTA SUPERIOR
   ========================================================================== */

.adv-footer-help {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 86px minmax(0, 1fr) 1px 310px;
	align-items: center;
	min-height: 180px;
	padding: 26px 34px 26px 38px;
	overflow: hidden;
	border: 2px solid #FF3B1F;
	background: rgba(0, 16, 42, 0.34);
}

.adv-footer-help__icon {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.adv-footer-help__bubble {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 51px;
	border: 3px solid #FF3B1F;
	border-radius: 2px;
	color: #FF3B1F;
	font-family: var(--adv-font-display, 'Encode Sans Semi Condensed', 'Encode Sans', Arial, sans-serif);
	font-size: 33px;
	font-weight: 800;
	line-height: 1;
}

.adv-footer-help__bubble:after {
	content: "";
	position: absolute;
	left: -3px;
	bottom: -14px;
	width: 15px;
	height: 15px;
	border-left: 3px solid #FF3B1F;
	border-bottom: 3px solid #FF3B1F;
	background: #00102A;
	transform: skewY(-42deg);
	transform-origin: top left;
}

.adv-footer-help__copy {
	position: relative;
	z-index: 2;
	padding: 0 30px 0 6px;
}

.adv-footer-help__copy h2 {
	margin: 0 0 9px;
	color: #FFFFFF;
	font-family: var(--adv-font-display, 'Encode Sans Semi Condensed', 'Encode Sans', Arial, sans-serif);
	font-size: 34px;
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -0.01em;
}

.adv-footer-help__copy p {
	max-width: 650px;
	margin: 0;
	color: rgba(255, 255, 255, 0.92);
	font-family: var(--adv-font, 'Encode Sans', Arial, sans-serif);
	font-size: 17px;
	font-weight: 400;
	line-height: 1.47;
}

.adv-footer-help__separator {
	width: 1px;
	height: 118px;
	background: #FF3B1F;
}

.adv-footer-help__action {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	padding-left: 30px;
}

.adv-footer-help__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	width: 258px;
	min-height: 62px;
	padding: 15px 22px;
	border: 1px solid #FF3B1F;
	border-radius: 2px;
	background: #FF3B1F;
	box-shadow: none;
	color: #FFFFFF !important;
	font-family: var(--adv-font, 'Encode Sans', Arial, sans-serif);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.15;
}

.adv-footer-help__button:hover,
.adv-footer-help__button:focus {
	border-color: #D92D15;
	background: #D92D15;
	color: #FFFFFF !important;
}

.adv-footer-help__arrow {
	position: relative;
	display: inline-block;
	width: 25px;
	height: 16px;
	flex: 0 0 25px;
}

.adv-footer-help__arrow:before {
	content: "";
	position: absolute;
	top: 7px;
	left: 0;
	width: 23px;
	height: 2px;
	background: currentColor;
}

.adv-footer-help__arrow:after {
	content: "";
	position: absolute;
	top: 3px;
	right: 0;
	width: 9px;
	height: 9px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	transform: rotate(45deg);
}

/* Red decorativa del CTA */
.adv-footer-help__network {
	position: absolute;
	z-index: 0;
	top: 7px;
	right: -25px;
	width: 340px;
	height: 176px;
	opacity: 0.16;
	pointer-events: none;
}

/* ==========================================================================
   CUERPO DEL FOOTER
   ========================================================================== */

.adv-site-footer__main {
	display: grid;
	grid-template-columns: 31% 22% 24% 23%;
	margin-top: 52px;
	min-height: 300px;
}

.adv-site-footer__col {
	min-width: 0;
	padding: 10px 30px 30px;
}

.adv-site-footer__col:first-child {
	padding-left: 16px;
	padding-right: 34px;
}

.adv-site-footer__col + .adv-site-footer__col {
	border-left: 1px solid rgba(255, 255, 255, 0.32);
}

/* Marca ------------------------------------------------------------------ */

.adv-site-footer__brand {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.adv-site-footer__logo {
	display: block;
	width: min(300px, 100%);
	height: auto;
	margin: 0 0 25px;
}

.adv-site-footer__claim {
	max-width: 330px;
	margin: 0 0 24px;
	color: rgba(255, 255, 255, 0.90);
	font-family: var(--adv-font, 'Encode Sans', Arial, sans-serif);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.58;
}

.adv-site-footer__social {
	display: flex;
	align-items: center;
	gap: 31px;
	margin-top: auto;
}

.adv-site-footer__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 28px;
	min-height: 32px;
	color: #FFFFFF;
	font-size: 30px;
	line-height: 1;
}

.adv-site-footer__social a:hover,
.adv-site-footer__social a:focus {
	color: #FF3B1F;
}

/* Títulos ---------------------------------------------------------------- */

.adv-site-footer__title {
	position: relative;
	display: inline-block;
	margin: 0 0 27px;
	padding-bottom: 10px;
	color: #FFFFFF;
	font-family: var(--adv-font-display, 'Encode Sans Semi Condensed', 'Encode Sans', Arial, sans-serif);
	font-size: 23px;
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: 0;
}

.adv-site-footer__title:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 36px;
	height: 2px;
	background: #FF3B1F;
}

/* Navegación ------------------------------------------------------------- */

.adv-site-footer__links,
.adv-site-footer__contact {
	margin: 0;
	padding: 0;
	list-style: none;
}

.adv-site-footer__links li {
	margin: 0 0 17px;
	line-height: 1.3;
}

.adv-site-footer__links a {
	color: rgba(255, 255, 255, 0.92);
	font-family: var(--adv-font, 'Encode Sans', Arial, sans-serif);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.32;
}

/* Contacto --------------------------------------------------------------- */

.adv-site-footer__contact {
	margin-top: 17px;
}

.adv-site-footer__contact li {
	margin: 0 0 15px;
}

.adv-site-footer__contact a {
	display: inline-flex;
	align-items: center;
	gap: 16px;
	color: rgba(255, 255, 255, 0.92);
	font-family: var(--adv-font, 'Encode Sans', Arial, sans-serif);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.3;
}

.adv-site-footer__contact .fa {
	width: 27px;
	color: #FF3B1F;
	font-size: 25px;
	text-align: center;
}

/* ==========================================================================
   ZONA LEGAL
   ========================================================================== */

.adv-site-footer__bottom {
	padding: 0 18px 27px;
}

.adv-site-footer__rule {
	position: relative;
	height: 2px;
	margin: 0 0 27px;
	background: #FF3B1F;
}

.adv-site-footer__rule:after {
	content: "";
	position: absolute;
	top: 50%;
	right: -1px;
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: #FF3B1F;
	transform: translateY(-50%);
}

.adv-site-footer__legal {
	display: grid;
	grid-template-columns: minmax(280px, 1fr) auto;
	align-items: center;
	gap: 28px;
}

.adv-site-footer__copyright {
	margin: 0;
	color: rgba(255, 255, 255, 0.84);
	font-family: var(--adv-font, 'Encode Sans', Arial, sans-serif);
	font-size: 13px;
	font-weight: 400;
	line-height: 1.4;
}

.adv-site-footer__legal-links {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
}

.adv-site-footer__legal-links li {
	display: flex;
	align-items: center;
	margin: 0;
}

.adv-site-footer__legal-links li + li:before {
	content: "";
	display: inline-block;
	width: 1px;
	height: 18px;
	margin: 0 22px;
	background: rgba(255, 255, 255, 0.55);
}

.adv-site-footer__legal-links a {
	color: rgba(255, 255, 255, 0.84);
	font-family: var(--adv-font, 'Encode Sans', Arial, sans-serif);
	font-size: 13px;
	font-weight: 400;
	line-height: 1.4;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 1199px) {
	footer.adv-site-footer > .adv-site-footer__shell,
	footer.adv-site-footer > .container.adv-site-footer__shell {
		width: calc(100% - 40px);
	}

	.adv-footer-help {
		grid-template-columns: 75px minmax(0, 1fr) 1px 265px;
		padding: 27px 28px 27px 32px;
	}

	.adv-footer-help__copy h2 {
		font-size: 31px;
	}

	.adv-footer-help__copy p {
		font-size: 17px;
	}

	.adv-footer-help__action {
		padding-left: 24px;
	}

	.adv-footer-help__button {
		width: 235px;
		font-size: 18px;
	}

	.adv-site-footer__main {
		grid-template-columns: 1.15fr 0.85fr;
		min-height: 0;
	}

	.adv-site-footer__col,
	.adv-site-footer__col:first-child {
		padding: 31px 34px 37px;
	}

	.adv-site-footer__col + .adv-site-footer__col {
		border-left: 0;
	}

	.adv-site-footer__col:nth-child(even) {
		border-left: 1px solid rgba(255, 255, 255, 0.25);
	}

	.adv-site-footer__col:nth-child(n+3) {
		border-top: 1px solid rgba(255, 255, 255, 0.16);
	}

	.adv-site-footer__legal {
		grid-template-columns: 1fr;
	}

	.adv-site-footer__legal-links {
		justify-content: flex-start;
	}
}

@media (max-width: 767px) {
	footer.adv-site-footer {
		padding-top: 24px;
	}

	footer.adv-site-footer > .adv-site-footer__shell,
	footer.adv-site-footer > .container.adv-site-footer__shell {
		width: calc(100% - 30px);
	}

	.adv-footer-help {
		display: block;
		min-height: 0;
		padding: 25px 21px 23px;
	}

	.adv-footer-help__icon {
		margin-bottom: 20px;
	}

	.adv-footer-help__bubble {
		width: 52px;
		height: 45px;
		font-size: 29px;
	}

	.adv-footer-help__copy {
		padding: 0;
	}

	.adv-footer-help__copy h2 {
		font-size: 28px;
		line-height: 1.08;
	}

	.adv-footer-help__copy p {
		font-size: 16px;
		line-height: 1.5;
	}

	.adv-footer-help__separator,
	.adv-footer-help__network {
		display: none;
	}

	.adv-footer-help__action {
		display: block;
		padding: 23px 0 0;
	}

	.adv-footer-help__button {
		width: 100%;
		min-height: 58px;
		font-size: 17px;
	}

	.adv-site-footer__main {
		display: block;
		margin-top: 38px;
	}

	.adv-site-footer__col,
	.adv-site-footer__col:first-child {
		padding: 27px 7px 31px;
		border: 0 !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.16) !important;
	}

	.adv-site-footer__logo {
		width: min(285px, 100%);
		margin-bottom: 21px;
	}

	.adv-site-footer__claim {
		max-width: 100%;
		margin-bottom: 23px;
		font-size: 16px;
		line-height: 1.56;
	}

	.adv-site-footer__social {
		gap: 27px;
	}

	.adv-site-footer__social a {
		font-size: 27px;
	}

	.adv-site-footer__title {
		margin-bottom: 22px;
		font-size: 22px;
	}

	.adv-site-footer__links li {
		margin-bottom: 14px;
	}

	.adv-site-footer__links a,
	.adv-site-footer__contact a {
		font-size: 16px;
	}

	.adv-site-footer__contact .fa {
		width: 25px;
		font-size: 23px;
	}

	.adv-site-footer__bottom {
		padding: 27px 7px 24px;
	}

	.adv-site-footer__rule {
		margin-bottom: 25px;
	}

	.adv-site-footer__legal {
		display: block;
	}

	.adv-site-footer__copyright {
		margin-bottom: 21px;
		font-size: 13px;
	}

	.adv-site-footer__legal-links {
		display: block;
	}

	.adv-site-footer__legal-links li {
		display: block;
		margin-bottom: 11px;
	}

	.adv-site-footer__legal-links li + li:before {
		display: none;
	}

	.adv-site-footer__legal-links a {
		font-size: 13px;
	}
}











/* ==========================================================================
   ADVERYON ESPAÑA — HEADER + MEGAMENÚS + MODAL CTA 2026 · ENCODE SANS

   

   Criterio visual:
   - Background del header: full width.
   - Contenido del header: boxed a 1240px.
   - Header sticky.
   - Megamenús boxed, no full width.

   - Modal CTA centrado bajo el header.
   ========================================================================== */

:root {
	--adv-header-height: 86px;
	--adv-header-z: 1200;
	--adv-header-bg: #FFFFFF;
	--adv-header-border: #E2E8F0;
	--adv-header-ink: #0B1739;
	--adv-header-muted: #586987;
	--adv-header-shadow: 0 7px 24px rgba(11, 23, 57, 0.07);
	--adv-mega-shadow: 0 20px 50px rgba(11, 23, 57, 0.14);
}

/* Ayuda a que los anclajes no queden ocultos bajo el sticky header. */
html {
	scroll-padding-top: calc(var(--adv-header-height) + 16px);
}

/* ==========================================================================
   01. HEADER FULL WIDTH + CONTENIDO BOXED
   ========================================================================== */

.adv-site-header {
	position: sticky;
	top: 0;
	z-index: var(--adv-header-z);
	width: 100%;
	min-height: var(--adv-header-height);
	border: 0;
	border-bottom: 1px solid var(--adv-header-border);
	background: var(--adv-header-bg);
	box-shadow: 0 4px 18px rgba(11, 23, 57, 0.055);
	font-family: var(--adv-font, 'Encode Sans', Arial, Helvetica, sans-serif);
}

.adv-site-header,
.adv-site-header * {
	box-sizing: border-box;
}

.adv-site-header__shell {
	position: relative;
	display: flex;
	align-items: stretch;
	width: calc(100% - 48px);
	max-width: 1240px;
	min-height: var(--adv-header-height);
	margin-right: auto;
	margin-left: auto;
}

/* ==========================================================================
   02. LOGO
   ========================================================================== */

.adv-site-header__brand {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	margin-right: auto;
	padding-right: 34px;
}

.adv-site-header__brand a {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}

.adv-site-header__logo {
	display: block;
	width: auto;
	max-width: 222px;
	max-height: 58px;
	height: auto;
}

/* ==========================================================================
   03. NAVEGACIÓN DESKTOP
   ========================================================================== */

.adv-site-header__nav {
	display: flex;
	align-items: stretch;
	margin: 0;
	padding: 0;
}

.adv-site-header__menu {
	display: flex;
	align-items: stretch;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.adv-site-header__item {
	position: static;
	display: flex;
	align-items: stretch;
	margin: 0;
	padding: 0;
}

.adv-site-header__link {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: var(--adv-header-height);
	padding: 0 21px;
	border: 0;
	background: transparent;
	color: var(--adv-header-ink);
	font-family: var(--adv-font-display, 'Encode Sans Semi Condensed', 'Encode Sans', Arial, sans-serif);
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	text-decoration: none;
	cursor: pointer;
	transition:
		color 180ms ease,
		background-color 180ms ease;
}

/* Campañas/Ayuda son botones reales: evita navegación "#" y conflictos de Bootstrap. */
button.adv-site-header__link {
	appearance: none;
	-webkit-appearance: none;
	margin: 0;
	outline: 0;
}

.adv-site-header__link:hover,
.adv-site-header__link:focus,
.adv-site-header__item.is-open > .adv-site-header__link,
.adv-site-header__link[aria-expanded="true"] {
	color: #FF3B1F;
	background: transparent;
	text-decoration: none;
}

.adv-site-header__link:after {
	content: "";
	position: absolute;
	right: 18px;
	bottom: -1px;
	left: 18px;
	height: 3px;
	background: #FF3B1F;
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 180ms ease;
}

.adv-site-header__link:hover:after,
.adv-site-header__link:focus:after,
.adv-site-header__item.is-open > .adv-site-header__link:after,
.adv-site-header__link[aria-expanded="true"]:after {
	transform: scaleX(1);
}

/* Flecha de dropdown sin depender de Font Awesome. */
.adv-site-header__chevron {
	display: inline-block;
	width: 8px;
	height: 8px;
	margin-top: -4px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform 180ms ease;
}

.adv-site-header__item.is-open .adv-site-header__chevron,
.adv-site-header__link[aria-expanded="true"] .adv-site-header__chevron {
	margin-top: 4px;
	transform: rotate(225deg);
}

/* ==========================================================================
   04. CTA DEL HEADER
   ========================================================================== */

.adv-site-header__cta-wrap {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	margin-left: 28px;
}

.adv-site-header__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 190px;
	min-height: 52px;
	padding: 14px 25px;
	border: 1px solid #FF3B1F;
	border-radius: 2px;
	background: #FF3B1F;
	color: #FFFFFF !important;
	font-family: var(--adv-font-display, 'Encode Sans Semi Condensed', 'Encode Sans', Arial, sans-serif);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.15;
	white-space: nowrap;
	text-decoration: none !important;
	box-shadow: none;
	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		transform 180ms ease;
}

.adv-site-header__cta:hover,
.adv-site-header__cta:focus {
	border-color: #D92D15;
	background: #D92D15;
	color: #FFFFFF !important;
	transform: translateY(-1px);
}

/* ==========================================================================
   05. BASE DE LOS MEGAMENÚS
   ========================================================================== */

.adv-header-mega {
	position: absolute;
	top: calc(100% + 1px);
	z-index: calc(var(--adv-header-z) + 10);
	display: none;
	margin: 0;
	padding: 0;
	border: 1px solid #DCE2EA;
	border-radius: 0;
	background: #FFFFFF;
	box-shadow: var(--adv-mega-shadow);
	color: var(--adv-header-ink);
	white-space: normal;
}

.adv-site-header__item.is-open > .adv-header-mega {
	display: block;
}






/* Megamenú Campañas: ancho visual similar a la referencia. */
.adv-header-mega--campaigns {
	left: 190px;
	right: 190px;
	width: auto;
	max-width: none;
	transform: none;
}

/* Megamenú Ayuda: más estrecho y alineado hacia la derecha. */
.adv-header-mega--help {
	right: 0;
	left: auto;
	width: 500px;
	max-width: calc(100% - 24px);
}

/* ==========================================================================
   06. MEGAMENÚ CAMPAÑAS
   ========================================================================== */

.adv-mega-campaigns {
	padding: 34px 36px 31px;
}

.adv-mega-campaigns__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.adv-mega-campaigns__col {
	min-width: 0;
	padding: 0 32px 3px 12px;
}

.adv-mega-campaigns__col + .adv-mega-campaigns__col {
	padding-right: 12px;
	padding-left: 38px;
	border-left: 1px solid #D8DEE7;
}

.adv-mega__title {
	margin: 0 0 15px;
	color: var(--adv-header-ink);
	font-family: var(--adv-font-display, 'Encode Sans Semi Condensed', 'Encode Sans', Arial, sans-serif);
	font-size: 23px;
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.005em;
}

.adv-mega__text {
	margin: 0 0 25px;
	color: var(--adv-header-muted);
	font-family: var(--adv-font, 'Encode Sans', Arial, sans-serif);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.52;
}

.adv-mega__action {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	color: #FF3B1F !important;
	font-family: var(--adv-font-display, 'Encode Sans Semi Condensed', 'Encode Sans', Arial, sans-serif);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none !important;
}

.adv-mega__action:hover,
.adv-mega__action:focus {
	color: #D92D15 !important;
}

.adv-mega__arrow {
	position: relative;
	display: inline-block;
	width: 22px;
	height: 14px;
	flex: 0 0 22px;
}

.adv-mega__arrow:before {
	content: "";
	position: absolute;
	top: 6px;
	left: 0;
	width: 20px;
	height: 2px;
	background: currentColor;
}

.adv-mega__arrow:after {
	content: "";
	position: absolute;
	top: 2px;
	right: 0;
	width: 8px;
	height: 8px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	transform: rotate(45deg);
}

/* Caja informativa inferior del megamenú. */
.adv-mega-campaigns__note {
	margin-top: 27px;
	padding: 21px 24px;
	border: 1px solid #FF3B1F;
	background: #FFFFFF;
}

.adv-mega-campaigns__note strong {
	display: block;
	margin-bottom: 7px;
	color: var(--adv-header-ink);
	font-family: var(--adv-font-display, 'Encode Sans Semi Condensed', 'Encode Sans', Arial, sans-serif);
	font-size: 18px;
	font-weight: 800;
	line-height: 1.22;
}

.adv-mega-campaigns__note p {
	margin: 0;
	color: var(--adv-header-muted);
	font-size: 14px;
	line-height: 1.50;
}

/* ==========================================================================
   07. MEGAMENÚ AYUDA
   ========================================================================== */

.adv-mega-help {
	padding: 27px 30px 25px;
}

.adv-mega-help__item {
	padding: 0 0 21px;
}

.adv-mega-help__item + .adv-mega-help__item {
	padding-top: 21px;
	border-top: 1px solid #D8DEE7;
}

.adv-mega-help__item .adv-mega__title {
	margin-bottom: 8px;
	font-size: 23px;
}

.adv-mega-help__item .adv-mega__text {
	margin-bottom: 0;
	font-size: 16px;
	line-height: 1.5;
}

.adv-mega-help__bottom {
	margin-top: 2px;
	padding-top: 22px;
	border-top: 1px solid #D8DEE7;
}

.adv-mega-help__bottom a {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--adv-header-ink) !important;
	font-family: var(--adv-font-display, 'Encode Sans Semi Condensed', 'Encode Sans', Arial, sans-serif);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.25;
	text-decoration: none !important;
}

.adv-mega-help__bottom a:hover,
.adv-mega-help__bottom a:focus {
	color: #FF3B1F !important;
}

/* ==========================================================================
   08. MODAL CTA FINAL
   La cabecera queda visible, como en la referencia.
   ========================================================================== */

.adv-campaign-modal {
	position: fixed;
	z-index: calc(var(--adv-header-z) - 5);
	top: var(--adv-header-height);
	right: 0;
	bottom: 0;
	left: 0;
	display: none;
	align-items: flex-start;
	justify-content: center;
	overflow-x: hidden;
	overflow-y: auto;
	padding: 48px 24px;
	background: rgba(237, 240, 244, 0.82);
	backdrop-filter: blur(1.5px);
	-webkit-backdrop-filter: blur(1.5px);
}

.adv-campaign-modal.is-open,
.adv-campaign-modal.in,
.adv-campaign-modal[aria-hidden="false"] {
	display: flex;
}

.adv-campaign-modal__dialog {
	position: relative;
	width: min(780px, 100%);
	margin: 0 auto;
	padding: 49px 40px 34px;
	border: 1px solid #D8DEE7;
	border-radius: 0;
	background: #FFFFFF;
	box-shadow: 0 22px 60px rgba(11, 23, 57, 0.15);
	text-align: center;
}

.adv-campaign-modal__close {
	position: absolute;
	top: 20px;
	right: 25px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #111827;
	font-family: var(--adv-font, 'Encode Sans', Arial, sans-serif);
	font-size: 30px;
	font-weight: 400;
	line-height: 1;
	cursor: pointer;
}

.adv-campaign-modal__close:hover,
.adv-campaign-modal__close:focus {
	color: #FF3B1F;
}

.adv-campaign-modal__eyebrow {
	margin: 0 0 22px;
	color: var(--adv-header-muted);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
}

.adv-campaign-modal__title {
	margin: 0 0 13px;
	color: var(--adv-header-ink);
	font-family: var(--adv-font-display, 'Encode Sans Semi Condensed', 'Encode Sans', Arial, sans-serif);
	font-size: clamp(34px, 4vw, 43px);
	font-weight: 800;
	line-height: 1.04;
	letter-spacing: -0.012em;
}

.adv-campaign-modal__text {
	max-width: 620px;
	margin: 0 auto 29px;
	color: var(--adv-header-muted);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.50;
}

.adv-campaign-modal__actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 32px;
	max-width: 600px;
	margin: 0 auto 32px;
}

.adv-campaign-modal__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 62px;
	padding: 14px 22px;
	border-radius: 0;
	font-family: var(--adv-font, 'Encode Sans', Arial, sans-serif);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.15;
	text-decoration: none !important;
}

.adv-campaign-modal__btn--primary {
	border: 1px solid #FF3B1F;
	background: #FF3B1F;
	color: #FFFFFF !important;
}

.adv-campaign-modal__btn--primary:hover,
.adv-campaign-modal__btn--primary:focus {
	border-color: #D92D15;
	background: #D92D15;
	color: #FFFFFF !important;
}

.adv-campaign-modal__btn--secondary {
	border: 1px solid var(--adv-header-ink);
	background: #FFFFFF;
	color: var(--adv-header-ink) !important;
}

.adv-campaign-modal__btn--secondary:hover,
.adv-campaign-modal__btn--secondary:focus {
	border-color: #FF3B1F;
	color: #FF3B1F !important;
}

.adv-campaign-modal__more {
	padding-top: 24px;
	border-top: 1px solid #D8DEE7;
}

.adv-campaign-modal__more p {
	margin: 0 0 5px;
	color: var(--adv-header-muted);
	font-size: 15px;
	line-height: 1.4;
}

.adv-campaign-modal__more a {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: #FF3B1F !important;
	font-size: 16px;
	font-weight: 600;
	text-decoration: none !important;
}

.adv-campaign-modal__more a:hover,
.adv-campaign-modal__more a:focus {
	color: #D92D15 !important;
}

/* Bloqueo de scroll opcional al abrir modal. */
body.adv-modal-open {
	overflow: hidden;
}

/* ==========================================================================
   09. BOTÓN MÓVIL
   ========================================================================== */

.adv-site-header__toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	margin: auto 0 auto 16px;
	padding: 0;
	border: 1px solid var(--adv-header-border);
	border-radius: 2px;
	background: #FFFFFF;
	color: var(--adv-header-ink);
	cursor: pointer;
}

.adv-site-header__toggle-lines,
.adv-site-header__toggle-lines:before,
.adv-site-header__toggle-lines:after {
	position: relative;
	display: block;
	width: 21px;
	height: 2px;
	background: currentColor;
}

.adv-site-header__toggle-lines:before,
.adv-site-header__toggle-lines:after {
	content: "";
	position: absolute;
	left: 0;
}

.adv-site-header__toggle-lines:before {
	top: -7px;
}

.adv-site-header__toggle-lines:after {
	top: 7px;
}

.adv-site-header__toggle-lines,
.adv-site-header__toggle-lines:before,
.adv-site-header__toggle-lines:after {
	transition:
		top 180ms ease,
		transform 180ms ease,
		background-color 180ms ease;
}

.adv-site-header.is-menu-open .adv-site-header__toggle-lines {
	background: transparent;
}

.adv-site-header.is-menu-open .adv-site-header__toggle-lines:before {
	top: 0;
	transform: rotate(45deg);
}

.adv-site-header.is-menu-open .adv-site-header__toggle-lines:after {
	top: 0;
	transform: rotate(-45deg);
}



/* ==========================================================================
   09B. DESPLEGABLES POR MOUSEOVER — ESCRITORIO
   Sistema propio del header, independiente de Bootstrap.
   Mantiene soporte de teclado mediante :focus-within.
   ========================================================================== */

@media (min-width: 992px) {
	.adv-site-header__item--submenu:hover > .adv-header-mega,
	.adv-site-header__item--submenu:focus-within > .adv-header-mega {
		display: block;
	}

	.adv-site-header__item--submenu:hover > .adv-site-header__link,
	.adv-site-header__item--submenu:focus-within > .adv-site-header__link {
		color: #FF3B1F;
	}

	.adv-site-header__item--submenu:hover > .adv-site-header__link:after,
	.adv-site-header__item--submenu:focus-within > .adv-site-header__link:after {
		transform: scaleX(1);
	}

	.adv-site-header__item--submenu:hover .adv-site-header__chevron,
	.adv-site-header__item--submenu:focus-within .adv-site-header__chevron {
		margin-top: 4px;
		transform: rotate(225deg);
	}

	/* Puente invisible para mantener el hover al entrar al megamenú. */
	.adv-site-header__item--submenu > .adv-header-mega:before {
		content: "";
		position: absolute;
		top: -8px;
		right: 0;
		left: 0;
		height: 8px;
	}
}

/* ==========================================================================
   10. RESPONSIVE
   ========================================================================== */

@media (max-width: 1199px) {
	:root {
		--adv-header-height: 86px;
	}

	.adv-site-header__shell {
		width: calc(100% - 40px);
	}

	.adv-site-header__logo {
		max-width: 215px;
		max-height: 58px;
	}

	.adv-site-header__brand {
		padding-right: 24px;
	}

	.adv-site-header__link {
		padding-right: 16px;
		padding-left: 16px;
		font-size: 17px;
	}

	.adv-site-header__cta-wrap {
		margin-left: 20px;
	}

	.adv-site-header__cta {
		min-width: 184px;
		min-height: 52px;
		padding-right: 20px;
		padding-left: 20px;
		font-size: 17px;
	}

	.adv-header-mega--campaigns {
		left: 90px;
		right: 90px;
		width: auto;
		transform: none;
	}

	.adv-header-mega--help {
		right: 0;
		left: auto;
		width: 470px;
		max-width: calc(100% - 12px);
	}
}

@media (max-width: 991px) {
	:root {
		--adv-header-height: 74px;
	}

	.adv-site-header__shell {
		flex-wrap: wrap;
		align-items: center;
		width: calc(100% - 30px);
		min-height: var(--adv-header-height);
	}

	.adv-site-header__brand {
		min-height: var(--adv-header-height);
		padding-right: 12px;
	}

	.adv-site-header__logo {
		max-width: 190px;
		max-height: 52px;
	}

	.adv-site-header__cta-wrap {
		margin-left: auto;
	}

	.adv-site-header__cta {
		min-width: 0;
		min-height: 46px;
		padding: 11px 16px;
		font-size: 15px;
	}

	.adv-site-header__toggle {
		display: inline-flex;
	}

	.adv-site-header__nav {
		display: none;
		flex: 0 0 100%;
		width: 100%;
		max-height: calc(100dvh - var(--adv-header-height));
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
		border-top: 1px solid var(--adv-header-border);
		background: #FFFFFF;
	}

	.adv-site-header.is-menu-open .adv-site-header__nav,
	.adv-site-header__nav.in,
	.adv-site-header__nav.show {
		display: block;
	}

	.adv-site-header__menu {
		display: block;
		width: 100%;
		padding: 8px 0 14px;
	}

	.adv-site-header__item {
		display: block;
		width: 100%;
	}

	.adv-site-header__link {
		justify-content: space-between;
		width: 100%;
		min-height: 50px;
		padding: 13px 4px;
		font-size: 16px;
	}

	.adv-site-header__link:after {
		right: 0;
		left: 0;
		height: 2px;
	}

	.adv-header-mega,
	.adv-header-mega--campaigns,
	.adv-header-mega--help {
		position: static;
		top: auto;
		right: auto;
		left: auto;
		width: 100%;
		max-width: none;
		transform: none;
		border-right: 0;
		border-left: 0;
		box-shadow: none;
	}

	.adv-mega-campaigns,
	.adv-mega-help {
		padding: 25px 10px 26px;
	}

	.adv-mega-campaigns__grid {
		display: block;
	}

	.adv-mega-campaigns__col,
	.adv-mega-campaigns__col + .adv-mega-campaigns__col {
		padding: 0 0 24px;
		border-left: 0;
	}

	.adv-mega-campaigns__col + .adv-mega-campaigns__col {
		padding-top: 23px;
		border-top: 1px solid #D8DEE7;
	}

	.adv-mega-campaigns__note {
		margin-top: 3px;
	}

	.adv-campaign-modal {
		top: var(--adv-header-height);
		padding: 28px 18px;
	}

	.adv-campaign-modal__dialog {
		padding: 48px 27px 31px;
	}
}

@media (max-width: 575px) {
	.adv-site-header__logo {
		max-width: 160px;
	}

	.adv-site-header__cta {
		display: none;
	}

	.adv-site-header__toggle {
		margin-left: auto;
	}

	.adv-mega__title {
		font-size: 22px;
	}

	.adv-mega__text,
	.adv-mega__action {
		font-size: 15px;
	}

	.adv-campaign-modal {
		padding: 18px 12px;
	}

	.adv-campaign-modal__dialog {
		padding: 47px 20px 25px;
	}

	.adv-campaign-modal__close {
		top: 12px;
		right: 15px;
	}

	.adv-campaign-modal__eyebrow {
		margin-bottom: 17px;
		font-size: 14px;
	}

	.adv-campaign-modal__title {
		font-size: 32px;
	}

	.adv-campaign-modal__text {
		margin-bottom: 23px;
		font-size: 16px;
	}

	.adv-campaign-modal__actions {
		display: block;
		margin-bottom: 25px;
	}

	.adv-campaign-modal__btn {
		width: 100%;
		min-height: 56px;
		font-size: 16px;
	}

	.adv-campaign-modal__btn + .adv-campaign-modal__btn {
		margin-top: 12px;
	}
}























/* ==========================================================================
   ADVERYON ESPAÑA 2026
   CONTACTO
   Página A especial
   ========================================================================== */

.adv-contact {
	--contact-orange: #FF3B1F;
	--contact-navy: #00102A;
	--contact-text: #1E293B;
	--contact-muted: #64748B;
	--contact-line: #E2E8F0;
	--contact-light: #F8FAFC;

	background: #fff;
	color: var(--contact-text);
}


/* ==========================================================================
   CONTAINER
   ========================================================================== */

.adv-contact .adv-container {
	width: calc(100% - 40px);
	max-width: 1240px;
	margin: 0 auto;
}


/* ==========================================================================
   HERO
   ========================================================================== */

.adv-contact-hero {
	position: relative;
	width: 100%;
	height: 350px;
	min-height: 250px;
	overflow: hidden;

	background:
		linear-gradient(
			90deg,
			rgba(248,250,252,.99) 0%,
			rgba(248,250,252,.96) 34%,
			rgba(248,250,252,.78) 58%,
			rgba(248,250,252,.56) 100%
		),
		url('/image/catalog/adveryon/contacto/contacto-adveryon-hero.png')
		center right / cover no-repeat;
}

/*
 * La imagen ideal:
 * - auriculares / atención
 * - smartphone / mensajería
 * - persona atendiendo o conversación profesional
 * - muy clara y desaturada
 */

.adv-contact-hero .adv-container {
	height: 100%;
	display: flex;
	align-items: center;
}

.adv-contact-hero__content {
	width: 430px;
	max-width: 100%;
}

.adv-contact-hero h1 {
	margin: 0;

	font-family:
		'Encode Sans Semi Condensed',
		'Encode Sans',
		Arial,
		sans-serif;

	font-size: 46px;
	line-height: 1.05;
	font-weight: 800;
	letter-spacing: -.02em;
	color: var(--contact-navy);
}

.adv-title-line {
	display: block;
	width: 42px;
	height: 2px;
	margin: 20px 0 22px;
	background: var(--contact-orange);
}

.adv-contact-hero p {
	margin: 0;

	font-family:
		'Encode Sans',
		Arial,
		sans-serif;

	font-size: 17px;
	line-height: 1.65;
	font-weight: 400;
	color: #53627A;
}


/* ==========================================================================
   CONTACT CHANNELS
   ========================================================================== */

.adv-contact-channels {
	padding: 58px 0 0;
	background: #fff;
}

.adv-contact-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 26px;
}

.adv-contact-card {
	position: relative;

	min-height: 270px;
	padding: 42px 24px 34px;

	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	background: #fff;

	border: 1px solid var(--contact-line);
	border-radius: 0;

	color: var(--contact-navy);
	text-decoration: none;

	box-shadow:
		0 8px 24px rgba(15,23,42,.035);

	transition:
		border-color .2s ease,
		box-shadow .2s ease,
		transform .2s ease;
}

.adv-contact-card:hover,
.adv-contact-card:focus {
	color: var(--contact-navy);
	text-decoration: none;

	border-bottom-color: var(--contact-orange);

	box-shadow:
		0 14px 32px rgba(15,23,42,.07);

	transform: translateY(-2px);
}

.adv-contact-card__icon {
	min-height: 58px;
	margin-bottom: 20px;

	display: flex;
	align-items: center;
	justify-content: center;

	font-size: 48px;
	line-height: 1;
	color: var(--contact-orange);
}

.adv-contact-card h2 {
	margin: 0 0 16px;

	font-family:
		'Encode Sans Semi Condensed',
		'Encode Sans',
		Arial,
		sans-serif;

	font-size: 22px;
	line-height: 1.2;
	font-weight: 700;
	color: var(--contact-navy);
}

.adv-contact-card__value {
	display: block;

	font-family:
		'Encode Sans',
		Arial,
		sans-serif;

	font-size: 24px;
	line-height: 1.25;
	font-weight: 500;
	color: var(--contact-navy);
}

.adv-contact-card__value--email {
	font-size: 20px;
}

.adv-contact-card__accent {
	display: block;

	width: 42px;
	height: 2px;

	margin-top: 28px;

	background: var(--contact-orange);
}


/* ==========================================================================
   HORARIO
   ========================================================================== */

.adv-contact-hours {
	position: relative;
	min-height: 145px;
	margin-top: 30px;
	padding: 30px 44px;

	display: grid;
	grid-template-columns: 80px 1fr 1px 300px;
	align-items: center;
	gap: 28px;

	overflow: hidden;

	background:
		linear-gradient(
			90deg,
			#00102A 0%,
			#021A3B 62%,
			#061B38 100%
		);

	color: #fff;

	border-radius: 0;
}

.adv-contact-hours__icon {
	width: 68px;
	height: 68px;

	display: flex;
	align-items: center;
	justify-content: center;

	border: 3px solid var(--contact-orange);
	border-radius: 50%;

	font-size: 34px;
	color: var(--contact-orange);
}

.adv-contact-hours__content {
	position: relative;
	z-index: 2;
}

.adv-contact-hours__content h2 {
	margin: 0 0 7px;

	font-family:
		'Encode Sans Semi Condensed',
		'Encode Sans',
		Arial,
		sans-serif;

	font-size: 22px;
	line-height: 1.2;
	font-weight: 700;
	color: #fff;
}

.adv-contact-hours__content p {
	margin: 0;

	font-family:
		'Encode Sans',
		Arial,
		sans-serif;

	font-size: 17px;
	line-height: 1.55;
	font-weight: 400;
	color: #fff;
}

.adv-contact-hours__content p span {
	display: block;
	margin-top: 2px;
	color: rgba(255,255,255,.75);
}

.adv-contact-hours__separator {
	width: 1px;
	height: 70px;
	background: rgba(255,255,255,.65);
}


/* Decorative network */

.adv-contact-hours__network {
	position: absolute;
	right: 0;
	top: 0;

	width: 330px;
	height: 100%;

	opacity: .45;
}

.adv-contact-hours__network .node {
	position: absolute;
	width: 8px;
	height: 8px;

	background: var(--contact-orange);
	border-radius: 50%;
}

.node--1 { left: 35px;  top: 70px; }
.node--2 { left: 100px; top: 38px; }
.node--3 { left: 160px; top: 72px; }
.node--4 { left: 220px; top: 32px; }
.node--5 { left: 285px; top: 70px; }

.adv-contact-hours__network .connection {
	position: absolute;
	height: 1px;

	background: rgba(255,59,31,.7);

	transform-origin: left center;
}

.connection--1 {
	width: 72px;
	left: 39px;
	top: 72px;
	transform: rotate(-25deg);
}

.connection--2 {
	width: 70px;
	left: 104px;
	top: 41px;
	transform: rotate(28deg);
}

.connection--3 {
	width: 70px;
	left: 164px;
	top: 73px;
	transform: rotate(-31deg);
}

.connection--4 {
	width: 72px;
	left: 224px;
	top: 35px;
	transform: rotate(30deg);
}


/* ==========================================================================
   INFORMACIÓN ÚTIL
   ========================================================================== */

.adv-contact-info {
	padding: 54px 0 72px;
	background: #fff;
}

.adv-contact-info__box {
	padding: 44px 44px 46px;

	background:
		linear-gradient(
			90deg,
			#FAFBFC 0%,
			#F7F9FC 100%
		);

	border: 1px solid #F0F2F5;
	border-radius: 0;
}

.adv-contact-info__heading {
	max-width: 690px;
}

.adv-contact-info__heading h2 {
	margin: 0;

	font-family:
		'Encode Sans Semi Condensed',
		'Encode Sans',
		Arial,
		sans-serif;

	font-size: 31px;
	line-height: 1.15;
	font-weight: 700;
	color: var(--contact-navy);
}

.adv-contact-info__heading .adv-title-line {
	margin: 14px 0 18px;
	width: 38px;
}

.adv-contact-info__heading p {
	margin: 0;

	font-family:
		'Encode Sans',
		Arial,
		sans-serif;

	font-size: 16px;
	line-height: 1.65;
	color: var(--contact-muted);
}

.adv-contact-info__grid {
	margin-top: 42px;

	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

.adv-contact-info-item {
	position: relative;
	padding: 0 30px;
}

.adv-contact-info-item:first-child {
	padding-left: 0;
}

.adv-contact-info-item:last-child {
	padding-right: 0;
}

.adv-contact-info-item + .adv-contact-info-item {
	border-left: 1px solid #DDE3EA;
}

.adv-contact-info-item__icon {
	height: 55px;
	margin-bottom: 17px;

	display: flex;
	align-items: center;

	font-size: 42px;
	line-height: 1;

	color: var(--contact-orange);
}

.adv-contact-info-item h3 {
	margin: 0 0 12px;

	font-family:
		'Encode Sans Semi Condensed',
		'Encode Sans',
		Arial,
		sans-serif;

	font-size: 20px;
	line-height: 1.25;
	font-weight: 700;
	color: var(--contact-navy);
}

.adv-contact-info-item p {
	margin: 0;

	font-family:
		'Encode Sans',
		Arial,
		sans-serif;

	font-size: 15px;
	line-height: 1.65;
	color: var(--contact-muted);
}


/* ==========================================================================
   TABLET
   ========================================================================== */

@media (max-width: 991px) {

	.adv-contact-hero {
		height: 220px;
		min-height: 220px;
	}

	.adv-contact-hero h1 {
		font-size: 40px;
	}

	.adv-contact-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.adv-contact-hours {
		grid-template-columns: 70px 1fr;
	}

	.adv-contact-hours__separator,
	.adv-contact-hours__network {
		display: none;
	}

	.adv-contact-info__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 36px 0;
	}

	.adv-contact-info-item:nth-child(3) {
		border-left: 0;
		padding-left: 0;
	}

}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 767px) {

	.adv-contact .adv-container {
		width: calc(100% - 30px);
	}

	.adv-contact-hero {
		height: 190px;
		min-height: 190px;

		background-position: 65% center;
	}

	.adv-contact-hero__content {
		width: 62%;
	}

	.adv-contact-hero h1 {
		font-size: 34px;
	}

	.adv-contact-hero p {
		font-size: 14px;
		line-height: 1.5;
	}

	.adv-contact-hero p br {
		display: none;
	}

	.adv-title-line {
		margin: 12px 0 14px;
	}

	.adv-contact-channels {
		padding-top: 36px;
	}

	.adv-contact-grid {
		grid-template-columns: 1fr;
		gap: 15px;
	}

	.adv-contact-card {
		min-height: 175px;
		padding: 25px 20px;
	}

	.adv-contact-card__icon {
		min-height: 42px;
		margin-bottom: 10px;
		font-size: 36px;
	}

	.adv-contact-card h2 {
		margin-bottom: 8px;
		font-size: 20px;
	}

	.adv-contact-card__value {
		font-size: 21px;
	}

	.adv-contact-card__accent {
		margin-top: 17px;
	}

	.adv-contact-hours {
		margin-top: 20px;
		padding: 24px;

		grid-template-columns: 52px 1fr;
		gap: 18px;
	}

	.adv-contact-hours__icon {
		width: 50px;
		height: 50px;
		font-size: 25px;
		border-width: 2px;
	}

	.adv-contact-hours__content h2 {
		font-size: 19px;
	}

	.adv-contact-hours__content p {
		font-size: 14px;
	}

	.adv-contact-info {
		padding: 38px 0 50px;
	}

	.adv-contact-info__box {
		padding: 30px 24px;
	}

	.adv-contact-info__heading h2 {
		font-size: 27px;
	}

	.adv-contact-info__grid {
		grid-template-columns: 1fr;
		margin-top: 30px;
		gap: 0;
	}

	.adv-contact-info-item,
	.adv-contact-info-item:first-child,
	.adv-contact-info-item:last-child {
		padding: 25px 0;
		border-left: 0;
	}

	.adv-contact-info-item + .adv-contact-info-item {
		border-left: 0;
		border-top: 1px solid #DDE3EA;
	}

	.adv-contact-info-item__icon {
		height: auto;
		font-size: 34px;
	}

}














/*
 * ADVERYON /PLANES — CSS adicional para contenido.
 * No incluye header, footer ni CTA comercial final.
 * Diseñado para convivir con el CSS global de Adveryon.
 */

:root {
  --adv-orange: #ff3b1f;
  --adv-orange-hover: #ff553d;
  --adv-navy: #071b49;
  --adv-navy-deep: #03142f;
  --adv-ink: #0e1a2c;
  --adv-muted: #607089;
  --adv-line: #d8dee7;
  --adv-line-strong: #b9c4d2;
  --adv-light: #f6f8fb;
  --adv-white: #ffffff;
  --adv-shadow: 0 14px 34px rgba(7,27,73,.09);
  --adv-shadow-strong: 0 20px 52px rgba(7,27,73,.14);
}

.adv-plans-page,
.adv-plans-page * { box-sizing: border-box; }

.adv-plans-page {
  margin: 0;
  color: var(--adv-ink);
  background: var(--adv-white);
  font-family: "Encode Sans", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
}

.adv-plans-page h1,
.adv-plans-page h2,
.adv-plans-page h3,
.adv-plans-page strong,
.adv-plan-card__badge,
.adv-eyebrow {
  font-family: "Encode Sans Semi Condensed", "Encode Sans", Arial, sans-serif;
}

.adv-plans-page h1,
.adv-plans-page h2,
.adv-plans-page h3,
.adv-plans-page p,
.adv-plans-page ul { margin-top: 0; }

.adv-plans-page a { text-decoration: none; }

.adv-plans__container {
  width: min(1240px, calc(100% - 48px));
  margin-inline: auto;
}

.adv-plans__container--narrow { width: min(1120px, calc(100% - 48px)); }

.adv-eyebrow {
  display: inline-block;
  margin-bottom: 12px;
  color: var(--adv-orange);
  font-weight: 700;
  font-size: 13px;
  line-height: 1;
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* HERO TIPO S */
.adv-plans-hero {
  position: relative;
  min-height: 500px;
  overflow: hidden;
  color: var(--adv-white);
  background:
    linear-gradient(90deg, rgba(3,20,47,.97) 0%, rgba(3,20,47,.86) 38%, rgba(3,20,47,.36) 68%, rgba(3,20,47,.22) 100%),
    url('/image/catalog/adveryon/planes/hero-planes-publicitarios.png') center right / cover no-repeat,
    var(--adv-navy-deep);
}

.adv-plans-hero__inner {
  min-height: 500px;
  display: flex;
  align-items: center;
  padding: 70px 0 110px;
}

.adv-plans-hero__copy { width: min(560px, 52%); }

.adv-plans-hero h1 {
  margin-bottom: 18px;
  color: var(--adv-white);
  font-size: clamp(40px, 4.3vw, 64px);
  line-height: 1.02;
  letter-spacing: -.025em;
}

.adv-plans-hero p {
  max-width: 530px;
  margin-bottom: 28px;
  color: rgba(255,255,255,.9);
  font-size: 18px;
}

/* CTA */
.adv-btn {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: 12px 22px;
  border: 1px solid transparent;
  border-radius: 0;
  font-weight: 700;
  line-height: 1;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}

.adv-btn:hover { transform: translateY(-1px); }
.adv-btn--primary { color: #fff; background: var(--adv-orange); border-color: var(--adv-orange); }
.adv-btn--primary:hover { color: #fff; background: var(--adv-orange-hover); border-color: var(--adv-orange-hover); }
.adv-btn--outline { color: var(--adv-orange); background: #fff; border-color: var(--adv-orange); }
.adv-btn--outline:hover { color: #fff; background: var(--adv-orange); }
.adv-btn--small { min-height: 40px; padding: 10px 16px; font-size: 14px; }

/* HERO OVERLAP */
.adv-hero-overlap {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: -62px;
  margin-bottom: 74px;
  background: var(--adv-white);
  border: 1px solid var(--adv-line);
  box-shadow: var(--adv-shadow-strong);
}

.adv-hero-feature {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 16px;
  min-height: 126px;
  align-items: center;
  padding: 24px 26px;
  border-right: 1px solid var(--adv-line);
}
.adv-hero-feature:last-child { border-right: 0; }
.adv-hero-feature strong { display: block; margin-bottom: 6px; color: var(--adv-ink); font-size: 16px; }
.adv-hero-feature span:not(.adv-icon) { display: block; color: var(--adv-muted); font-size: 13px; line-height: 1.45; }

/* ICONOS INLINE SVG */
.adv-icon,
.adv-plan-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--adv-orange);
}
.adv-icon svg,
.adv-plan-card__icon svg {
  width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round;
}
.adv-icon { width: 34px; height: 34px; }
.adv-icon--lg { width: 48px; height: 48px; }
.adv-icon--xl { width: 58px; height: 58px; }
.adv-plan-card__icon { width: 44px; height: 44px; }

/* SECCIONES / AIRE */
.adv-section { padding: 0 0 92px; }
.adv-section--welcome { padding-bottom: 26px; }
.adv-section-divider { width: min(1240px, calc(100% - 48px)); margin: 44px auto 72px; }
.adv-section-divider span { display: block; width: 100%; height: 1px; background: linear-gradient(90deg, transparent, var(--adv-line-strong) 15%, var(--adv-orange) 50%, var(--adv-line-strong) 85%, transparent); }

.adv-section-heading { margin-bottom: 34px; background:none}
.adv-section-heading--center { text-align: center; }
.adv-section-heading h2 { margin-bottom: 8px; color: var(--adv-navy); font-size: clamp(30px, 3vw, 44px); line-height: 1.08; }
.adv-section-heading p { margin-bottom: 0; color: var(--adv-muted); }
.adv-section-heading--inverse h2,
.adv-section-heading--inverse p { color: #fff; }
.adv-section-heading--inverse p { color: rgba(255,255,255,.72); }

/* BIENVENIDA */
.adv-welcome-offer {
  display: grid;
  grid-template-columns: 43% 57%;
  overflow: hidden;
  background: var(--adv-navy-deep);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: var(--adv-shadow-strong);
}

.adv-welcome-offer__price,
.adv-welcome-offer__message { min-height: 330px; padding: 42px 46px; }

.adv-welcome-offer__price { color: #fff; background: linear-gradient(135deg, #071b49 0%, #03142f 100%); }
.adv-welcome-offer__message {
  display: flex;
  gap: 28px;
  align-items: center;
  color: #fff;
  background: linear-gradient(135deg, #0b234f 0%, #071b49 62%, #0d315f 100%);
  border-left: 1px solid rgba(255,255,255,.14);
}

.adv-welcome-kicker { display: inline-block; margin-bottom: 12px; color: #fff; background: var(--adv-orange); padding: 6px 10px; font-size: 12px; font-weight: 700; text-transform: uppercase; }
.adv-welcome-offer h2 { margin-bottom: 8px; color: #fff; font-size: 38px; line-height: 1.05; }
.adv-welcome-offer h3 { margin-bottom: 12px; color: #fff; font-size: 30px; line-height: 1.08; }
.adv-welcome-offer p { color: rgba(255,255,255,.82); }
.adv-welcome-highlight { max-width: 530px; margin: 18px 0 26px; color: #fff !important; font-weight: 700; font-size: 18px; }

.adv-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; margin-bottom: 8px; }
.adv-price strong { color: var(--adv-orange); font-size: 42px; line-height: 1; }
.adv-price span { color: var(--adv-ink); font-size: 15px; font-weight: 700; }
.adv-price--welcome strong { font-size: 60px; }
.adv-price--welcome span { color: #fff; font-size: 18px; }
.adv-price-note { margin-bottom: 0 !important; color: #fff !important; font-weight: 600; }

.adv-welcome-details {
  padding: 30px 34px 26px;
  background: var(--adv-light);
  border: 1px solid var(--adv-line);
  border-top: 0;
}
.adv-welcome-details__note { margin: 22px 0 0; padding-top: 18px; border-top: 1px solid var(--adv-line); color: var(--adv-muted); font-size: 14px; }

/* LISTAS */
.adv-check-list { margin: 0 0 26px; padding: 0; list-style: none; }
.adv-check-list li { position: relative; padding: 7px 0 7px 24px; color: #26364b; }
.adv-check-list li::before { content: "✓"; position: absolute; left: 0; top: 7px; color: var(--adv-orange); font-weight: 800; }
.adv-check-list--grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 36px; }
.adv-check-list--compact { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; margin: 0; }

/* PLANES */
.adv-plan-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }

.adv-plan-card {
  position: relative;
  display: flex;
  min-height: 610px;
  flex-direction: column;
  padding: 38px 34px 30px;
  background: #fff;
  border: 1px solid var(--adv-line-strong);
  box-shadow: 0 12px 30px rgba(7,27,73,.07);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.adv-plan-card:hover { transform: translateY(-5px); border-color: rgba(255,59,31,.55); box-shadow: var(--adv-shadow-strong); }
.adv-plan-card__topline { position: absolute; top: -1px; left: -1px; right: -1px; height: 5px; background: linear-gradient(90deg, var(--adv-navy) 0 72%, var(--adv-orange) 72% 100%); }
.adv-plan-card--featured { border: 2px solid var(--adv-orange); box-shadow: 0 18px 46px rgba(255,59,31,.13); }
.adv-plan-card--featured .adv-plan-card__topline { height: 6px; background: var(--adv-orange); }
.adv-plan-card__badge {position: absolute; top: 0; left: 50%; transform: translate(-50%,-50%); padding: 7px 18px; color: #fff; background: var(--adv-orange); font-size: 11px; letter-spacing: .04em; }
.adv-plan-card__header { min-height: 220px; }
.adv-plan-card__header h3 { margin: 12px 0 12px; color: var(--adv-navy); font-size: 30px; text-transform: uppercase; }
.adv-plan-card__header p { color: var(--adv-muted); }
.adv-plan-card .adv-check-list { flex: 1; }
.adv-plan-card .adv-btn { width: 100%; margin-top: auto; }

/* FLEX FULLWIDTH */
.adv-flex-card {
  display: grid;
  grid-template-columns: 1.05fr 1.35fr 1.35fr auto;
  gap: 28px;
  align-items: center;
  margin-top: 28px;
  padding: 30px 34px;
  background: linear-gradient(90deg, #f6f8fb, #fff);
  border: 1px solid var(--adv-line-strong);
  border-left: 5px solid var(--adv-navy);
  box-shadow: 0 10px 24px rgba(7,27,73,.06);
}
.adv-flex-card__title { display: flex; gap: 16px; align-items: center; }
.adv-flex-card h3 { margin: 0; color: var(--adv-navy); font-size: 34px; }
.adv-flex-card__title strong { display: block; color: var(--adv-orange); }
.adv-flex-card > p { margin: 0; color: var(--adv-muted); }
.adv-flex-card .adv-btn { white-space: nowrap; }

/* EXPLICACIONES PLANES */
.adv-plan-explain-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; margin-top: 34px; }
.adv-info-card { display: grid; grid-template-columns: 58px 1fr; gap: 20px; padding: 30px; background: #fff; border: 1px solid var(--adv-line); box-shadow: 0 8px 22px rgba(7,27,73,.045); }
.adv-info-card h3 { margin-bottom: 8px; color: var(--adv-navy); font-size: 23px; }
.adv-info-card p { color: var(--adv-muted); }
.adv-inline-labels { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.adv-inline-labels span { padding: 5px 9px; color: var(--adv-navy); background: var(--adv-light); border: 1px solid var(--adv-line); font-size: 12px; font-weight: 700; }
.adv-text-link { color: #174ea6; font-weight: 700; }
.adv-text-link:hover { color: var(--adv-orange); }
.adv-profile-note { margin: 24px 0 0; padding: 16px 20px; color: var(--adv-muted); background: #fbfcfe; border: 1px solid var(--adv-line); text-align: center; font-size: 14px; }

/* COMPLEMENTOS */
.adv-section--addons { padding-bottom: 96px; }
.adv-addons-dark { padding: 38px 32px 28px; color: #fff; background: linear-gradient(135deg, #03142f 0%, #071b49 100%); border: 1px solid rgba(255,255,255,.08); box-shadow: var(--adv-shadow-strong); }
.adv-addon-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 26px; }
.adv-addon-card { display: grid; grid-template-columns: 66px 1fr auto; gap: 20px; align-items: center; min-height: 190px; padding: 26px; border: 1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.03); }
.adv-addon-card h3 { margin-bottom: 6px; color: #fff; font-size: 24px; }
.adv-addon-card p { margin-bottom: 0; color: rgba(255,255,255,.76); }
.adv-price--addon { margin-bottom: 8px; }
.adv-price--addon strong { font-size: 32px; }
.adv-price--addon span { color: #fff; }
.adv-addons-dark__joint { margin: 24px 0 0; color: rgba(255,255,255,.72); text-align: center; font-size: 14px; }

.adv-addon-explain { display: grid; grid-template-columns: 58px 1fr auto; gap: 22px; align-items: center; padding: 26px 30px; background: #fff; border: 1px solid var(--adv-line); border-top: 0; }
.adv-addon-explain h3 { margin-bottom: 6px; color: var(--adv-navy); }
.adv-addon-explain p { margin: 0; color: var(--adv-muted); }
.adv-text-link--right { white-space: nowrap; }

/* FAQ */
.adv-section--faq { padding-bottom: 110px; }
.adv-faq-list { border-top: 1px solid var(--adv-line); }
.adv-faq-list details { border: 1px solid var(--adv-line); border-top: 0; background: #fff; }
.adv-faq-list summary { position: relative; cursor: pointer; list-style: none; padding: 18px 54px 18px 22px; color: var(--adv-navy); font-weight: 700; }
.adv-faq-list summary::-webkit-details-marker { display: none; }
.adv-faq-list summary::after { content: "+"; position: absolute; right: 22px; top: 50%; transform: translateY(-50%); color: var(--adv-navy); font-size: 22px; font-weight: 500; }
.adv-faq-list details[open] summary::after { content: "−"; }
.adv-faq-answer { padding: 0 22px 20px; color: var(--adv-muted); }

.adv-conditions-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; margin-top: 28px; background: var(--adv-light); border: 1px solid var(--adv-line); }
.adv-conditions-grid > div { padding: 20px; border-right: 1px solid var(--adv-line); }
.adv-conditions-grid > div:last-child { border-right: 0; }
.adv-conditions-grid strong { display: block; margin-bottom: 5px; color: var(--adv-navy); }
.adv-conditions-grid span { display: block; color: var(--adv-muted); font-size: 12px; line-height: 1.45; }

/* RESPONSIVE */
@media (max-width: 1100px) {
  .adv-plans-hero__copy { width: 62%; }
  .adv-hero-overlap { grid-template-columns: repeat(2, 1fr); }
  .adv-hero-feature:nth-child(2) { border-right: 0; }
  .adv-hero-feature:nth-child(-n+2) { border-bottom: 1px solid var(--adv-line); }
  .adv-welcome-offer { grid-template-columns: 1fr; }
  .adv-welcome-offer__message { min-height: 250px; border-left: 0; border-top: 1px solid rgba(255,255,255,.14); }
  .adv-flex-card { grid-template-columns: 1fr 1.5fr; }
  .adv-flex-card .adv-check-list { grid-column: 1 / -1; }
  .adv-conditions-grid { grid-template-columns: repeat(2, 1fr); }
  .adv-conditions-grid > div { border-bottom: 1px solid var(--adv-line); }
}

@media (max-width: 820px) {
  .adv-plans__container,
  .adv-plans__container--narrow,
  .adv-section-divider { width: min(100% - 30px, 1240px); }
  .adv-plans-hero { min-height: 620px; background-position: 62% center; }
  .adv-plans-hero__inner { min-height: 620px; align-items: flex-end; padding: 80px 0 150px; }
  .adv-plans-hero__copy { width: 100%; }
  .adv-plans-hero h1 { font-size: 42px; }
  .adv-hero-overlap { margin-top: -95px; }
  .adv-plan-grid { grid-template-columns: 1fr; }
  .adv-plan-card { min-height: auto; }
  .adv-plan-card__header { min-height: auto; }
  .adv-flex-card,
  .adv-plan-explain-grid,
  .adv-addon-grid { grid-template-columns: 1fr; }
  .adv-flex-card .adv-check-list { grid-column: auto; }
  .adv-addon-card { grid-template-columns: 58px 1fr; }
  .adv-addon-card .adv-btn { grid-column: 1 / -1; }
  .adv-addon-explain { grid-template-columns: 52px 1fr; }
  .adv-text-link--right { grid-column: 2; }
  .adv-check-list--grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .adv-plans-page { font-size: 15px; }
  .adv-plans-hero h1 { font-size: 36px; }
  .adv-hero-overlap { grid-template-columns: 1fr; }
  .adv-hero-feature { border-right: 0; border-bottom: 1px solid var(--adv-line); }
  .adv-hero-feature:last-child { border-bottom: 0; }
  .adv-welcome-offer__price,
  .adv-welcome-offer__message { padding: 32px 26px; }
  .adv-welcome-offer__message { align-items: flex-start; }
  .adv-welcome-offer h3 { font-size: 25px; }
  .adv-price--welcome strong { font-size: 50px; }
  .adv-welcome-details { padding: 24px; }
  .adv-plan-card { padding: 34px 24px 26px; }
  .adv-plan-explain-grid { gap: 18px; }
  .adv-info-card { grid-template-columns: 1fr; }
  .adv-addons-dark { padding: 32px 20px 24px; }
  .adv-addon-card { grid-template-columns: 1fr; }
  .adv-addon-explain { grid-template-columns: 1fr; }
  .adv-text-link--right { grid-column: auto; }
  .adv-conditions-grid { grid-template-columns: 1fr; }
  .adv-conditions-grid > div { border-right: 0; }
}


















/* ============================================================
   ADVERYON - FORMATOS PUBLICITARIOS
   Scope completo para evitar conflictos con OpenCart
============================================================ */

#adv-formatos-page {
    --adv-red: #ff3b1f;
    --adv-red-hover: #eb2d13;

    --adv-navy: #001632;
    --adv-navy-2: #071b37;

    --adv-blue: #005fff;
    --adv-text: #101722;
    --adv-muted: #586170;

    --adv-border: #d9dee5;
    --adv-soft: #f5f7f9;
    --adv-soft-blue: #eef5ff;

    --adv-white: #ffffff;

    font-family: "Encode Sans", Arial, sans-serif;
    color: var(--adv-text);
    background: #fff;
    overflow: hidden;
}

#adv-formatos-page *,
#adv-formatos-page *::before,
#adv-formatos-page *::after {
    box-sizing: border-box;
}

#adv-formatos-page img {
    display: block;
    max-width: 100%;
}

#adv-formatos-page a {
    text-decoration: none;
}

.adv-formatos-container {
    width: calc(100% - 48px);
    max-width: 1240px;
    margin: 0 auto;
}


/* ============================================================
   BOTONES
============================================================ */

.adv-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 16px;

    min-height: 52px;
    padding: 0 25px;

    font-weight: 700;
    font-size: 15px;
    line-height: 1;

    transition:
        background-color .2s ease,
        transform .2s ease;
}

.adv-btn--primary {
    background: var(--adv-red);
    color: #fff;
}

.adv-btn--primary:hover,
.adv-btn--primary:focus {
    background: var(--adv-red-hover);
    color: #fff;
    transform: translateY(-1px);
}

.adv-btn span {
    font-size: 22px;
    font-weight: 400;
}


/* ============================================================
   HERO
============================================================ */

.adv-formatos-hero {
    position: relative;
    min-height: 435px;

    display: flex;
    align-items: center;

    color: #fff;

    background:
        linear-gradient(
            90deg,
            rgba(0, 18, 43, .99) 0%,
            rgba(0, 18, 43, .95) 32%,
            rgba(0, 18, 43, .52) 59%,
            rgba(0, 18, 43, .25) 100%
        ),
        url("/image/catalog/adveryon/formatos/formatos-publicitarios-hero.png")
        center right / cover no-repeat;
}

.adv-formatos-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;

    background:
        linear-gradient(
            0deg,
            rgba(0, 13, 32, .25),
            transparent 50%
        );
}

.adv-formatos-hero__content {
    position: relative;
    z-index: 2;

    width: 48%;
    max-width: 600px;

    padding: 54px 0 76px;
}

.adv-formatos-eyebrow {
    position: relative;
    display: inline-block;

    margin-bottom: 20px;

    color: var(--adv-red);

    font-size: 14px;
    font-weight: 800;
    letter-spacing: .02em;
}

.adv-formatos-eyebrow::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -8px;

    width: 43px;
    height: 2px;

    background: var(--adv-red);
}

.adv-formatos-hero h1 {
    margin: 0 0 14px;

    color: #fff;

    font-size: clamp(38px, 4.1vw, 58px);
    line-height: .99;
    font-weight: 760;
    letter-spacing: -.04em;
}

.adv-formatos-hero p {
    max-width: 560px;

    margin: 0 0 24px;

    color: rgba(255,255,255,.96);

    font-size: 16px;
    line-height: 1.65;
}


/* ============================================================
   RESUMEN SUPERPUESTO
============================================================ */

.adv-formatos-summary {
    position: relative;
    z-index: 10;

    margin-top: -48px;
}

.adv-formatos-summary__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);

    background: #fff;
    border: 1px solid var(--adv-border);

    box-shadow: 0 12px 28px rgba(0, 20, 50, .06);
}

.adv-formatos-summary__item {
    position: relative;

    display: grid;
    grid-template-columns: 50px 1fr;
    gap: 17px;

    min-height: 142px;

    padding: 30px 25px;
}

.adv-formatos-summary__item:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 27px;
    bottom: 27px;
    right: 0;

    width: 1px;

    background: var(--adv-border);
}

.adv-formatos-summary__icon {
    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 2px solid #141b24;

    color: var(--adv-red);
    font-size: 24px;
}

.adv-formatos-summary__item h2 {
    margin: 1px 0 8px;

    font-size: 15px;
    line-height: 1.25;
    font-weight: 800;
}

.adv-formatos-summary__item p {
    margin: 0;

    color: #333b46;

    font-size: 13px;
    line-height: 1.45;
}


/* ============================================================
   DISPLAY + NATIVE INTRO
============================================================ */

.adv-formatos-intro {
    padding: 38px 0 20px;
}

.adv-formatos-intro__grid {
    display: grid;
    grid-template-columns: 53% 47%;
    align-items: center;
    gap: 40px;

    min-height: 315px;
}

.adv-formatos-intro__visual {
    display: flex;
    align-items: center;
    justify-content: center;
}

.adv-formatos-intro__visual img {
    width: 100%;
    max-width: 600px;
    object-fit: contain;
}

.adv-formatos-intro__content {
    padding: 20px 20px 20px 0;
}

.adv-section-line {
    display: block;

    width: 32px;
    height: 3px;

    margin-bottom: 13px;

    background: var(--adv-red);
}

.adv-formatos-intro__content h2 {
    margin: 0 0 12px;

    font-size: clamp(28px, 3vw, 38px);
    line-height: 1.02;
    letter-spacing: -.035em;
    font-weight: 780;
}

.adv-formatos-intro__lead {
    margin: 0 0 20px;

    color: #343c47;

    font-size: 14px;
    line-height: 1.55;
}

.adv-benefits {
    display: grid;
    gap: 12px;
}

.adv-benefit {
    display: grid;
    grid-template-columns: 28px 1fr;
    gap: 10px;
}

.adv-benefit__icon {
    color: var(--adv-red);
    font-size: 21px;
    line-height: 1;
    padding-top: 1px;
}

.adv-benefit strong {
    display: block;

    margin-bottom: 2px;

    font-size: 13px;
    font-weight: 800;
}

.adv-benefit span {
    display: block;

    color: #343b45;

    font-size: 12px;
    line-height: 1.42;
}


/* ============================================================
   BLOQUES GENERALES
============================================================ */

.adv-bordered-block {
    border: 1px solid var(--adv-border);
}

.adv-block-title,
.adv-section-title {
    margin: 0;

    text-align: center;

    font-weight: 780;
    letter-spacing: -.025em;
    line-height: 1.15;
}

.adv-block-title {
    padding: 13px 15px 10px;

    font-size: 20px;
}

.adv-section-title {
    margin-bottom: 16px;

    font-size: 20px;
}


/* ============================================================
   DISPLAY IAB
============================================================ */

.adv-display-section {
    padding: 5px 0 0;
}

.adv-display-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;

    padding: 0 22px 20px;
}

.adv-display-card {
    min-width: 0;

    padding: 14px 20px 15px;

    border: 1px solid var(--adv-border);
}

.adv-display-card + .adv-display-card {
    margin-left: 22px;
}

.adv-display-card h3 {
    margin: 0 0 15px;

    text-align: center;

    font-size: 14px;
    font-weight: 800;
}

.adv-display-card p {
    margin: 12px 0 0;

    color: #303844;

    font-size: 11.5px;
    line-height: 1.45;
}


/* ============================================================
   MOCKUPS DISPLAY
============================================================ */

.adv-display-preview {
    height: 122px;

    display: flex;
    align-items: center;
    justify-content: center;
}

.adv-page-wireframe {
    position: relative;

    width: 190px;
    height: 104px;

    background: #f3f4f5;
    border: 9px solid #e6e8eb;
}

.adv-wire-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;

    height: 8px;

    background: #dadde1;
}

.adv-wire-cols {
    position: absolute;

    left: 9px;
    right: 9px;
    top: 54px;
    bottom: 8px;

    display: grid;
    grid-template-columns: 1.8fr 1fr;
    gap: 7px;
}

.adv-wire-cols span {
    background: #e3e5e8;
}

.adv-wire-content {
    position: absolute;

    left: 10px;
    top: 24px;

    width: 70px;
    height: 58px;

    background:
        repeating-linear-gradient(
            to bottom,
            #e0e3e6 0,
            #e0e3e6 3px,
            transparent 3px,
            transparent 8px
        );
}

.adv-ad {
    position: absolute;

    display: flex;
    align-items: center;
    justify-content: center;

    background: var(--adv-red);
    color: #fff;

    font-size: 13px;
    font-weight: 800;

    box-shadow: 0 3px 9px rgba(255,59,31,.15);
}

.adv-ad--728 {
    left: 10px;
    right: 10px;
    top: 20px;

    height: 25px;
}

.adv-ad--300 {
    width: 53px;
    height: 66px;

    right: 15px;
    top: 20px;

    text-align: center;
    font-size: 11px;
}

.adv-page-wireframe--sky {
    width: 187px;
}

.adv-ad--160 {
    width: 35px;
    height: 76px;

    right: 15px;
    top: 18px;

    flex-direction: column;

    font-size: 10px;
    line-height: 1.1;
}


/* ============================================================
   NATIVE
============================================================ */

.adv-native {
    margin: 0 22px 22px;

    border: 1px solid var(--adv-border);
}

.adv-native__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;

    padding: 15px 28px 20px;
}

.adv-native-example {
    display: grid;
    grid-template-columns: 145px 1fr;
    gap: 15px;

    align-items: center;

    padding-right: 30px;
}

.adv-native-example__image img {
    width: 145px;
    height: 110px;

    object-fit: cover;
}

.adv-native-sponsored {
    display: block;

    margin-bottom: 4px;

    color: #6a7280;

    font-size: 10px;
}

.adv-native-example h3 {
    margin: 0 0 7px;

    font-size: 14px;
    font-weight: 800;
}

.adv-native-example p {
    margin: 0 0 8px;

    color: #414954;

    font-size: 11px;
    line-height: 1.45;
}

.adv-native__specs {
    padding: 4px 0 2px 34px;

    border-left: 1px solid var(--adv-border);
}

.adv-native__description {
    max-width: 430px;

    margin: 0 0 15px;

    font-size: 11.5px;
    line-height: 1.45;
}

.adv-native__specs ul {
    list-style: none;
    margin: 0;
    padding: 0;

    display: grid;
    gap: 6px;
}

.adv-native__specs li {
    display: grid;
    grid-template-columns: 23px 1fr;
    align-items: center;

    font-size: 11px;
}

.adv-native__specs li i {
    color: #111;
}


/* ============================================================
   LINKS
============================================================ */

.adv-text-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    margin-top: auto;

    color: var(--adv-orange);

    font-size: 12px;
    line-height: 1;
    font-weight: 800;
}

.adv-text-link:hover {
    color: #0046c8;
}

.adv-text-link span {
    font-size: 16px;
}


/* ============================================================
   COMPLEMENTOS
============================================================ */

.adv-complements {
    padding-top: 10px;
}

.adv-complements__wrapper {
    border: 1px solid var(--adv-border);
}

.adv-complements__heading {
    padding: 10px 20px;

    background: var(--adv-navy);

    color: #fff;

    text-align: center;
    font-size: 17px;
    font-weight: 750;
}

.adv-complements__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.adv-complement-card {
    position: relative;

    min-height: 220px;

    display: flex;
    flex-direction: column;

    padding: 25px 28px 18px;
}

.adv-complement-card:not(:last-child) {
    border-right: 1px solid var(--adv-border);
}

.adv-complement-card__top {
    display: grid;
    grid-template-columns: 55px 1fr;
    gap: 15px;
}

.adv-complement-icon {
    color: var(--adv-red);

    font-size: 36px;
    line-height: 1;
}

.adv-complement-card h3 {
    margin: 0 0 8px;

    font-size: 14px;
    line-height: 1.25;
    font-weight: 800;
}

.adv-complement-card p {
    margin: 0 0 8px;

    font-size: 11.5px;
    line-height: 1.45;
}

.adv-complement-note {
    display: block;

    color: #353e49;

    font-size: 10.5px;
    line-height: 1.45;
}

.adv-social-icons,
.adv-review-icons {
    display: flex;
    align-items: center;
    gap: 15px;

    margin: 17px 0 13px 70px;

    color: #1f252d;

    font-size: 17px;
}

.adv-social-icons i,
.adv-social-tiktok,
.adv-review-icons > * {
    width: 27px;
    height: 27px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #edf0f3;

    border-radius: 50%;
}

.adv-review-icons span {
    font-weight: 800;
}

.adv-complement-icon--combined {
    position: relative;

    width: 55px;
    height: 42px;
}

.adv-complement-icon--combined span {
    position: absolute;
    top: 5px;

    width: 31px;
    height: 31px;

    border: 2px solid var(--adv-red);
    border-radius: 50%;
}

.adv-complement-icon--combined span:first-child {
    left: 3px;
}

.adv-complement-icon--combined span:last-child {
    left: 22px;
}


/* ============================================================
   INFO COMPLEMENTOS
============================================================ */

.adv-complements-info {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 18px;
    align-items: center;

    margin: 0 22px 20px;
    padding: 15px 20px;

    border: 1px solid #d5e0ef;

    background:
        linear-gradient(
            90deg,
            #f5f9ff 0%,
            #edf5ff 50%,
            #f8fbff 100%
        );
}

.adv-complements-info__icon {
    width: 38px;
    height: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 2px solid var(--adv-blue);
    border-radius: 50%;

    color: var(--adv-blue);

    font-size: 21px;
}

.adv-complements-info h3 {
    margin: 0 0 4px;

    font-size: 14px;
    font-weight: 800;
}

.adv-complements-info p {
    margin: 0;

    font-size: 11px;
    line-height: 1.45;
}


/* ============================================================
   OBJETIVOS
============================================================ */

.adv-objectives {
    padding: 15px 0 14px;
}

.adv-objectives__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 13px;
}

.adv-objective-card {
    min-height: 190px;

    display: flex;
    flex-direction: column;

    padding: 19px 20px 15px;

    border: 1px solid var(--adv-border);
}

.adv-objective-card__head {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 13px;
    align-items: center;

    margin-bottom: 12px;
}

.adv-objective-icon {
    color: var(--adv-red);

    font-size: 35px;
    line-height: 1;
}

.adv-objective-card h3 {
    margin: 0 0 4px;

    font-size: 13px;
    font-weight: 800;
}

.adv-objective-card strong {
    display: block;

    color: var(--adv-red);

    font-size: 11px;
    line-height: 1.2;
}

.adv-objective-card p {
    margin: 0 0 13px;

    color: #363e48;

    font-size: 11px;
    line-height: 1.5;
}


/* ============================================================
   REQUISITOS CAMPAÑA
============================================================ */

.adv-requirements {
    padding: 0 0 22px;
}

.adv-requirements__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);

    border: 1px solid var(--adv-border);
}

.adv-requirement {
    position: relative;

    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 14px;
    align-items: center;

    min-height: 100px;

    padding: 17px 22px;
}

.adv-requirement:not(:last-child)::after {
    content: "";
    position: absolute;

    top: 20px;
    bottom: 20px;
    right: 0;

    width: 1px;

    background: var(--adv-border);
}

.adv-requirement__icon {
    color: #131a22;

    font-size: 31px;
    line-height: 1;
}

.adv-requirement h3 {
    margin: 0 0 4px;

    font-size: 12px;
    line-height: 1.25;
    font-weight: 800;
}

.adv-requirement p {
    margin: 0;

    color: #404852;

    font-size: 10.5px;
    line-height: 1.45;
}


/* ============================================================
   TABLET
============================================================ */

@media (max-width: 1050px) {

    .adv-formatos-container {
        width: calc(100% - 36px);
    }

    .adv-formatos-hero__content {
        width: 56%;
    }

    .adv-formatos-summary__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .adv-formatos-summary__item:nth-child(2)::after {
        display: none;
    }

    .adv-formatos-summary__item:nth-child(-n+2) {
        border-bottom: 1px solid var(--adv-border);
    }

    .adv-formatos-intro__grid {
        grid-template-columns: 1fr 1fr;
    }

    .adv-objectives__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .adv-requirements__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .adv-requirement:nth-child(2)::after {
        display: none;
    }

    .adv-requirement:nth-child(-n+2) {
        border-bottom: 1px solid var(--adv-border);
    }

}


/* ============================================================
   MOBILE / TABLET VERTICAL
============================================================ */

@media (max-width: 767px) {

    .adv-formatos-container {
        width: calc(100% - 28px);
    }


    /* HERO */

    .adv-formatos-hero {
        min-height: 530px;

        align-items: flex-end;

        background:
            linear-gradient(
                0deg,
                rgba(0, 18, 43, 1) 0%,
                rgba(0, 18, 43, .96) 45%,
                rgba(0, 18, 43, .40) 100%
            ),
            url("image/catalog/adveryon/formatos/formatos-publicitarios-hero.png")
            64% center / cover no-repeat;
    }

    .adv-formatos-hero__content {
        width: 100%;
        max-width: none;

        padding: 210px 0 80px;
    }

    .adv-formatos-hero h1 {
        font-size: clamp(36px, 10vw, 47px);
    }

    .adv-formatos-hero p {
        font-size: 15px;
    }


    /* RESUMEN */

    .adv-formatos-summary {
        margin-top: -42px;
    }

    .adv-formatos-summary__grid {
        grid-template-columns: 1fr;
    }

    .adv-formatos-summary__item {
        min-height: auto;
        padding: 22px 20px;
    }

    .adv-formatos-summary__item::after {
        display: none !important;
    }

    .adv-formatos-summary__item:not(:last-child) {
        border-bottom: 1px solid var(--adv-border);
    }


    /* INTRO */

    .adv-formatos-intro {
        padding-top: 42px;
    }

    .adv-formatos-intro__grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .adv-formatos-intro__visual {
        order: 2;
    }

    .adv-formatos-intro__content {
        order: 1;

        padding: 0;
    }


    /* DISPLAY */

    .adv-display-grid {
        grid-template-columns: 1fr;

        gap: 14px;
        padding: 0 14px 15px;
    }

    .adv-display-card + .adv-display-card {
        margin-left: 0;
    }


    /* NATIVE */

    .adv-native {
        margin: 0 14px 14px;
    }

    .adv-native__grid {
        grid-template-columns: 1fr;

        padding: 15px;
    }

    .adv-native-example {
        grid-template-columns: 115px 1fr;

        padding: 0 0 20px;
    }

    .adv-native-example__image img {
        width: 115px;
        height: 95px;
    }

    .adv-native__specs {
        padding: 20px 0 0;

        border-top: 1px solid var(--adv-border);
        border-left: 0;
    }


    /* COMPLEMENTOS */

    .adv-complements__grid {
        grid-template-columns: 1fr;
    }

    .adv-complement-card {
        min-height: auto;

        padding: 24px 22px;
    }

    .adv-complement-card:not(:last-child) {
        border-right: 0;
        border-bottom: 1px solid var(--adv-border);
    }

    .adv-complements-info {
        margin: 0 14px 14px;
    }


    /* OBJETIVOS */

    .adv-objectives__grid {
        grid-template-columns: 1fr;
    }

    .adv-objective-card {
        min-height: auto;
    }


    /* REQUISITOS */

    .adv-requirements__grid {
        grid-template-columns: 1fr;
    }

    .adv-requirement {
        min-height: auto;
    }

    .adv-requirement::after {
        display: none !important;
    }

    .adv-requirement:not(:last-child) {
        border-bottom: 1px solid var(--adv-border);
    }

}


/* ============================================================
   MÓVILES PEQUEÑOS
============================================================ */

@media (max-width: 480px) {

    .adv-btn {
        width: 100%;
    }

    .adv-formatos-summary__item {
        grid-template-columns: 44px 1fr;
        gap: 13px;
    }

    .adv-formatos-summary__icon {
        width: 42px;
        height: 42px;

        font-size: 20px;
    }

    .adv-native-example {
        grid-template-columns: 1fr;
    }

    .adv-native-example__image img {
        width: 100%;
        height: 155px;
    }

    .adv-complement-card__top {
        grid-template-columns: 45px 1fr;
    }

    .adv-social-icons,
    .adv-review-icons {
        margin-left: 60px;
    }

    .adv-complements-info {
        grid-template-columns: 38px 1fr;
        gap: 12px;

        padding: 15px;
    }

}



















/* ============================================================
   ADVERYON 2026
   /sobre-adveryon

   TIPO A
   ------------------------------------------------------------
   HERO: FULLWIDTH
   HERO BACKGROUND: FULLWIDTH
   TEXTO HERO: BOXED 1240
   OVERLAP: DARK / BOXED 1240
   CONTENIDO: BOXED 1240
============================================================ */


/* ============================================================
   BASE
============================================================ */

#adv-about-page {

    --adv-red: #ff3b1f;
    --adv-red-hover: #e93219;

    --adv-navy: #001632;
    --adv-navy-2: #061d3b;

    --adv-text: #0e1a2c;
    --adv-body: #344052;
    --adv-muted: #687381;

    --adv-border: #dce1e6;

    --adv-light: #f7f8f9;
    --adv-soft: #fafbfc;

    width: 100%;

    margin: 0;
    padding: 0;

    background: #ffffff;

    color: var(--adv-text);

    font-family:
        "Encode Sans",
        Arial,
        sans-serif;

    font-style: normal;

    overflow: hidden;
}


#adv-about-page *,
#adv-about-page *::before,
#adv-about-page *::after {
    box-sizing: border-box;
}


#adv-about-page h1,
#adv-about-page h2,
#adv-about-page h3,
#adv-about-page h4,
#adv-about-page p,
#adv-about-page span,
#adv-about-page strong,
#adv-about-page a {
    font-family: inherit;
}


#adv-about-page img {

    display: block;

    width: 100%;
    max-width: 100%;
}


/* ============================================================
   CONTAINER GLOBAL
============================================================ */

.adv-about-container {

    position: relative;

    width: calc(100% - 48px);
    max-width: 1240px;

    margin-left: auto;
    margin-right: auto;
}


/* ============================================================
   LÍNEA ROJA
============================================================ */

.adv-about-line {

    display: block;

    width: 36px;
    height: 3px;

    margin-top: 9px;

    background: var(--adv-red);
}


/* ============================================================
   HERO
============================================================ */

.adv-about-hero {

    position: relative;

    width: 100%;
    min-height: 470px;

    background: var(--adv-light);

    overflow: visible;

    border-bottom:
        1px solid
        #edf0f3;
}


/* ============================================================
   HERO BACKGROUND / FOTO
   FULLWIDTH
============================================================ */

.adv-about-hero__background {

    position: absolute;

    z-index: 1;

    inset: 0;

    width: 100%;
    height: 100%;

    overflow: hidden;
}


.adv-about-hero__background img {

    width: 100%;
    height: 100%;

    object-fit: cover;

    object-position:
        68% center;
}


/* GRADIENTE PARA TEXTO */

.adv-about-hero__background::after {

    content: "";

    position: absolute;

    z-index: 2;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            #f7f8f9 0%,
            rgba(247,248,249,1) 18%,
            rgba(247,248,249,.98) 27%,
            rgba(247,248,249,.88) 38%,
            rgba(247,248,249,.55) 48%,
            rgba(247,248,249,.16) 60%,
            rgba(247,248,249,0) 73%
        );

    pointer-events: none;
}


/* ============================================================
   HERO TEXTO BOXED
============================================================ */

.adv-about-hero > .adv-about-container {

    position: relative;

    z-index: 3;

    min-height: 470px;
}


.adv-about-hero__content {

    position: relative;

    z-index: 4;

    width: 45%;
    max-width: 525px;

    min-height: 408px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding:
        43px
        0
        75px;
}


/* EYEBROW */

.adv-about-eyebrow {

    display: block;

    width: fit-content;

    margin-bottom: 16px;

    color: var(--adv-red);

    font-size: 13px;
    line-height: 1;

    font-weight: 800;

    letter-spacing: .075em;
}


.adv-about-eyebrow::after {

    content: "";

    display: block;

    width: 39px;
    height: 3px;

    margin-top: 11px;

    background: var(--adv-red);
}


/* H1 */

.adv-about-hero h1 {

    margin:
        0
        0
        20px;

    color: var(--adv-text);

    font-size:
        clamp(42px, 4vw, 57px);

    line-height: 1;

    font-weight: 750;

    letter-spacing: -.035em;
}


/* COPY HERO */

.adv-about-hero__text {

    max-width: 490px;
}


.adv-about-hero__text p {

    margin:
        0
        0
        10px;

    color: #273345;

    font-size: 14.5px;
    line-height: 1.55;

    font-weight: 400;
}


/* ============================================================
   OVERLAP WRAPPER
   FULLWIDTH
============================================================ */

.adv-about-hero-info-wrap {

    position: absolute;

    z-index: 10;

    left: 0;
    right: 0;

    bottom: -62px;

    width: 100%;
}


/* ============================================================
   OVERLAP DARK
   BOXED 1240
============================================================ */

.adv-about-hero-info {

    width: 100%;

    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    min-height: 124px;

    background:
        linear-gradient(
            105deg,
            #001632 0%,
            #061d3b 100%
        );

    color: #ffffff;

    box-shadow:
        0
        14px
        30px
        rgba(0,22,50,.12);
}


.adv-about-hero-info__item {

    position: relative;

    display: grid;

    grid-template-columns:
        54px
        minmax(0, 1fr);

    gap: 18px;

    align-items: center;

    padding:
        23px
        32px;
}


/* SEPARADORES */

.adv-about-hero-info__item:not(:last-child)::after {

    content: "";

    position: absolute;

    top: 22px;
    right: 0;
    bottom: 22px;

    width: 1px;

    background:
        rgba(255,255,255,.22);
}


/* ICONOS */

.adv-about-hero-info__icon {

    color: var(--adv-red);

    font-size: 36px;
    line-height: 1;
}


/* TEXTOS */

.adv-about-hero-info h2 {

    margin:
        0
        0
        6px;

    color: #ffffff;

    font-size: 14px;
    line-height: 1.25;

    font-weight: 700;
}


.adv-about-hero-info p {

    margin: 0;

    color:
        rgba(255,255,255,.88);

    font-size: 11.5px;
    line-height: 1.47;
}


/* ============================================================
   INTRO
============================================================ */

.adv-about-intro {

    padding:
        112px
        0
        30px;
}


.adv-about-intro__grid {

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 78px;

    margin-bottom: 40px;

    padding:
        0
        24px;
}


/* ============================================================
   HEADING + ICON
============================================================ */

.adv-about-heading {

    display: grid;

    grid-template-columns:
        50px
        minmax(0, 1fr);

    gap: 18px;

    align-items: start;

    margin-bottom: 13px;
}


.adv-about-heading__icon {

    padding-top: 3px;

    color: var(--adv-red);

    font-size: 34px;
    line-height: 1;
}


.adv-about-heading h2 {

    margin: 0;

    color: var(--adv-text);

    font-size: 25px;
    line-height: 1.08;

    font-weight: 750;

    letter-spacing: -.025em;
}


/* ============================================================
   INTRO COPY
============================================================ */

.adv-about-copy {

    padding-left: 68px;
}


.adv-about-copy p {

    margin:
        0
        0
        10px;

    color: var(--adv-body);

    font-size: 13px;
    line-height: 1.6;
}


/* ============================================================
   PRINCIPIOS
============================================================ */

.adv-about-principles {

    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 18px;

    width: 100%;
}


.adv-about-principle {

    min-height: 187px;

    padding:
        26px
        23px
        22px;

    background: #ffffff;

    border:
        1px solid
        var(--adv-border);

    text-align: center;

    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}


.adv-about-principle:hover {

    transform:
        translateY(-2px);

    border-color:
        #cdd3da;

    box-shadow:
        0
        8px
        20px
        rgba(0,20,45,.04);
}


.adv-about-principle__icon {

    min-height: 45px;

    margin-bottom: 11px;

    color: var(--adv-red);

    font-size: 35px;
    line-height: 1;
}


.adv-about-principle h3 {

    margin:
        0
        0
        8px;

    color: var(--adv-text);

    font-size: 14px;
    line-height: 1.25;

    font-weight: 700;
}


.adv-about-principle p {

    max-width: 205px;

    margin:
        0
        auto;

    color: #354052;

    font-size: 11.5px;
    line-height: 1.5;
}


/* ============================================================
   DIFERENCIAS
============================================================ */

.adv-about-difference {

    padding:
        28px
        0
        28px;
}


.adv-about-difference__grid {

    display: grid;

    grid-template-columns:
        minmax(0, 48%)
        minmax(0, 52%);

    gap: 44px;

    align-items: center;
}


/* ============================================================
   SECTION HEADINGS
============================================================ */

.adv-about-section-heading h2 {

    margin: 0;

    color: var(--adv-text);

    font-size: 25px;
    line-height: 1.1;

    font-weight: 750;

    letter-spacing: -.025em;
}


.adv-about-section-heading
.adv-about-line {

    margin-bottom: 18px;
}


/* ============================================================
   CHECKLIST
============================================================ */

.adv-about-checklist {

    display: grid;

    gap: 13px;
}


.adv-about-check {

    display: grid;

    grid-template-columns:
        22px
        minmax(0, 1fr);

    gap: 10px;

    align-items: start;
}


.adv-about-check__icon {

    width: 17px;
    height: 17px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-top: 2px;

    border:
        1.5px solid
        var(--adv-red);

    border-radius: 50%;

    color: var(--adv-red);

    font-size: 8px;
}


.adv-about-check strong {

    display: block;

    margin-bottom: 2px;

    color: var(--adv-text);

    font-size: 12px;
    line-height: 1.35;

    font-weight: 700;
}


.adv-about-check p {

    margin: 0;

    color: #354052;

    font-size: 11.5px;
    line-height: 1.45;
}


/* ============================================================
   FOTO ANALÍTICA
============================================================ */

.adv-about-difference__visual {

    width: 100%;

    overflow: hidden;
}


.adv-about-difference__visual img {

    width: 100%;
    height: 265px;

    object-fit: cover;
    object-position: center;

    border:
        1px solid
        #e0e4e8;
}


/* ============================================================
   PROCESO
============================================================ */

.adv-about-process {

    padding:
        11px
        0
        28px;
}


.adv-about-process__box {

    width: 100%;

    padding:
        18px
        25px
        21px;

    background: var(--adv-soft);

    border:
        1px solid
        var(--adv-border);
}


/* HEADING */

.adv-about-process__heading {

    text-align: center;
}


.adv-about-process__heading h2 {

    margin: 0;

    color: var(--adv-text);

    font-size: 21px;
    line-height: 1.15;

    font-weight: 600;
}


.adv-about-process__heading h2 strong {

    font-weight: 750;
}


.adv-about-process__heading
.adv-about-line {

    margin:
        8px
        auto
        20px;
}


/* ============================================================
   PROCESS GRID
============================================================ */

.adv-about-process__grid {

    display: grid;

    grid-template-columns:
        repeat(5, minmax(0, 1fr));

    gap: 10px;
}


.adv-process-step {

    min-width: 0;

    text-align: center;

    padding:
        0
        8px;
}


.adv-process-step__top {

    position: relative;

    min-height: 58px;
}


/* ICON CIRCLE */

.adv-process-step__icon {

    width: 57px;
    height: 57px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin:
        0
        auto;

    background: #ffffff;

    border:
        1px solid
        #dde2e7;

    border-radius: 50%;

    color: var(--adv-red);

    font-size: 22px;
}


/* ARROW */

.adv-process-step__arrow {

    position: absolute;

    top: 15px;
    right: -17px;

    color: #adb5bf;

    font-size: 26px;
    line-height: 1;

    font-weight: 300;
}


/* STEP TITLE */

.adv-process-step h3 {

    margin:
        9px
        0
        6px;

    color: var(--adv-text);

    font-size: 11.5px;
    line-height: 1.3;

    font-weight: 700;
}


/* STEP COPY */

.adv-process-step p {

    max-width: 175px;

    margin:
        0
        auto;

    color: #455061;

    font-size: 10px;
    line-height: 1.43;
}


/* ============================================================
   CONFIANZA
============================================================ */

.adv-about-trust {

    padding:
        0
        0
        36px;
}


.adv-about-trust__grid {

    display: grid;

    grid-template-columns:
        39%
        61%;

    width: 100%;

    min-height: 180px;

    background: #f7f8f9;

    border:
        1px solid
        #e9ecef;
}


/* ============================================================
   TRUST IMAGE
============================================================ */

.adv-about-trust__visual {

    min-height: 180px;

    overflow: hidden;
}


.adv-about-trust__visual img {

    width: 100%;
    height: 100%;

    min-height: 180px;

    object-fit: cover;
    object-position: center;
}


/* ============================================================
   TRUST CONTENT
============================================================ */

.adv-about-trust__content {

    display: grid;

    grid-template-columns:
        66px
        minmax(0, 1fr);

    gap: 20px;

    align-items: center;

    padding:
        25px
        34px;
}


.adv-about-trust__icon {

    color: var(--adv-red);

    font-size: 46px;
    line-height: 1;
}


.adv-about-trust__copy p {

    max-width: 650px;

    margin:
        0
        0
        7px;

    color: #354052;

    font-size: 11.8px;
    line-height: 1.52;
}


/* ============================================================
   DESKTOP INTERMEDIO
============================================================ */

@media (max-width: 1180px) {

    .adv-about-hero__content {

        width: 48%;
    }


    .adv-about-hero__background img {

        object-position:
            65% center;
    }

}


/* ============================================================
   TABLET
============================================================ */

@media (max-width: 1050px) {

    .adv-about-container {

        width:
            calc(100% - 36px);
    }


    /* HERO */

    .adv-about-hero__content {

        width: 50%;
    }


    .adv-about-hero__background img {

        object-position:
            63% center;
    }


    /* OVERLAP */

    .adv-about-hero-info__item {

        grid-template-columns:
            42px
            minmax(0, 1fr);

        gap: 14px;

        padding:
            21px;
    }


    .adv-about-hero-info__icon {

        font-size: 30px;
    }


    /* INTRO */

    .adv-about-intro__grid {

        gap: 45px;

        padding:
            0
            8px;
    }


    /* PRINCIPIOS */

    .adv-about-principles {

        gap: 12px;
    }


    .adv-about-principle {

        padding:
            23px
            17px;
    }


    /* DIFERENCIA */

    .adv-about-difference__grid {

        gap: 30px;
    }

}


/* ============================================================
   TABLET VERTICAL / MOBILE
============================================================ */

@media (max-width: 767px) {

    .adv-about-container {

        width:
            calc(100% - 28px);
    }


    /* ========================================================
       HERO MOBILE
    ======================================================== */

    .adv-about-hero {

        min-height: auto;

        display: flex;
        flex-direction: column;
    }


    /*
     * En móvil mantenemos primero el texto
     * y después la fotografía.
     */

    .adv-about-hero > .adv-about-container {

        min-height: auto;

        order: 1;
    }


    .adv-about-hero__content {

        width: 100%;
        max-width: none;

        min-height: auto;

        padding:
            40px
            0
            30px;
    }


    .adv-about-hero h1 {

        font-size: 42px;
    }


    /* FOTO MOBILE */

    .adv-about-hero__background {

        position: relative;

        inset: auto;

        order: 2;

        width: 100%;
        height: 270px;
    }


    .adv-about-hero__background::after {

        display: none;
    }


    .adv-about-hero__background img {

        height: 270px;

        object-position: center;
    }


    /* OVERLAP */

    .adv-about-hero-info-wrap {

        position: relative;

        left: auto;
        right: auto;
        bottom: auto;

        order: 3;

        margin-top: -20px;
    }


    .adv-about-hero-info {

        grid-template-columns: 1fr;
    }


    .adv-about-hero-info__item {

        min-height: auto;

        padding:
            20px
            21px;
    }


    .adv-about-hero-info__item:not(:last-child)::after {

        top: auto;

        left: 20px;
        right: 20px;
        bottom: 0;

        width: auto;
        height: 1px;
    }


    /* ========================================================
       INTRO
    ======================================================== */

    .adv-about-intro {

        padding:
            42px
            0
            25px;
    }


    .adv-about-intro__grid {

        grid-template-columns: 1fr;

        gap: 36px;

        padding: 0;
    }


    .adv-about-copy {

        padding-left: 0;
    }


    /* ========================================================
       PRINCIPIOS
    ======================================================== */

    .adv-about-principles {

        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    /* ========================================================
       DIFERENCIA
    ======================================================== */

    .adv-about-difference__grid {

        grid-template-columns: 1fr;

        gap: 25px;
    }


    .adv-about-difference__content {

        order: 1;
    }


    .adv-about-difference__visual {

        order: 2;
    }


    .adv-about-difference__visual img {

        height: 250px;
    }


    /* ========================================================
       PROCESS
    ======================================================== */

    .adv-about-process__grid {

        grid-template-columns: 1fr;

        gap: 20px;
    }


    .adv-process-step {

        display: grid;

        grid-template-columns:
            66px
            minmax(0, 1fr);

        grid-template-areas:
            "icon title"
            "icon text";

        gap:
            0
            12px;

        text-align: left;

        padding: 0;
    }


    .adv-process-step__top {

        grid-area: icon;

        min-height: auto;
    }


    .adv-process-step__arrow {

        display: none;
    }


    .adv-process-step h3 {

        grid-area: title;

        margin:
            4px
            0
            4px;
    }


    .adv-process-step p {

        grid-area: text;

        max-width: none;

        margin: 0;
    }


    /* ========================================================
       TRUST
    ======================================================== */

    .adv-about-trust__grid {

        grid-template-columns: 1fr;
    }


    .adv-about-trust__visual {

        min-height: 230px;
    }


    .adv-about-trust__visual img {

        height: 230px;
        min-height: 230px;
    }

}


/* ============================================================
   MOBILE SMALL
============================================================ */

@media (max-width: 520px) {

    /* HERO */

    .adv-about-hero h1 {

        font-size: 38px;
    }


    .adv-about-hero__text p {

        font-size: 13.5px;
    }


    /* TITULARES */

    .adv-about-heading {

        grid-template-columns:
            42px
            minmax(0, 1fr);

        gap: 13px;
    }


    .adv-about-heading__icon {

        font-size: 30px;
    }


    .adv-about-heading h2,
    .adv-about-section-heading h2 {

        font-size: 22px;
    }


    /* PRINCIPIOS */

    .adv-about-principles {

        grid-template-columns: 1fr;
    }


    .adv-about-principle {

        min-height: auto;
    }


    /* PROCESO */

    .adv-about-process__box {

        padding:
            18px
            18px
            21px;
    }


    /* TRUST */

    .adv-about-trust__content {

        grid-template-columns: 1fr;

        gap: 12px;

        padding:
            24px
            21px;
    }


    .adv-about-trust__icon {

        font-size: 40px;
    }

}


























/* ============================================================
   ADVERYON 2026
   /soluciones-y-objetivos

   TIPO S
   HERO DARK FULLWIDTH
   TEXTO BOXED 1240
   OVERLAP LIGHT BOXED 1240
============================================================ */


/* ============================================================
   BASE
============================================================ */

#adv-solutions-page {

    --adv-red: #ff3b1f;
    --adv-red-hover: #e93018;

    --adv-navy: #001632;
    --adv-navy-2: #061d3b;

    --adv-text: #0e1a2c;
    --adv-body: #344052;
    --adv-muted: #657080;

    --adv-border: #dce1e7;

    --adv-soft: #f7f8fa;
    --adv-soft-blue: #f0f5fc;

    width: 100%;

    background: #fff;

    color: var(--adv-text);

    font-family:
        "Encode Sans",
        Arial,
        sans-serif;

    overflow: hidden;
}


#adv-solutions-page *,
#adv-solutions-page *::before,
#adv-solutions-page *::after {

    box-sizing: border-box;
}


#adv-solutions-page h1,
#adv-solutions-page h2,
#adv-solutions-page h3,
#adv-solutions-page p,
#adv-solutions-page span,
#adv-solutions-page strong,
#adv-solutions-page a {

    font-family: inherit;
}


#adv-solutions-page img {

    display: block;

    max-width: 100%;
}


/* ============================================================
   BOXED
============================================================ */

.adv-solutions-container {

    position: relative;

    width: calc(100% - 48px);
    max-width: 1240px;

    margin-left: auto;
    margin-right: auto;
}


/* ============================================================
   SHARED
============================================================ */

.adv-solutions-line {

    display: block;

    width: 36px;
    height: 3px;

    margin-bottom: 14px;

    background: var(--adv-red);
}


.adv-solutions-section-heading {

    max-width: 760px;

    margin:
        0
        auto
        44px;

    text-align: center;
}


.adv-solutions-section-heading
.adv-solutions-line {

    margin-left: auto;
    margin-right: auto;
}


.adv-solutions-section-heading h2 {

    margin:
        0
        0
        13px;

    font-size: 29px;
    line-height: 1.14;

    font-weight: 750;

    letter-spacing: -.025em;
}


.adv-solutions-section-heading p {

    margin: 0;

    color: var(--adv-body);

    font-size: 14px;
    line-height: 1.6;
}


/* ============================================================
   HERO
============================================================ */

.adv-solutions-hero {

    position: relative;

    width: 100%;
    min-height: 455px;

    background: var(--adv-navy);

    color: #fff;

    overflow: visible;
}


/* FULLWIDTH IMAGE */

.adv-solutions-hero__background {

    position: absolute;

    inset: 0;

    z-index: 1;

    overflow: hidden;
}


.adv-solutions-hero__background img {

    width: 100%;
    height: 100%;

    object-fit: cover;

    object-position: 68% center;
}


.adv-solutions-hero__background::after {

    content: "";

    position: absolute;

    inset: 0;

    background:

        linear-gradient(
            90deg,
            rgba(0,22,50,1) 0%,
            rgba(0,22,50,.98) 25%,
            rgba(0,22,50,.90) 38%,
            rgba(0,22,50,.48) 58%,
            rgba(0,22,50,.10) 77%,
            rgba(0,22,50,.05) 100%
        );
}


/* HERO CONTENT */

.adv-solutions-hero
> .adv-solutions-container {

    z-index: 3;

    min-height: 455px;
}


.adv-solutions-hero__content {

    position: relative;

    z-index: 4;

    width: 47%;
    max-width: 555px;

    min-height: 397px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding:
        52px
        0
        70px;
}


.adv-solutions-eyebrow {

    margin-bottom: 17px;

    color: var(--adv-red);

    font-size: 13px;
    line-height: 1;

    font-weight: 800;

    letter-spacing: .08em;
}


.adv-solutions-hero h1 {

    margin:
        0
        0
        18px;

    color: #fff;

    font-size:
        clamp(40px, 4vw, 58px);

    line-height: 1.02;

    font-weight: 760;

    letter-spacing: -.035em;
}


.adv-solutions-hero__content > p {

    max-width: 510px;

    margin:
        0
        0
        23px;

    color:
        rgba(255,255,255,.93);

    font-size: 15px;
    line-height: 1.58;
}


/* CTA */

.adv-solutions-btn {

    width: fit-content;

    min-height: 50px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 15px;

    padding:
        0
        23px;

    background: var(--adv-red);

    color: #fff;

    font-size: 14px;

    font-weight: 700;

    text-decoration: none;
}


.adv-solutions-btn:hover {

    background: var(--adv-red-hover);

    color: #fff;
}


.adv-solutions-btn span {

    font-size: 21px;
    font-weight: 400;
}


/* ============================================================
   HERO OVERLAP
============================================================ */

.adv-solutions-hero-strip-wrap {

    position: absolute;

    z-index: 10;

    left: 0;
    right: 0;

    /*
     * Strip ~116px:
     * 58 px salen del hero.
     */
    bottom: -58px;

    width: 100%;
}


.adv-solutions-hero-strip {

    width: 100%;

    min-height: 116px;

    display: grid;

    grid-template-columns:
        repeat(4, minmax(0,1fr));

    background: #fff;

    border: 1px solid var(--adv-border);

    box-shadow:
        0 16px 32px
        rgba(0,20,45,.08);
}


.adv-solutions-hero-strip__item {

    position: relative;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding:
        23px
        30px;
}


.adv-solutions-hero-strip__item:not(:last-child)::after {

    content: "";

    position: absolute;

    top: 25px;
    right: 0;
    bottom: 25px;

    width: 1px;

    background: var(--adv-border);
}


.adv-solutions-hero-strip h2 {

    margin:
        0
        0
        7px;

    font-size: 14px;
    line-height: 1.25;

    font-weight: 750;
}


.adv-solutions-hero-strip p {

    margin: 0;

    color: var(--adv-body);

    font-size: 11.5px;
    line-height: 1.5;
}


/* ============================================================
   OVERVIEW
============================================================ */

.adv-solutions-overview {

    padding:
        135px
        0
        82px;
}


.adv-solutions-overview__intro {

    max-width: 670px;

    margin-bottom: 48px;
}


.adv-solutions-overview__intro h2 {

    margin:
        0
        0
        14px;

    font-size: 29px;
    line-height: 1.12;

    font-weight: 750;

    letter-spacing: -.025em;
}


.adv-solutions-overview__intro p {

    margin: 0;

    color: var(--adv-body);

    font-size: 14px;
    line-height: 1.65;
}


/* CARDS */

.adv-solutions-overview__grid {

    display: grid;

    grid-template-columns:
        repeat(4, minmax(0,1fr));

    gap: 24px;
}


.adv-solutions-overview-card {

    min-height: 175px;

    padding:
        28px
        23px;

    border:
        1px solid
        var(--adv-border);

    background: #fff;

    text-align: center;
}


.adv-solutions-overview-card__icon {

    margin-bottom: 14px;

    color: var(--adv-red);

    font-size: 32px;
}


.adv-solutions-overview-card h3 {

    margin:
        0
        0
        9px;

    font-size: 14px;

    font-weight: 750;
}


.adv-solutions-overview-card p {

    margin: 0;

    color: var(--adv-body);

    font-size: 11.5px;
    line-height: 1.5;
}


/* ============================================================
   FORMATS
============================================================ */

.adv-solutions-formats {

    padding:
        82px
        0
        95px;

    background:
        #fafbfc;
}


.adv-solutions-formats__grid {

    display: grid;

    grid-template-columns:
        1fr
        1fr;

    gap: 32px;
}


.adv-solutions-format-block {

    min-height: 315px;

    padding:
        28px;

    background: #fff;

    border:
        1px solid
        var(--adv-border);
}


.adv-solutions-format-block__heading {

    margin-bottom: 24px;
}


.adv-solutions-format-block__heading h3 {

    margin: 0;

    font-size: 16px;
    line-height: 1.4;

    font-weight: 750;
}


.adv-solutions-format-block__heading h3 span {

    font-weight: 450;
}


/* DISPLAY */

.adv-solutions-display-grid {

    display: grid;

    grid-template-columns:
        repeat(3,1fr);

    gap: 18px;
}


.adv-solutions-display {

    text-align: center;
}


.adv-solutions-display strong {

    display: block;

    margin-top: 13px;

    font-size: 12px;
}


.adv-solutions-display > span {

    display: block;

    margin-top: 3px;

    font-size: 11px;

    font-weight: 650;
}


.adv-solutions-display p {

    margin:
        5px
        0
        0;

    color: var(--adv-body);

    font-size: 10.5px;
}


/* DISPLAY DRAWING */

.adv-display-demo {

    height: 100px;

    display: flex;
    align-items: center;
    justify-content: center;
}


.adv-display-demo__page {

    position: relative;

    width: 125px;
    height: 72px;

    background:
        repeating-linear-gradient(
            to bottom,
            #eff1f3 0,
            #eff1f3 4px,
            transparent 4px,
            transparent 10px
        );

    border: 7px solid #edf0f2;
}


.adv-display-demo__ad {

    position: absolute;

    background: var(--adv-red);
}


.adv-display-demo--728
.adv-display-demo__ad {

    left: 10px;
    right: 10px;
    top: 8px;

    height: 12px;
}


.adv-display-demo--300
.adv-display-demo__ad {

    width: 34px;
    height: 36px;

    right: 13px;
    top: 13px;
}


.adv-display-demo--160
.adv-display-demo__ad {

    width: 16px;

    top: 7px;
    bottom: 7px;
    right: 14px;
}


/* NATIVE */

.adv-solutions-native {

    display: grid;

    grid-template-columns:
        48%
        52%;

    gap: 25px;

    align-items: center;
}


.adv-native-demo {

    min-height: 170px;

    display: grid;

    grid-template-columns:
        45%
        55%;

    gap: 15px;

    align-items: center;

    padding:
        18px;

    background: #f8f9fa;
}


.adv-native-demo__image {

    height: 105px;

    background:
        #e4e7ea;
}


.adv-native-demo__copy {

    display: grid;

    gap: 11px;
}


.adv-native-demo__copy span {

    display: block;

    height: 7px;

    background: #dadddf;
}


.adv-native-demo__copy span:nth-child(2) {

    width: 88%;
}


.adv-native-demo__copy span:nth-child(3) {

    width: 65%;
}


.adv-solutions-native__content strong {

    display: block;

    margin-bottom: 9px;

    font-size: 14px;
}


.adv-solutions-native__content p {

    margin: 0;

    color: var(--adv-body);

    font-size: 12px;
    line-height: 1.6;
}


/* ============================================================
   PRESENCE
============================================================ */

.adv-solutions-presence {

    padding:
        95px
        0
        100px;
}


.adv-solutions-presence__list {

    display: grid;

    gap: 34px;
}


/* LARGE SOLUTION ROW */

.adv-solution-row {

    display: grid;

    grid-template-columns:
        38%
        62%;

    min-height: 305px;

    border:
        1px solid
        var(--adv-border);

    background: #fff;
}


.adv-solution-row--reverse {

    grid-template-columns:
        62%
        38%;
}


.adv-solution-row--reverse
.adv-solution-row__visual {

    order: 2;
}


.adv-solution-row--reverse
.adv-solution-row__content {

    order: 1;
}


.adv-solution-row__visual {

    min-height: 305px;

    overflow: hidden;
}


.adv-solution-row__visual img {

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.adv-solution-row__content {

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding:
        34px
        40px;
}


.adv-solution-label {

    margin-bottom: 9px;

    color: var(--adv-red);

    font-size: 11px;

    font-weight: 800;

    letter-spacing: .08em;
}


.adv-solution-row h3 {

    max-width: 690px;

    margin:
        0
        0
        16px;

    font-size: 23px;
    line-height: 1.25;

    font-weight: 760;

    letter-spacing: -.018em;
}


.adv-solution-row p {

    max-width: 730px;

    margin:
        0
        0
        10px;

    color: var(--adv-body);

    font-size: 12.5px;
    line-height: 1.6;
}


.adv-solution-summary {

    max-width: 680px;

    margin-top: 14px;

    padding:
        14px
        17px;

    background:
        var(--adv-soft);

    border-left:
        3px solid
        var(--adv-red);

    color: #313b49;

    font-size: 11.5px;
    line-height: 1.55;
}


.adv-solution-summary strong {

    color: var(--adv-red);
}


/* ============================================================
   OBJECTIVES
============================================================ */

.adv-solutions-objectives {

    padding:
        100px
        0
        100px;

    background: #fafbfc;
}


.adv-solutions-objectives__grid {

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0,1fr));

    gap: 34px;
}


.adv-objective-card {

    display: flex;

    flex-direction: column;

    border:
        1px solid
        var(--adv-border);

    background: #fff;
}


.adv-objective-card__main {

    display: grid;

    grid-template-columns:
        37%
        63%;

    min-height: 330px;
}


.adv-objective-card__visual {

    min-height: 330px;

    overflow: hidden;
}


.adv-objective-card__visual img {

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.adv-objective-card__content {

    padding:
        32px
        30px;
}


.adv-objective-card h3 {

    margin:
        0
        0
        18px;

    font-size: 20px;
    line-height: 1.27;

    font-weight: 760;

    letter-spacing: -.015em;
}


.adv-objective-card ul {

    list-style: none;

    display: grid;

    gap: 10px;

    margin: 0;

    padding: 0;
}


.adv-objective-card li {

    position: relative;

    padding-left: 20px;

    color: var(--adv-body);

    font-size: 12px;
}


.adv-objective-card li::before {

    content: "✓";

    position: absolute;

    left: 0;

    color: var(--adv-red);

    font-weight: 800;
}


/* GUARANTEE NOTE */

.adv-objective-note {

    min-height: 63px;

    display: grid;

    grid-template-columns:
        24px
        1fr;

    gap: 11px;

    align-items: center;

    margin:
        0
        20px
        20px;

    padding:
        13px
        16px;

    background:
        var(--adv-soft-blue);

    color: #384656;
}


.adv-objective-note i {

    color: #356de7;

    font-size: 17px;
}


.adv-objective-note p {

    margin: 0;

    font-size: 10.5px;
    line-height: 1.45;
}


/* ============================================================
   FIT
============================================================ */

.adv-solutions-fit {

    padding:
        100px
        0
        90px;
}


.adv-solutions-fit__grid {

    display: grid;

    grid-template-columns:
        repeat(3, minmax(0,1fr));

    gap: 22px;
}


.adv-fit-item {

    min-height: 118px;

    display: grid;

    grid-template-columns:
        48px
        1fr;

    gap: 16px;

    align-items: center;

    padding:
        20px
        22px;

    border:
        1px solid
        var(--adv-border);

    background: #fff;
}


.adv-fit-item > i {

    color: #2868dd;

    font-size: 29px;
}


.adv-fit-item h3 {

    margin:
        0
        0
        5px;

    font-size: 13px;
    line-height: 1.4;

    font-weight: 700;
}


.adv-fit-item p {

    margin: 0;

    color: #586374;

    font-size: 10.5px;
}


/* ============================================================
   FINAL INFO
============================================================ */

.adv-solutions-final-info {

    padding:
        90px
        0
        130px;

    background:
        #fafbfc;
}


/* COMBINATIONS */

.adv-solutions-combinations {

    margin-bottom: 85px;
}


.adv-solutions-combinations__grid {

    display: grid;

    grid-template-columns:
        repeat(4, minmax(0,1fr));

    gap: 20px;
}


.adv-combination {

    min-height: 105px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding:
        20px;

    border:
        1px solid
        var(--adv-border);

    background: #fff;

    text-align: center;
}


.adv-combination strong {

    display: block;

    margin-bottom: 7px;

    font-size: 12px;
}


.adv-combination span {

    color: #566273;

    font-size: 11px;
}


/* FINAL 2 */

.adv-solutions-final-info__grid {

    display: grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap: 32px;
}


.adv-final-info-card {

    display: grid;

    grid-template-columns:
        62px
        1fr;

    gap: 22px;

    min-height: 260px;

    padding:
        32px;

    background: #fff;

    border:
        1px solid
        var(--adv-border);
}


.adv-final-info-card__icon {

    color: #2868dd;

    font-size: 42px;
}


.adv-final-info-card h2 {

    margin:
        0
        0
        14px;

    font-size: 20px;
    line-height: 1.3;

    font-weight: 750;
}


.adv-final-info-card p {

    margin:
        0
        0
        10px;

    color: var(--adv-body);

    font-size: 12px;
    line-height: 1.62;
}


/* ============================================================
   TABLET
============================================================ */

@media (max-width: 1050px) {

    .adv-solutions-container {

        width:
            calc(100% - 36px);
    }


    .adv-solutions-hero__content {

        width: 52%;
    }


    .adv-solutions-overview__grid {

        grid-template-columns:
            repeat(2,1fr);
    }


    .adv-solutions-formats__grid {

        grid-template-columns: 1fr;
    }


    .adv-solution-row,
    .adv-solution-row--reverse {

        grid-template-columns:
            42%
            58%;
    }


    .adv-solution-row--reverse
    .adv-solution-row__visual {

        order: 1;
    }


    .adv-solution-row--reverse
    .adv-solution-row__content {

        order: 2;
    }


    .adv-objective-card__main {

        grid-template-columns:
            34%
            66%;
    }


    .adv-solutions-fit__grid {

        grid-template-columns:
            repeat(2,1fr);
    }


    .adv-solutions-combinations__grid {

        grid-template-columns:
            repeat(2,1fr);
    }

}


/* ============================================================
   MOBILE
============================================================ */

@media (max-width: 767px) {

    .adv-solutions-container {

        width:
            calc(100% - 28px);
    }


    /* HERO */

    .adv-solutions-hero {

        min-height: 540px;
    }


    .adv-solutions-hero__background img {

        object-position:
            70% center;
    }


    .adv-solutions-hero__background::after {

        background:
            linear-gradient(
                0deg,
                rgba(0,22,50,1) 0%,
                rgba(0,22,50,.97) 52%,
                rgba(0,22,50,.45) 100%
            );
    }


    .adv-solutions-hero__content {

        width: 100%;

        min-height: 480px;

        justify-content: flex-end;

        padding:
            170px
            0
            90px;
    }


    .adv-solutions-hero h1 {

        font-size: 41px;
    }


    /* HERO STRIP */

    .adv-solutions-hero-strip-wrap {

        position: relative;

        bottom: auto;

        margin-top: -45px;
    }


    .adv-solutions-hero-strip {

        grid-template-columns: 1fr;

        min-height: auto;
    }


    .adv-solutions-hero-strip__item {

        min-height: 95px;
    }


    .adv-solutions-hero-strip__item:not(:last-child)::after {

        top: auto;

        left: 25px;
        right: 25px;
        bottom: 0;

        width: auto;
        height: 1px;
    }


    /* OVERVIEW */

    .adv-solutions-overview {

        padding-top: 70px;
    }


    .adv-solutions-overview__grid {

        grid-template-columns: 1fr;
    }


    /* SOLUTION ROWS */

    .adv-solution-row,
    .adv-solution-row--reverse {

        grid-template-columns: 1fr;
    }


    .adv-solution-row__visual {

        min-height: 235px;
    }


    .adv-solution-row__content {

        padding:
            28px
            23px
            32px;
    }


    .adv-solution-row h3 {

        font-size: 20px;
    }


    /* OBJECTIVES */

    .adv-solutions-objectives__grid {

        grid-template-columns: 1fr;
    }


    /* FIT */

    .adv-solutions-fit__grid {

        grid-template-columns: 1fr;
    }


    /* COMBINATIONS */

    .adv-solutions-combinations__grid {

        grid-template-columns: 1fr;
    }


    /* FINAL */

    .adv-solutions-final-info__grid {

        grid-template-columns: 1fr;
    }

}


/* ============================================================
   SMALL MOBILE
============================================================ */

@media (max-width: 520px) {

    .adv-solutions-display-grid {

        grid-template-columns: 1fr;
    }


    .adv-solutions-native {

        grid-template-columns: 1fr;
    }


    .adv-objective-card__main {

        grid-template-columns: 1fr;
    }


    .adv-objective-card__visual {

        min-height: 230px;
    }


    .adv-final-info-card {

        grid-template-columns: 1fr;

        min-height: auto;
    }

}


















/* ============================================================
   ADVERYON 2026
   /red-publicitaria
============================================================ */

#adv-red-publicitaria {

    --adv-red: #ff3b1f;
    --adv-red-hover: #e93118;

    --adv-navy: #001632;
    --adv-navy-soft: #062044;

    --adv-text: #0c1830;
    --adv-body: #394557;
    --adv-muted: #687384;

    --adv-border: #dce1e7;
    --adv-soft: #f7f8fa;

    width: 100%;

    background: #fff;

    color: var(--adv-text);

    font-family:
        "Encode Sans",
        Arial,
        sans-serif;

    overflow: hidden;
}


#adv-red-publicitaria *,
#adv-red-publicitaria *::before,
#adv-red-publicitaria *::after {

    box-sizing: border-box;
}


#adv-red-publicitaria img {

    display: block;

    width: 100%;
    max-width: 100%;
}


/* ============================================================
   BOXED
============================================================ */

.adv-red-container {

    position: relative;

    width: calc(100% - 48px);
    max-width: 1240px;

    margin-left: auto;
    margin-right: auto;
}


/* ============================================================
   SHARED
============================================================ */

.adv-red-line {

    display: block;

    width: 38px;
    height: 3px;

    margin:
        0
        0
        15px;

    background: var(--adv-red);
}


.adv-red-line--center {

    margin:
        13px
        auto
        0;
}


.adv-red-section-heading {

    margin-bottom: 42px;

    text-align: center;
}


.adv-red-section-heading h2 {

    margin: 0;

    font-size: 27px;
    line-height: 1.2;

    font-weight: 750;

    letter-spacing: -.02em;
}


.adv-red-copy h2 {

    margin:
        0
        0
        22px;

    font-size: 30px;
    line-height: 1.15;

    font-weight: 760;

    letter-spacing: -.025em;
}


.adv-red-copy p {

    max-width: 555px;

    margin:
        0
        0
        15px;

    color: var(--adv-body);

    font-size: 14px;
    line-height: 1.72;
}


/* ============================================================
   HERO
============================================================ */

.adv-red-hero {

    position: relative;

    min-height: 475px;

    background:

        linear-gradient(
            90deg,
            rgba(0,22,50,.98) 0%,
            rgba(0,22,50,.94) 28%,
            rgba(0,22,50,.58) 52%,
            rgba(0,22,50,.18) 100%
        ),

        url(
            "/image/catalog/adveryon/red-publicitaria/red-publicitaria-hero.png"
        )
        center / cover
        no-repeat;

    color: #fff;

    overflow: visible;
}


.adv-red-hero__content {

    width: 48%;
    max-width: 555px;

    min-height: 430px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding:
        55px
        0
        105px;
}


.adv-red-eyebrow {

    display: block;

    margin-bottom: 17px;

    color: var(--adv-red);

    font-size: 12px;
    line-height: 1;

    font-weight: 800;

    letter-spacing: .09em;
}


.adv-red-hero h1 {

    margin:
        0
        0
        20px;

    color: #fff;

    font-size:
        clamp(42px, 4vw, 58px);

    line-height: 1.04;

    font-weight: 760;

    letter-spacing: -.035em;
}


.adv-red-hero__content p {

    max-width: 520px;

    margin:
        0
        0
        26px;

    color:
        rgba(255,255,255,.94);

    font-size: 15px;
    line-height: 1.62;
}


/* CTA */

.adv-red-btn {

    width: fit-content;

    min-height: 51px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 16px;

    padding:
        0
        23px;

    background: var(--adv-red);

    color: #fff;

    font-size: 14px;

    font-weight: 700;

    text-decoration: none;
}


.adv-red-btn:hover {

    background: var(--adv-red-hover);

    color: #fff;
}


.adv-red-btn span {

    font-size: 20px;
}


/* ============================================================
   HERO OVERLAP
============================================================ */

.adv-red-hero-strip-wrap {

    position: absolute;

    z-index: 10;

    left: 0;
    right: 0;

    bottom: -67px;
}


.adv-red-hero-strip {

    min-height: 134px;

    display: grid;

    grid-template-columns:
        repeat(4, minmax(0,1fr));

    background: #fff;

    border:
        1px solid
        var(--adv-border);

    box-shadow:
        0 18px 36px
        rgba(0,20,45,.10);
}


.adv-red-hero-strip__item {

    position: relative;

    display: grid;

    grid-template-columns:
        45px
        1fr;

    gap: 18px;

    align-items: center;

    padding:
        30px
        25px;
}


.adv-red-hero-strip__item:not(:last-child)::after {

    content: "";

    position: absolute;

    top: 27px;
    right: 0;
    bottom: 27px;

    width: 1px;

    background:
        var(--adv-border);
}


.adv-red-hero-strip__icon {

    color: var(--adv-red);

    font-size: 29px;

    text-align: center;
}


.adv-red-hero-strip h2 {

    margin:
        0
        0
        8px;

    color: var(--adv-text);

    font-size: 14px;
    line-height: 1.25;

    font-weight: 750;
}


.adv-red-hero-strip p {

    margin: 0;

    color: var(--adv-body);

    font-size: 11.5px;
    line-height: 1.52;
}


/* ============================================================
   INTRO
============================================================ */

.adv-red-intro {

    padding:
        155px
        0
        90px;
}


.adv-red-split {

    display: grid;

    grid-template-columns:
        44%
        56%;

    gap: 65px;

    align-items: center;
}


.adv-red-image {

    overflow: hidden;
}


.adv-red-image img {

    height: 300px;

    object-fit: cover;
}


/* ============================================================
   TERRITORIO / NICHO
============================================================ */

.adv-red-structure {

    padding:
        75px
        0
        95px;
}


.adv-red-structure__grid {

    display: grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap: 28px;
}


.adv-red-structure-card {

    display: grid;

    grid-template-columns:
        160px
        1fr;

    gap: 27px;

    min-height: 190px;

    padding: 20px;

    border:
        1px solid
        var(--adv-border);

    background: #fff;
}


.adv-red-structure-card__media {

    overflow: hidden;
}


.adv-red-structure-card__media img {

    height: 148px;

    object-fit: cover;
}


.adv-red-structure-card__content {

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding-right: 13px;
}


.adv-red-structure-card h3 {

    margin:
        0
        0
        10px;

    font-size: 17px;
    line-height: 1.25;

    font-weight: 750;
}


.adv-red-structure-card p {

    margin: 0;

    color: var(--adv-body);

    font-size: 12px;
    line-height: 1.62;
}


/* ============================================================
   QUÉ HAY DENTRO
============================================================ */

.adv-red-inside {

    padding:
        90px
        0
        100px;

    background:
        #fafbfc;
}


.adv-red-inside__grid {

    display: grid;

    grid-template-columns:
        repeat(4,minmax(0,1fr));

    gap: 22px;
}


.adv-red-inside-card {

    min-height: 205px;

    padding:
        30px
        24px;

    border:
        1px solid
        var(--adv-border);

    background: #fff;

    text-align: center;
}


.adv-red-inside-card__icon {

    margin-bottom: 17px;

    color: var(--adv-red);

    font-size: 31px;
}


.adv-red-inside-card h3 {

    margin:
        0
        0
        11px;

    font-size: 13px;
    line-height: 1.35;

    font-weight: 750;
}


.adv-red-inside-card p {

    margin: 0;

    color: var(--adv-body);

    font-size: 11px;
    line-height: 1.55;
}


/* ============================================================
   COBERTURA CON CRITERIO
============================================================ */

.adv-red-quality {

    padding:
        100px
        0
        105px;
}


.adv-red-split--quality {

    grid-template-columns:
        42%
        58%;

    gap: 65px;
}


.adv-red-image--quality img {

    height: 325px;
}


/* ============================================================
   EMPRESIUM / ANUNCIUM / PRENSIUM
============================================================ */

.adv-red-presence {

    padding:
        90px
        0
        95px;

    background:
        #fafbfc;
}


.adv-red-presence__grid {

    display: grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    border:
        1px solid
        var(--adv-border);

    background: #fff;
}


.adv-red-presence-card {

    position: relative;

    display: grid;

    grid-template-columns:
        52px
        1fr;

    gap: 20px;

    min-height: 190px;

    padding:
        31px
        30px;
}


.adv-red-presence-card:not(:last-child)::after {

    content: "";

    position: absolute;

    top: 28px;
    right: 0;
    bottom: 28px;

    width: 1px;

    background:
        var(--adv-border);
}


.adv-red-presence-card__icon {

    color: var(--adv-red);

    font-size: 31px;
}


.adv-red-presence-card h3 {

    margin:
        0
        0
        10px;

    font-size: 15px;

    font-weight: 750;
}


.adv-red-presence-card p {

    margin:
        0
        0
        8px;

    color: var(--adv-body);

    font-size: 11.5px;
    line-height: 1.52;
}


/* ============================================================
   FORMATOS
============================================================ */

.adv-red-formats {

    padding:
        80px
        0
        95px;
}


.adv-red-formats__grid {

    max-width: 760px;

    margin:
        0
        auto;

    display: grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    border-top:
        1px solid
        var(--adv-border);

    border-bottom:
        1px solid
        var(--adv-border);
}


.adv-red-format {

    position: relative;

    display: grid;

    grid-template-columns:
        50px
        1fr;

    gap: 20px;

    align-items: center;

    min-height: 140px;

    padding:
        28px
        35px;
}


.adv-red-format:first-child::after {

    content: "";

    position: absolute;

    right: 0;
    top: 25px;
    bottom: 25px;

    width: 1px;

    background:
        var(--adv-border);
}


.adv-red-format__icon {

    color: var(--adv-red);

    font-size: 29px;
}


.adv-red-format h3 {

    margin:
        0
        0
        7px;

    font-size: 14px;

    font-weight: 750;
}


.adv-red-format p {

    margin: 0;

    color: var(--adv-body);

    font-size: 11.5px;
    line-height: 1.52;
}


/* ============================================================
   PORTALES
============================================================ */

.adv-red-portals {

    padding:
        85px
        0
        135px;

    background:
        #fafbfc;
}


.adv-red-portals__grid {

    display: grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap: 32px;
}


.adv-red-portal-card {

    border:
        1px solid
        var(--adv-border);

    background: #fff;
}


.adv-red-portal-card__image {

    height: 205px;

    overflow: hidden;
}


.adv-red-portal-card__image img {

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.adv-red-portal-card__body {

    min-height: 330px;

    padding:
        30px
        35px
        26px;
}


.adv-red-portal-card__heading {

    display: flex;

    align-items: center;

    gap: 14px;
}


.adv-red-portal-card__heading i {

    color: var(--adv-red);

    font-size: 22px;
}


.adv-red-portal-card__heading h3 {

    margin: 0;

    font-size: 16px;

    font-weight: 750;
}


.adv-red-portal-card__separator {

    display: block;

    width: 100%;
    height: 1px;

    margin:
        17px
        0
        18px;

    background:
        var(--adv-border);
}


.adv-red-portal-list {

    margin: 0;

    padding-left: 24px;

    color: var(--adv-body);

    font-size: 12px;
    line-height: 1.85;
}


.adv-red-portal-card__more {

    margin-top: 14px;

    color: #525d6c;

    font-size: 11px;

    text-align: center;
}


/* ============================================================
   TABLET
============================================================ */

@media (max-width: 1050px) {

    .adv-red-container {

        width:
            calc(100% - 36px);
    }


    .adv-red-hero__content {

        width: 55%;
    }


    .adv-red-hero-strip {

        grid-template-columns:
            repeat(2,1fr);
    }


    .adv-red-hero-strip__item:nth-child(2)::after {

        display: none;
    }


    .adv-red-hero-strip__item:nth-child(-n+2) {

        border-bottom:
            1px solid
            var(--adv-border);
    }


    .adv-red-intro {

        padding-top: 205px;
    }


    .adv-red-split {

        gap: 40px;
    }


    .adv-red-inside__grid {

        grid-template-columns:
            repeat(2,1fr);
    }


    .adv-red-presence__grid {

        grid-template-columns: 1fr;
    }


    .adv-red-presence-card:not(:last-child)::after {

        top: auto;

        left: 30px;
        right: 30px;
        bottom: 0;

        width: auto;
        height: 1px;
    }

}


/* ============================================================
   MOBILE
============================================================ */

@media (max-width: 767px) {

    .adv-red-container {

        width:
            calc(100% - 28px);
    }


    /* HERO */

    .adv-red-hero {

        min-height: 620px;

        background-position:
            68% center;
    }


    .adv-red-hero::before {

        content: "";

        position: absolute;

        inset: 0;

        background:
            linear-gradient(
                0deg,
                rgba(0,22,50,.98) 0%,
                rgba(0,22,50,.93) 58%,
                rgba(0,22,50,.30) 100%
            );
    }


    .adv-red-hero__content {

        position: relative;

        z-index: 2;

        width: 100%;

        min-height: 560px;

        justify-content: flex-end;

        padding:
            160px
            0
            90px;
    }


    .adv-red-hero h1 {

        font-size: 40px;
    }


    /* OVERLAP */

    .adv-red-hero-strip-wrap {

        position: relative;

        bottom: auto;

        margin-top: -55px;
    }


    .adv-red-hero-strip {

        grid-template-columns: 1fr;
    }


    .adv-red-hero-strip__item {

        min-height: 110px;

        border-bottom:
            1px solid
            var(--adv-border);
    }


    .adv-red-hero-strip__item::after {

        display: none;
    }


    .adv-red-hero-strip__item:last-child {

        border-bottom: 0;
    }


    /* INTRO */

    .adv-red-intro {

        padding:
            75px
            0;
    }


    .adv-red-split,
    .adv-red-split--quality {

        grid-template-columns: 1fr;

        gap: 35px;
    }


    .adv-red-image img,
    .adv-red-image--quality img {

        height: 240px;
    }


    /* STRUCTURE */

    .adv-red-structure__grid {

        grid-template-columns: 1fr;
    }


    .adv-red-structure-card {

        grid-template-columns: 1fr;

        padding: 18px;
    }


    .adv-red-structure-card__media img {

        height: 210px;
    }


    /* INSIDE */

    .adv-red-inside__grid {

        grid-template-columns: 1fr;
    }


    /* PRESENCE */

    .adv-red-presence-card {

        grid-template-columns:
            44px
            1fr;

        padding:
            28px
            23px;
    }


    /* FORMATS */

    .adv-red-formats__grid {

        grid-template-columns: 1fr;
    }


    .adv-red-format:first-child::after {

        top: auto;

        left: 25px;
        right: 25px;
        bottom: 0;

        width: auto;
        height: 1px;
    }


    /* PORTALS */

    .adv-red-portals__grid {

        grid-template-columns: 1fr;
    }


    .adv-red-portal-card__image {

        height: 230px;
    }


    .adv-red-portal-card__body {

        min-height: auto;
    }

}













/* ============================================================
   ADVERYON 2026
   /como-funciona
   PAGE TYPE A
   HERO LIGHT + OVERLAP DARK
============================================================ */


/* ============================================================
   BASE
============================================================ */

#adv-how {

    --adv-red: #ff3b1f;
    --adv-red-hover: #e93018;

    --adv-navy: #001632;
    --adv-navy-2: #071d3d;

    --adv-text: #0d1930;
    --adv-body: #394556;
    --adv-muted: #697485;

    --adv-border: #dce1e7;

    --adv-soft: #f7f8fa;
    --adv-soft-2: #f2f5f8;

    width: 100%;

    background: #fff;

    color: var(--adv-text);

    font-family:
        "Encode Sans",
        Arial,
        sans-serif;

    overflow: hidden;
}


#adv-how *,
#adv-how *::before,
#adv-how *::after {

    box-sizing: border-box;
}


#adv-how img {

    display: block;

    max-width: 100%;
}


/* ============================================================
   BOXED
============================================================ */

.adv-how-container {

    position: relative;

    width: calc(100% - 48px);
    max-width: 1240px;

    margin-left: auto;
    margin-right: auto;
}


/* ============================================================
   SHARED
============================================================ */

.adv-how-line {

    display: block;

    width: 38px;
    height: 3px;

    margin-bottom: 14px;

    background: var(--adv-red);
}


.adv-how-section-heading {

    margin-bottom: 42px;
}


.adv-how-section-heading--left {

    max-width: 830px;
}


.adv-how-section-heading h2 {

    margin:
        0
        0
        14px;

    font-size: 29px;
    line-height: 1.2;

    font-weight: 750;

    letter-spacing: -.025em;
}


.adv-how-section-heading > p {

    margin:
        0
        0
        9px;

    color: var(--adv-body);

    font-size: 13px;
    line-height: 1.65;
}


/* ============================================================
   HERO · LIGHT
============================================================ */

.adv-how-hero {

    position: relative;

    min-height: 460px;

    background:
        #f7f8f9;

    overflow: visible;
}


/* HERO IMAGE */

.adv-how-hero__visual {

    position: absolute;

    z-index: 1;

    top: 0;
    right: 0;
    bottom: 0;

    width: 60%;

    overflow: hidden;
}


.adv-how-hero__visual::before {

    content: "";

    position: absolute;

    z-index: 2;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            #f7f8f9 0%,
            rgba(247,248,249,.97) 10%,
            rgba(247,248,249,.58) 25%,
            rgba(247,248,249,.12) 46%,
            rgba(247,248,249,0) 68%
        );
}


.adv-how-hero__visual img {

    width: 100%;
    height: 100%;

    object-fit: cover;

    object-position:
        center center;
}


/* HERO CONTENT */

.adv-how-hero
> .adv-how-container {

    z-index: 3;
}


.adv-how-hero__content {

    position: relative;

    z-index: 4;

    width: 48%;
    max-width: 570px;

    min-height: 410px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding:
        50px
        0
        96px;
}


.adv-how-eyebrow {

    display: block;

    margin-bottom: 18px;

    color: var(--adv-red);

    font-size: 12px;
    line-height: 1;

    font-weight: 800;

    letter-spacing: .085em;
}


.adv-how-hero h1 {

    margin:
        0
        0
        18px;

    color: var(--adv-text);

    font-size:
        clamp(40px, 4vw, 56px);

    line-height: 1.05;

    font-weight: 760;

    letter-spacing: -.035em;
}


.adv-how-hero__content > p {

    max-width: 520px;

    margin:
        0
        0
        25px;

    color: var(--adv-body);

    font-size: 14px;
    line-height: 1.65;
}


/* HERO CTA */

.adv-how-btn {

    width: fit-content;

    min-height: 50px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 16px;

    padding:
        0
        23px;

    background: var(--adv-red);

    color: #fff;

    font-size: 14px;

    font-weight: 700;

    text-decoration: none;
}


.adv-how-btn:hover {

    background: var(--adv-red-hover);

    color: #fff;
}


.adv-how-btn span {

    font-size: 20px;
}


/* ============================================================
   DARK HERO OVERLAP
   SIN ICONOS
============================================================ */

.adv-how-summary-wrap {

    position: absolute;

    z-index: 20;

    left: 0;
    right: 0;

    bottom: -68px;
}


.adv-how-summary {

    min-height: 136px;

    display: grid;

    grid-template-columns:
        repeat(4, minmax(0,1fr));

    background:
        linear-gradient(
            105deg,
            #001632 0%,
            #062047 100%
        );

    color: #fff;

    box-shadow:
        0 18px 36px
        rgba(0,20,45,.12);
}


.adv-how-summary__item {

    position: relative;

    min-height: 136px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding:
        28px
        32px;

    text-align: left;
}


.adv-how-summary__item:not(:last-child)::after {

    content: "";

    position: absolute;

    top: 30px;
    right: 0;
    bottom: 30px;

    width: 1px;

    background:
        rgba(255,255,255,.22);
}


.adv-how-summary h2 {

    margin:
        0
        0
        11px;

    color: #fff;

    font-size: 16px;
    line-height: 1.25;

    font-weight: 750;
}


.adv-how-summary p {

    max-width: 225px;

    margin: 0;

    color:
        rgba(255,255,255,.80);

    font-size: 12px;
    line-height: 1.55;
}


/* ============================================================
   PROCESS
============================================================ */

.adv-how-process {

    padding:
        155px
        0
        95px;
}


.adv-how-process__list {

    position: relative;

    max-width: 980px;

    margin-left: 55px;
}


.adv-how-process__list::before {

    content: "";

    position: absolute;

    top: 21px;
    bottom: 21px;

    left: 24px;

    width: 1px;

    border-left:
        1px dashed
        #cdd3da;
}


.adv-how-step {

    position: relative;

    display: grid;

    grid-template-columns:
        50px
        1fr;

    gap: 30px;

    min-height: 118px;
}


.adv-how-step__number {

    position: relative;

    z-index: 2;

    width: 49px;
    height: 49px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: var(--adv-red);

    color: #fff;

    border-radius: 50%;

    font-size: 18px;

    font-weight: 700;
}


.adv-how-step__content {

    padding:
        1px
        0
        31px;
}


.adv-how-step h3 {

    margin:
        0
        0
        8px;

    font-size: 16px;
    line-height: 1.35;

    font-weight: 750;
}


.adv-how-step p {

    max-width: 800px;

    margin: 0;

    color: var(--adv-body);

    font-size: 12.5px;
    line-height: 1.65;
}


.adv-how-step--last
.adv-how-step__content {

    padding-bottom: 0;
}


/* ============================================================
   RESPONSIBILITIES
============================================================ */

.adv-how-responsibilities {

    padding:
        80px
        0
        60px;

    background:
        #fafbfc;
}


.adv-how-responsibilities__box {

    display: grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    background: #fff;

    border:
        1px solid
        var(--adv-border);
}


.adv-how-responsibility {

    position: relative;

    display: grid;

    grid-template-columns:
        60px
        1fr;

    gap: 25px;

    min-height: 250px;

    padding:
        40px
        42px;
}


.adv-how-responsibility:first-child::after {

    content: "";

    position: absolute;

    top: 34px;
    right: 0;
    bottom: 34px;

    width: 1px;

    background:
        var(--adv-border);
}


.adv-how-responsibility__icon {

    color: var(--adv-navy);

    font-size: 43px;
}


.adv-how-responsibility h2 {

    margin:
        0
        0
        18px;

    font-size: 19px;
    line-height: 1.3;

    font-weight: 750;
}


.adv-how-responsibility ul {

    list-style: none;

    display: grid;

    gap: 10px;

    margin: 0;

    padding: 0;
}


.adv-how-responsibility li {

    position: relative;

    padding-left: 18px;

    color: var(--adv-body);

    font-size: 12px;
    line-height: 1.45;
}


.adv-how-responsibility li::before {

    content: "•";

    position: absolute;

    left: 0;

    color: var(--adv-red);

    font-size: 16px;
}


/* ============================================================
   VALIDATION
============================================================ */

.adv-how-validation {

    padding:
        48px
        0
        75px;

    background:
        #fafbfc;
}


.adv-how-validation__box {

    display: grid;

    grid-template-columns:
        75px
        1fr;

    gap: 28px;

    align-items: center;

    min-height: 145px;

    padding:
        30px
        40px;

    border:
        1px solid
        var(--adv-border);

    background:
        linear-gradient(
            90deg,
            #eef2f7 0%,
            #f8f9fa 100%
        );
}


.adv-how-validation__icon {

    width: 62px;
    height: 62px;

    display: flex;
    align-items: center;
    justify-content: center;

    background:
        var(--adv-navy);

    color: #fff;

    border-radius: 50%;

    font-size: 28px;
}


.adv-how-validation h2 {

    margin:
        0
        0
        8px;

    font-size: 18px;
    line-height: 1.3;

    font-weight: 750;
}


.adv-how-validation p {

    margin:
        0
        0
        4px;

    color: var(--adv-body);

    font-size: 12px;
    line-height: 1.55;
}


/* ============================================================
   RECONFIGURATIONS
============================================================ */

.adv-how-reconfig {

    padding:
        85px
        0
        95px;
}


.adv-how-reconfig__table {

    max-width: 940px;

    display: grid;

    grid-template-columns:
        repeat(4, 1fr)
        1.55fr;

    border:
        1px solid
        var(--adv-border);

    background: #fff;
}


.adv-how-reconfig__item {

    position: relative;

    min-height: 95px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    padding:
        14px
        18px;

    text-align: center;
}


.adv-how-reconfig__item:not(:last-child)::after {

    content: "";

    position: absolute;

    top: 18px;
    right: 0;
    bottom: 18px;

    width: 1px;

    background:
        var(--adv-border);
}


.adv-how-reconfig__item span {

    margin-bottom: 8px;

    color: var(--adv-body);

    font-size: 11px;

    font-weight: 600;
}


.adv-how-reconfig__item strong {

    color: var(--adv-text);

    font-size: 20px;

    font-weight: 750;
}


.adv-how-reconfig__item--extra strong {

    color: var(--adv-red);

    font-size: 18px;
}


/* ============================================================
   FAQ
============================================================ */

.adv-how-faq {

    padding:
        90px
        0
        140px;

    background:
        #fafbfc;
}


.adv-how-faq__list {

    max-width: 1040px;
}


.adv-how-faq-item {

    border:
        1px solid
        var(--adv-border);

    background: #fff;
}


.adv-how-faq-item + .adv-how-faq-item {

    border-top: 0;
}


.adv-how-faq-item summary {

    position: relative;

    min-height: 61px;

    display: flex;
    align-items: center;

    padding:
        15px
        56px
        15px
        24px;

    cursor: pointer;

    color: var(--adv-text);

    font-size: 12.5px;

    font-weight: 700;

    list-style: none;
}


.adv-how-faq-item summary::-webkit-details-marker {

    display: none;
}


.adv-how-faq-item summary::after {

    content: "+";

    position: absolute;

    top: 50%;
    right: 23px;

    transform:
        translateY(-50%);

    color: var(--adv-text);

    font-size: 22px;

    font-weight: 400;
}


.adv-how-faq-item[open]
summary::after {

    content: "−";
}


.adv-how-faq-item__content {

    padding:
        0
        24px
        25px;

    color: var(--adv-body);
}


.adv-how-faq-item__content > p {

    max-width: 850px;

    margin:
        0
        0
        13px;

    font-size: 12px;
    line-height: 1.65;
}


.adv-how-faq-human {

    max-width: 850px;

    padding:
        12px
        15px;

    border-left:
        3px solid
        var(--adv-red);

    background:
        var(--adv-soft);

    color: #495464;

    font-size: 11.5px;
    line-height: 1.55;
}


.adv-how-faq-human strong {

    color: var(--adv-text);
}


/* ============================================================
   TABLET
============================================================ */

@media (max-width: 1050px) {

    .adv-how-container {

        width:
            calc(100% - 36px);
    }


    .adv-how-hero__visual {

        width: 62%;
    }


    .adv-how-hero__content {

        width: 52%;
    }


    .adv-how-summary {

        grid-template-columns:
            repeat(2,1fr);
    }


    .adv-how-summary-wrap {

        bottom: -136px;
    }


    .adv-how-summary__item:nth-child(2)::after {

        display: none;
    }


    .adv-how-summary__item:nth-child(-n+2) {

        border-bottom:
            1px solid
            rgba(255,255,255,.18);
    }


    .adv-how-process {

        padding-top: 225px;
    }


    .adv-how-process__list {

        margin-left: 20px;
    }


    .adv-how-responsibility {

        padding:
            35px
            28px;
    }


    .adv-how-reconfig__table {

        grid-template-columns:
            repeat(2,1fr);
    }


    .adv-how-reconfig__item--extra {

        grid-column:
            1 / -1;

        border-top:
            1px solid
            var(--adv-border);
    }

}


/* ============================================================
   MOBILE
============================================================ */

@media (max-width: 767px) {

    .adv-how-container {

        width:
            calc(100% - 28px);
    }


    /* HERO */

    .adv-how-hero {

        min-height: 640px;
    }


    .adv-how-hero__visual {

        top: 0;

        width: 100%;
        height: 310px;
    }


    .adv-how-hero__visual::before {

        background:
            linear-gradient(
                0deg,
                #f7f8f9 0%,
                rgba(247,248,249,.80) 16%,
                rgba(247,248,249,0) 46%
            );
    }


    .adv-how-hero__content {

        width: 100%;

        min-height: 570px;

        justify-content: flex-end;

        padding:
            300px
            0
            65px;
    }


    .adv-how-hero h1 {

        font-size: 39px;
    }


    /* SUMMARY */

    .adv-how-summary-wrap {

        position: relative;

        bottom: auto;

        margin-top: -18px;
    }


    .adv-how-summary {

        grid-template-columns: 1fr;
    }


    .adv-how-summary__item {

        min-height: 105px;

        padding:
            24px
            26px;

        text-align: left;

        border-bottom:
            1px solid
            rgba(255,255,255,.16);
    }


    .adv-how-summary__item:last-child {

        border-bottom: 0;
    }


    .adv-how-summary__item::after {

        display: none;
    }


    /* PROCESS */

    .adv-how-process {

        padding:
            80px
            0;
    }


    .adv-how-process__list {

        margin-left: 0;
    }


    .adv-how-step {

        grid-template-columns:
            44px
            1fr;

        gap: 20px;
    }


    .adv-how-step__number {

        width: 43px;
        height: 43px;
    }


    .adv-how-process__list::before {

        left: 21px;
    }


    /* RESPONSIBILITIES */

    .adv-how-responsibilities__box {

        grid-template-columns: 1fr;
    }


    .adv-how-responsibility {

        min-height: auto;

        grid-template-columns:
            45px
            1fr;

        padding:
            30px
            25px;
    }


    .adv-how-responsibility:first-child::after {

        top: auto;

        left: 28px;
        right: 28px;
        bottom: 0;

        width: auto;
        height: 1px;
    }


    .adv-how-responsibility__icon {

        font-size: 33px;
    }


    /* VALIDATION */

    .adv-how-validation__box {

        grid-template-columns: 1fr;

        padding:
            28px
            25px;
    }


    /* RECONFIG */

    .adv-how-reconfig__table {

        grid-template-columns: 1fr;
    }


    .adv-how-reconfig__item {

        min-height: 82px;

        border-bottom:
            1px solid
            var(--adv-border);
    }


    .adv-how-reconfig__item::after {

        display: none;
    }


    .adv-how-reconfig__item--extra {

        grid-column: auto;
    }


    /* FAQ */

    .adv-how-faq {

        padding-bottom: 105px;
    }

}






















/* ============================================================
   ADVERYON 2026
   HOME FINAL CSS
   Compatible con el HTML #adv-home entregado anteriormente
============================================================ */

#adv-home {
    --adv-red: #ff3b1f;
    --adv-red-hover: #e9341c;

    --adv-navy: #001632;
    --adv-navy-mid: #082552;
    --adv-navy-soft: #0d2f63;

    --adv-text: #071b49;
    --adv-body: #46556b;
    --adv-muted: #718096;

    --adv-border: #d7dee8;
    --adv-border-dark: #bcc7d5;

    --adv-bg: #ffffff;
    --adv-bg-soft: #f6f8fb;
    --adv-bg-soft2: #f1f4f8;

    width: 100%;
    margin: 0;
    padding: 0;

    background: var(--adv-bg);
    color: var(--adv-text);

    font-family: "Barlow", Arial, sans-serif;

    overflow: hidden;
}

#adv-home *,
#adv-home *::before,
#adv-home *::after {
    box-sizing: border-box;
}

#adv-home img {
    display: block;
    width: 100%;
    max-width: 100%;
}


/* ============================================================
   BOXED GENERAL
============================================================ */

.adv-home-container {
    position: relative;

    width: calc(100% - 48px);
    max-width: 1240px;

    margin-left: auto;
    margin-right: auto;
}


/* ============================================================
   TYPOGRAPHY
============================================================ */

#adv-home h1,
#adv-home h2,
#adv-home h3,
.adv-home-price,
.adv-home-plan-card__price {
    font-family:
        "Barlow Semi Condensed",
        "Barlow",
        Arial,
        sans-serif;
}

.adv-home-line {
    display: block;

    width: 42px;
    height: 3px;

    margin: 0 0 16px;

    background: var(--adv-red);
}

.adv-home-section-heading {
    margin-bottom: 42px;
}

.adv-home-section-heading h2 {
    margin: 0 0 8px;

    font-size: 32px;
    line-height: 1.12;

    font-weight: 700;
}

.adv-home-section-heading p {
    max-width: 670px;

    margin: 0;

    color: var(--adv-body);

    font-size: 15px;
    line-height: 1.6;
}


/* ==========================================================================
   ADVERYON ESPAÑA 2026 — HOME
   Compatible con el CSS maestro:
   adveryon-2026-inicial-encode-sans-1240.css

   Tipografía:
   - Texto/UI: Encode Sans -> var(--adv-font)
   - Headings/precios/destacados: Encode Sans Semi Condensed -> var(--adv-font-display)

   Layout:
   - Hero full width
   - Contenido boxed 1240 px
   - Hero tipo S + bloque light superpuesto
   - border-radius: 0
   ========================================================================== */

#adv-home {
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
	color: var(--adv-text, #475569);
	background: var(--adv-surface, #FFFFFF);
	font-family: var(--adv-font, 'Encode Sans', Arial, Helvetica, sans-serif);
}

#adv-home,
#adv-home *,
#adv-home *::before,
#adv-home *::after {
	box-sizing: border-box;
}

#adv-home img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
}

#adv-home h1,
#adv-home h2,
#adv-home h3,
#adv-home h4,
#adv-home h5,
#adv-home h6,
#adv-home .adv-home-price,
#adv-home .adv-home-plan-card__price,
#adv-home .adv-home-plan-card__recommended {
	font-family: var(--adv-font-display, 'Encode Sans Semi Condensed', 'Encode Sans', Arial, Helvetica, sans-serif);
}

#adv-home p,
#adv-home li,
#adv-home a,
#adv-home button,
#adv-home span,
#adv-home strong {
	font-family: var(--adv-font, 'Encode Sans', Arial, Helvetica, sans-serif);
}

/* ==========================================================================
   BOXED
   ========================================================================== */

.adv-home-container {
	position: relative;
	width: calc(100% - 48px);
	max-width: var(--adv-container, 1240px);
	margin-right: auto;
	margin-left: auto;
}

/* ==========================================================================
   SHARED
   ========================================================================== */

.adv-home-line {
	display: block;
	width: 42px;
	height: 3px;
	margin: 0 0 16px;
	background: var(--adv-orange, #FF3B1F);
}

.adv-home-line--light {
	background: #FFFFFF;
}

.adv-home-section-heading {
	margin-bottom: 42px;
}

.adv-home-section-heading h2 {
	margin: 0 0 9px;
	color: var(--adv-ink, #1E293B);
	font-size: 32px;
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.018em;
}

.adv-home-section-heading p {
	max-width: 700px;
	margin: 0;
	color: var(--adv-text, #475569);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.58;
}

/* ==========================================================================
   HERO — TYPE S
   ========================================================================== */

.adv-home-hero {
	position: relative;
	width: 100%;
	min-height: 520px;
	overflow: visible;
	color: #FFFFFF;
	background:
		linear-gradient(
			90deg,
			rgba(7, 17, 38, .98) 0%,
			rgba(7, 17, 38, .93) 32%,
			rgba(7, 17, 38, .58) 56%,
			rgba(7, 17, 38, .12) 83%
		),
		url("/image/catalog/adveryon/home/home-hero.png") center center / cover no-repeat;
}

.adv-home-hero__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 49%;
	max-width: 585px;
	min-height: 465px;
	padding: 58px 0 112px;
}

.adv-home-eyebrow {
	display: block;
	margin-bottom: 17px;
	color: var(--adv-orange, #FF3B1F);
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.adv-home-hero h1 {
	margin: 0 0 20px;
	color: #FFFFFF;
	font-size: clamp(44px, 4.2vw, 58px);
	font-weight: 800;
	line-height: 1.03;
	letter-spacing: -0.018em;
}

.adv-home-hero__content > p {
	max-width: 540px;
	margin: 0 0 29px;
	color: rgba(255,255,255,.92);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.58;
}

.adv-home-hero__actions {
	display: flex;
	align-items: center;
	gap: 14px;
}

/* BUTTONS */

.adv-home-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	min-height: 52px;
	padding: 13px 24px;
	border-radius: 0;
	font-family: var(--adv-font, 'Encode Sans', Arial, Helvetica, sans-serif);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.15;
	text-decoration: none !important;
}

.adv-home-btn--primary {
	border: 1px solid var(--adv-orange, #FF3B1F);
	background: var(--adv-orange, #FF3B1F);
	color: #FFFFFF !important;
}

.adv-home-btn--primary:hover,
.adv-home-btn--primary:focus {
	border-color: var(--adv-orange-hover, #D92D15);
	background: var(--adv-orange-hover, #D92D15);
	color: #FFFFFF !important;
}

.adv-home-btn--outline-light {
	border: 1px solid rgba(255,255,255,.82);
	background: rgba(7,17,38,.16);
	color: #FFFFFF !important;
}

.adv-home-btn--outline-light:hover,
.adv-home-btn--outline-light:focus {
	border-color: #FFFFFF;
	background: #FFFFFF;
	color: var(--adv-navy, #0B1739) !important;
}

/* ==========================================================================
   HERO OVERLAP — LIGHT
   ========================================================================== */

.adv-home-hero-summary-wrap {
	position: absolute;
	z-index: 20;
	right: 0;
	bottom: -70px;
	left: 0;
}

.adv-home-hero-summary {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	min-height: 140px;
	border: 1px solid var(--adv-line-strong, #CBD5E1);
	background: var(--adv-surface, #FFFFFF);
	box-shadow: var(--adv-shadow-sm, 0 10px 30px rgba(11,23,57,.07));
}

.adv-home-hero-summary article {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 31px 31px;
}

.adv-home-hero-summary article:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 31px;
	right: 0;
	bottom: 31px;
	width: 1px;
	background: var(--adv-line, #E2E8F0);
}

.adv-home-hero-summary h2 {
	margin: 0 0 8px;
	color: var(--adv-navy, #0B1739);
	font-family: var(--adv-font-display, 'Encode Sans Semi Condensed', 'Encode Sans', Arial, sans-serif);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.18;
	letter-spacing: -0.01em;
}

.adv-home-hero-summary p {
	max-width: 205px;
	margin: 0;
	color: var(--adv-text, #475569);
	font-size: 12px;
	font-weight: 400;
	line-height: 1.55;
}

/* ==========================================================================
   PACK BIENVENIDA
   ========================================================================== */

.adv-home-welcome {
	padding: 175px 0 105px;
}

.adv-home-welcome__box {
	border: 1px solid var(--adv-line-strong, #CBD5E1);
	background: #FFFFFF;
}

.adv-home-welcome__top {
	display: grid;
	grid-template-columns: 40% 60%;
	min-height: 345px;
	color: #FFFFFF;
	background:
		linear-gradient(
			110deg,
			var(--adv-navy-deep, #071126) 0%,
			var(--adv-navy, #0B1739) 38%,
			var(--adv-blue, #1E3A8A) 100%
		);
}

.adv-home-welcome__offer {
	position: relative;
	padding: 45px 44px;
	border-right: 1px solid rgba(255,255,255,.20);
}

.adv-home-welcome__badge {
	display: inline-block;
	margin-bottom: 15px;
	padding: 7px 11px;
	background: var(--adv-orange, #FF3B1F);
	color: #FFFFFF;
	font-size: 10px;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
}

.adv-home-welcome__offer h2 {
	margin: 0;
	color: #FFFFFF;
	font-size: 38px;
	font-weight: 800;
	line-height: 1.04;
	letter-spacing: -0.015em;
}

.adv-home-price {
	display: flex;
	align-items: flex-end;
	gap: 9px;
	margin: 8px 0 4px;
}

.adv-home-price strong {
	color: var(--adv-orange, #FF3B1F);
	font-family: var(--adv-font-display, 'Encode Sans Semi Condensed', 'Encode Sans', Arial, sans-serif);
	font-size: 61px;
	font-weight: 800;
	line-height: .95;
}

.adv-home-price span {
	padding-bottom: 7px;
	color: #FFFFFF;
	font-size: 15px;
	font-weight: 600;
}

.adv-home-welcome__period {
	margin: 12px 0 8px;
	color: #FFFFFF;
	font-size: 14px;
	font-weight: 600;
}

.adv-home-welcome__lead {
	max-width: 385px;
	margin: 0 0 24px;
	color: rgba(255,255,255,.91);
	font-size: 13px;
	font-weight: 400;
	line-height: 1.55;
}

.adv-home-btn--welcome {
	min-height: 48px;
	border: 1px solid var(--adv-orange, #FF3B1F);
	color: #FFFFFF !important;
}

.adv-home-btn--welcome:hover,
.adv-home-btn--welcome:focus {
	background: var(--adv-orange, #FF3B1F);
	color: #FFFFFF !important;
}

.adv-home-welcome__message {
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr);
	gap: 22px;
	align-items: center;
	padding: 48px 55px;
}

.adv-home-welcome__marker {
	width: 11px;
	height: 11px;
	border: 2px solid var(--adv-orange, #FF3B1F);
	transform: rotate(45deg);
}

.adv-home-welcome__message h3 {
	max-width: 600px;
	margin: 0 0 13px;
	color: #FFFFFF;
	font-size: 30px;
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.015em;
}

.adv-home-welcome__message p {
	max-width: 600px;
	margin: 0;
	color: rgba(255,255,255,.84);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.58;
}

.adv-home-welcome__features {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 54px;
	padding: 38px 43px;
	background: var(--adv-surface-soft, #F8FAFC);
}

.adv-home-welcome__features ul {
	display: grid;
	gap: 15px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.adv-home-welcome__features li {
	position: relative;
	padding-left: 24px;
	color: var(--adv-text, #475569);
	font-size: 13px;
	font-weight: 400;
	line-height: 1.45;
}

.adv-home-welcome__features li::before {
	content: "✓";
	position: absolute;
	top: 0;
	left: 0;
	color: var(--adv-orange, #FF3B1F);
	font-weight: 700;
}

.adv-home-welcome__after {
	padding: 18px 43px;
	border-top: 1px solid var(--adv-line, #E2E8F0);
	color: var(--adv-muted, #64748B);
	font-size: 12px;
	line-height: 1.5;
}

/* ==========================================================================
   MAIN LINKS / CARDS
   ========================================================================== */

.adv-home-paths {
	padding: 20px 0 110px;
}

.adv-home-paths__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

.adv-home-path-card {
	display: flex;
	flex-direction: column;
	border: 1px solid var(--adv-line, #E2E8F0);
	background: #FFFFFF;
}

.adv-home-path-card__image {
	height: 155px;
	overflow: hidden;
}

.adv-home-path-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.adv-home-path-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-height: 210px;
	padding: 24px 23px;
}

.adv-home-path-card h2 {
	margin: 0 0 9px;
	color: var(--adv-navy, #0B1739);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.12;
}

.adv-home-path-card p {
	margin: 0 0 20px;
	color: var(--adv-text, #475569);
	font-size: 12px;
	line-height: 1.55;
}

.adv-home-path-card a {
	margin-top: auto;
	color: var(--adv-blue, #1E3A8A);
	font-size: 12px;
	font-weight: 600;
	text-decoration: none;
}

.adv-home-path-card a:hover,
.adv-home-path-card a:focus {
	color: var(--adv-orange-hover, #D92D15);
}

/* ==========================================================================
   SOLUCIONES
   ========================================================================== */

.adv-home-solutions {
	padding: 110px 0;
	background: var(--adv-surface-soft, #F8FAFC);
}

.adv-home-solutions__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}

.adv-home-solution-card {
	display: grid;
	grid-template-columns: 55px minmax(0, 1fr);
	gap: 23px;
	min-height: 235px;
	padding: 32px 30px;
	border: 1px solid var(--adv-line, #E2E8F0);
	border-top: 4px solid var(--adv-navy, #0B1739);
	background: #FFFFFF;
}

.adv-home-solution-card__icon {
	color: var(--adv-orange, #FF3B1F);
	font-size: 35px;
}

.adv-home-solution-card h3 {
	margin: 0 0 8px;
	color: var(--adv-navy, #0B1739);
	font-size: 22px;
	font-weight: 800;
	line-height: 1.1;
}

.adv-home-solution-card strong {
	display: block;
	margin-bottom: 10px;
	color: var(--adv-ink, #1E293B);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.45;
}

.adv-home-solution-card p {
	margin: 0;
	color: var(--adv-text, #475569);
	font-size: 12px;
	line-height: 1.55;
}

.adv-home-section-link {
	margin-top: 30px;
	text-align: right;
}

.adv-home-section-link a {
	color: var(--adv-blue, #1E3A8A);
	font-size: 12px;
	font-weight: 600;
	text-decoration: none;
}

.adv-home-section-link a:hover,
.adv-home-section-link a:focus {
	color: var(--adv-orange-hover, #D92D15);
}

/* ==========================================================================
   OBJETIVOS — DARK
   ========================================================================== */

.adv-home-objectives {
	padding: 0 0 120px;
	background: var(--adv-surface-soft, #F8FAFC);
}

.adv-home-objectives__box {
	padding: 46px 42px 30px;
	color: #FFFFFF;
	background:
		linear-gradient(
			110deg,
			var(--adv-navy-deep, #071126),
			var(--adv-navy-soft, #14224A)
		);
}

.adv-home-objectives__heading {
	margin-bottom: 31px;
}

.adv-home-objectives__heading h2 {
	margin: 0 0 7px;
	color: #FFFFFF;
	font-size: 31px;
	font-weight: 800;
	line-height: 1.08;
}

.adv-home-objectives__heading p {
	margin: 0;
	color: rgba(255,255,255,.74);
	font-size: 13px;
	line-height: 1.55;
}

.adv-home-objectives__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 29px;
}

.adv-home-objective-card {
	display: grid;
	grid-template-columns: 65px minmax(0, 1fr);
	gap: 25px;
	min-height: 215px;
	padding: 31px 32px;
	border: 1px solid rgba(255,59,31,.78);
}

.adv-home-objective-card__icon {
	color: var(--adv-orange, #FF3B1F);
	font-size: 43px;
}

.adv-home-objective-card h3 {
	margin: 0 0 6px;
	color: #FFFFFF;
	font-size: 23px;
	font-weight: 800;
	line-height: 1.08;
}

.adv-home-objective-card strong {
	display: block;
	margin-bottom: 10px;
	color: #FFFFFF;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
}

.adv-home-objective-card p {
	margin: 0 0 9px;
	color: rgba(255,255,255,.84);
	font-size: 12.5px;
	line-height: 1.5;
}

.adv-home-objective-card span {
	color: rgba(255,255,255,.64);
	font-size: 11px;
	line-height: 1.45;
}

.adv-home-objectives__notice {
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid rgba(255,255,255,.18);
	color: rgba(255,255,255,.68);
	font-size: 11px;
	line-height: 1.55;
}

/* ==========================================================================
   CÓMO FUNCIONA
   ========================================================================== */

.adv-home-how {
	padding: 115px 0;
}

.adv-home-how__box {
	position: relative;
	padding: 40px 42px;
	border: 1px solid var(--adv-line-strong, #CBD5E1);
	border-left: 4px solid var(--adv-navy, #0B1739);
	background: #FFFFFF;
}

.adv-home-how__heading {
	margin-bottom: 35px;
	padding-right: 190px;
}

.adv-home-how__heading h2 {
	margin: 0 0 6px;
	color: var(--adv-navy, #0B1739);
	font-size: 31px;
	font-weight: 800;
	line-height: 1.08;
}

.adv-home-how__heading p {
	margin: 0;
	color: var(--adv-text, #475569);
	font-size: 12px;
	line-height: 1.55;
}

.adv-home-how__steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 1px solid var(--adv-line, #E2E8F0);
	border-bottom: 1px solid var(--adv-line, #E2E8F0);
}

.adv-home-how__steps article {
	position: relative;
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	gap: 13px;
	align-items: start;
	min-height: 145px;
	padding: 28px 22px;
}

.adv-home-how__steps article:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 25px;
	right: 0;
	bottom: 25px;
	width: 1px;
	background: var(--adv-line, #E2E8F0);
}

.adv-home-how__steps article > span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 29px;
	height: 29px;
	border-radius: 50%;
	background: var(--adv-orange, #FF3B1F);
	color: #FFFFFF;
	font-size: 11px;
	font-weight: 700;
}

.adv-home-how__steps h3 {
	margin: 0 0 6px;
	color: var(--adv-navy, #0B1739);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
}

.adv-home-how__steps p {
	margin: 0;
	color: var(--adv-text, #475569);
	font-size: 10.5px;
	line-height: 1.5;
}

.adv-home-row-cta {
	position: absolute;
	top: 38px;
	right: 42px;
	display: inline-flex;
	align-items: center;
	min-height: 42px;
	padding: 0 18px;
	border: 1px solid var(--adv-blue, #1E3A8A);
	color: var(--adv-blue, #1E3A8A);
	font-size: 11px;
	font-weight: 600;
	text-decoration: none;
}

.adv-home-row-cta:hover,
.adv-home-row-cta:focus {
	background: var(--adv-blue, #1E3A8A);
	color: #FFFFFF;
}

.adv-home-how__message {
	margin-top: 20px;
	color: var(--adv-navy, #0B1739);
	font-size: 11px;
	font-weight: 600;
	text-align: center;
}

/* ==========================================================================
   PLANES
   ========================================================================== */

.adv-home-plans {
	padding: 110px 0;
	background: var(--adv-surface-soft, #F8FAFC);
}

.adv-home-plans__header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 45px;
}

.adv-home-plans__header h2 {
	margin: 0 0 6px;
	color: var(--adv-navy, #0B1739);
	font-size: 32px;
	font-weight: 800;
	line-height: 1.08;
}

.adv-home-plans__header p {
	max-width: 620px;
	margin: 0;
	color: var(--adv-text, #475569);
	font-size: 13px;
	line-height: 1.55;
}

.adv-home-plans__all {
	display: inline-flex;
	align-items: center;
	min-height: 43px;
	padding: 0 19px;
	border: 1px solid var(--adv-blue, #1E3A8A);
	color: var(--adv-blue, #1E3A8A);
	font-size: 11px;
	font-weight: 600;
	text-decoration: none;
}

.adv-home-plans__all:hover,
.adv-home-plans__all:focus {
	background: var(--adv-blue, #1E3A8A);
	color: #FFFFFF;
}

.adv-home-plans__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 27px;
}

.adv-home-plan-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 570px;
	padding: 37px 31px 30px;
	border: 2px solid var(--adv-line-strong, #CBD5E1);
	border-top: 5px solid var(--adv-navy, #0B1739);
	background: #FFFFFF;
	box-shadow: 0 12px 26px rgba(11,23,57,.055);
}

.adv-home-plan-card:hover {
	border-color: #94A3B8;
}

.adv-home-plan-card--pro {
	border: 2px solid var(--adv-orange, #FF3B1F);
	border-top: 5px solid var(--adv-orange, #FF3B1F);
	box-shadow: 0 16px 34px rgba(255,59,31,.11);
}

.adv-home-plan-card__top {
	display: none;
}

.adv-home-plan-card__recommended {
	position: absolute;
	top: -17px;
	left: 50%;
	padding: 8px 22px;
	transform: translateX(-50%);
	background: var(--adv-orange, #FF3B1F);
	color: #FFFFFF;
	font-size: 10px;
	font-weight: 800;
	line-height: 1;
	white-space: nowrap;
}

.adv-home-plan-card h3 {
	margin: 0 0 4px;
	color: var(--adv-navy, #0B1739);
	font-size: 30px;
	font-weight: 800;
	line-height: 1.06;
}

.adv-home-plan-card__price {
	margin: 0 0 12px;
	color: var(--adv-orange, #FF3B1F);
	font-size: 39px;
	font-weight: 800;
	line-height: 1;
}

.adv-home-plan-card__price span {
	color: var(--adv-ink, #1E293B);
	font-family: var(--adv-font, 'Encode Sans', Arial, Helvetica, sans-serif);
	font-size: 12px;
	font-weight: 600;
}

.adv-home-plan-card__desc {
	min-height: 61px;
	margin: 0 0 23px;
	color: var(--adv-text, #475569);
	font-size: 12px;
	line-height: 1.55;
}

.adv-home-plan-card ul {
	display: grid;
	gap: 14px;
	margin: 0 0 31px;
	padding: 0;
	list-style: none;
}

.adv-home-plan-card li {
	position: relative;
	padding-left: 20px;
	color: var(--adv-text, #475569);
	font-size: 11.5px;
	line-height: 1.4;
}

.adv-home-plan-card li::before {
	content: "✓";
	position: absolute;
	left: 0;
	color: var(--adv-orange, #FF3B1F);
	font-weight: 700;
}

.adv-home-plan-card__cta {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	margin-top: auto;
	border: 1px solid var(--adv-orange, #FF3B1F);
	color: var(--adv-orange, #FF3B1F);
	font-size: 12px;
	font-weight: 600;
	text-decoration: none;
}

.adv-home-plan-card__cta:hover,
.adv-home-plan-card__cta:focus,
.adv-home-plan-card__cta--pro {
	background: var(--adv-orange, #FF3B1F);
	color: #FFFFFF;
}

/* FLEX */

.adv-home-flex {
	display: grid;
	grid-template-columns: 190px 1.5fr 1.35fr 175px;
	gap: 30px;
	align-items: center;
	margin-top: 30px;
	padding: 31px 32px;
	border: 2px solid #7F95B4;
	border-left: 5px solid var(--adv-navy, #0B1739);
	background: #FFFFFF;
}

.adv-home-flex__name h3 {
	margin: 0 0 5px;
	color: var(--adv-navy, #0B1739);
	font-size: 30px;
	font-weight: 800;
	line-height: 1.06;
}

.adv-home-flex__name strong {
	color: var(--adv-orange, #FF3B1F);
	font-size: 12px;
	font-weight: 600;
}

.adv-home-flex > p {
	margin: 0;
	color: var(--adv-text, #475569);
	font-size: 12px;
	line-height: 1.55;
}

.adv-home-flex ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0,1fr));
	gap: 9px 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.adv-home-flex li {
	position: relative;
	padding-left: 18px;
	color: var(--adv-text, #475569);
	font-size: 10.5px;
	line-height: 1.4;
}

.adv-home-flex li::before {
	content: "✓";
	position: absolute;
	left: 0;
	color: var(--adv-orange, #FF3B1F);
}

.adv-home-flex > a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 45px;
	border: 1px solid var(--adv-orange, #FF3B1F);
	color: var(--adv-orange, #FF3B1F);
	font-size: 11px;
	font-weight: 600;
	text-decoration: none;
}

.adv-home-flex > a:hover,
.adv-home-flex > a:focus {
	background: var(--adv-orange, #FF3B1F);
	color: #FFFFFF;
}

/* ==========================================================================
   RED + FORMATOS — FILAS COMERCIALES
   ========================================================================== */

.adv-home-network {
	padding: 120px 0 60px;
}

.adv-home-formats {
	padding: 60px 0 145px;
}

.adv-home-commercial-row {
	display: grid;
	grid-template-columns: 48% 52%;
	min-height: 355px;
	border: 1px solid var(--adv-line-strong, #CBD5E1);
	background: #FFFFFF;
}

.adv-home-commercial-row__copy {
	padding: 45px 47px;
}

.adv-home-commercial-row__copy h2 {
	margin: 0 0 13px;
	color: var(--adv-navy, #0B1739);
	font-size: 32px;
	font-weight: 800;
	line-height: 1.08;
}

.adv-home-commercial-row__copy > p {
	max-width: 510px;
	margin: 0 0 28px;
	color: var(--adv-text, #475569);
	font-size: 13px;
	line-height: 1.62;
}

.adv-home-commercial-row__image {
	min-height: 355px;
	overflow: hidden;
}

.adv-home-commercial-row__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* RED */

.adv-home-network__points {
	display: grid;
	grid-template-columns: repeat(2, minmax(0,1fr));
	gap: 27px;
	margin-bottom: 29px;
}

.adv-home-network__points div {
	padding-left: 17px;
	border-left: 3px solid var(--adv-orange, #FF3B1F);
}

.adv-home-network__points strong {
	display: block;
	margin-bottom: 5px;
	color: var(--adv-ink, #1E293B);
	font-size: 13px;
	font-weight: 600;
}

.adv-home-network__points span {
	color: var(--adv-text, #475569);
	font-size: 11px;
	line-height: 1.45;
}

/* FORMATOS */

.adv-home-format-summary {
	display: grid;
	grid-template-columns: repeat(2, minmax(0,1fr));
	gap: 24px;
	margin-bottom: 29px;
}

.adv-home-format-summary div {
	min-height: 125px;
	padding: 21px;
	border: 1px solid var(--adv-line, #E2E8F0);
	background: var(--adv-surface-soft, #F8FAFC);
}

.adv-home-format-summary h3 {
	margin: 0 0 8px;
	color: var(--adv-navy, #0B1739);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.15;
}

.adv-home-format-summary p {
	margin: 0;
	color: var(--adv-text, #475569);
	font-size: 11px;
	line-height: 1.52;
}

.adv-home-commercial-row__cta {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 20px;
	border: 1px solid var(--adv-orange, #1E3A8A);
	color: var(--adv-orange, #1E3A8A);
	font-size: 11.5px;
	font-weight: 600;
	text-decoration: none;
}

.adv-home-commercial-row__cta:hover,
.adv-home-commercial-row__cta:focus {
	background: var(--adv-orange, #1E3A8A);
	color: #FFFFFF;
}

/* ==========================================================================
   TABLET
   ========================================================================== */

@media (max-width: 1050px) {

	.adv-home-container {
		width: calc(100% - 36px);
	}

	.adv-home-hero-summary {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.adv-home-hero-summary-wrap {
		bottom: -140px;
	}

	.adv-home-hero-summary article:nth-child(-n+2) {
		border-bottom: 1px solid var(--adv-line, #E2E8F0);
	}

	.adv-home-hero-summary article:nth-child(2)::after {
		display: none;
	}

	.adv-home-welcome {
		padding-top: 240px;
	}

	.adv-home-paths__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.adv-home-plans__grid {
		grid-template-columns: 1fr;
	}

	.adv-home-plan-card {
		min-height: auto;
	}

	.adv-home-flex {
		grid-template-columns: 1fr 2fr;
	}

	.adv-home-flex ul,
	.adv-home-flex > a {
		grid-column: 2;
	}

	.adv-home-commercial-row {
		grid-template-columns: 1fr 1fr;
	}
}

/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 767px) {

	.adv-home-container {
		width: calc(100% - 28px);
	}

	.adv-home-hero {
		min-height: 670px;
		background-position: 66% center;
	}

	.adv-home-hero::before {
		content: "";
		position: absolute;
		inset: 0;
		background:
			linear-gradient(
				0deg,
				rgba(7,17,38,.99) 0%,
				rgba(7,17,38,.95) 55%,
				rgba(7,17,38,.25) 100%
			);
	}

	.adv-home-hero__content {
		position: relative;
		z-index: 3;
		width: 100%;
		min-height: 620px;
		justify-content: flex-end;
		padding: 220px 0 120px;
	}

	.adv-home-hero h1 {
		font-size: 42px;
	}

	.adv-home-hero__actions {
		flex-wrap: wrap;
	}

	.adv-home-hero-summary-wrap {
		position: relative;
		bottom: auto;
		margin-top: -60px;
	}

	.adv-home-hero-summary {
		grid-template-columns: 1fr;
	}

	.adv-home-hero-summary article {
		min-height: 110px;
		border-bottom: 1px solid var(--adv-line, #E2E8F0);
	}

	.adv-home-hero-summary article::after {
		display: none;
	}

	.adv-home-welcome {
		padding-top: 85px;
	}

	.adv-home-welcome__top {
		grid-template-columns: 1fr;
	}

	.adv-home-welcome__offer {
		border-right: 0;
		border-bottom: 1px solid rgba(255,255,255,.20);
	}

	.adv-home-welcome__message {
		padding: 38px 30px;
	}

	.adv-home-welcome__features {
		grid-template-columns: 1fr;
		gap: 15px;
	}

	.adv-home-paths__grid,
	.adv-home-solutions__grid,
	.adv-home-objectives__grid {
		grid-template-columns: 1fr;
	}

	.adv-home-how__heading {
		padding-right: 0;
	}

	.adv-home-row-cta {
		position: relative;
		top: auto;
		right: auto;
		width: fit-content;
		margin-top: 18px;
	}

	.adv-home-how__steps {
		grid-template-columns: 1fr;
		border-bottom: 0;
	}

	.adv-home-how__steps article {
		border-bottom: 1px solid var(--adv-line, #E2E8F0);
	}

	.adv-home-how__steps article::after {
		display: none;
	}

	.adv-home-plans__header {
		align-items: flex-start;
		flex-direction: column;
	}

	.adv-home-flex {
		grid-template-columns: 1fr;
	}

	.adv-home-flex ul,
	.adv-home-flex > a {
		grid-column: auto;
	}

	.adv-home-commercial-row {
		grid-template-columns: 1fr;
	}

	.adv-home-commercial-row__image {
		min-height: 280px;
	}

	.adv-home-network__points,
	.adv-home-format-summary {
		grid-template-columns: 1fr;
	}
}



























/* ==========================================================================
   ADVERYON — MODAL EXCLUSIVO /PLANES
   ========================================================================== */

.adv-plans-modal {
	position: fixed;
	z-index: 5000;
	inset: 0;

	display: none;
	align-items: center;
	justify-content: center;

	padding: 30px 20px;

	font-family:
		var(
			--adv-font,
			'Encode Sans',
			Arial,
			Helvetica,
			sans-serif
		);
}


/* ABIERTO */

.adv-plans-modal.is-open {
	display: flex;
}


/* ==========================================================================
   BACKDROP
   ========================================================================== */

.adv-plans-modal__backdrop {
	position: absolute;
	z-index: 1;
	inset: 0;

	background: rgba(7, 17, 38, .78);

	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);

	cursor: pointer;
}


/* ==========================================================================
   DIALOG
   ========================================================================== */

.adv-plans-modal__dialog {
	position: relative;
	z-index: 2;

	width: 100%;
	max-width: 650px;

	margin: auto;

	padding:
		52px
		48px
		38px;

	border:
		1px solid
		#CBD5E1;

	border-top:
		5px solid
		#FF3B1F;

	border-radius: 0;

	background:
		#FFFFFF;

	box-shadow:
		0 30px 80px
		rgba(7, 17, 38, .28);

	text-align: center;
}


/* ==========================================================================
   CERRAR
   ========================================================================== */

.adv-plans-modal__close {
	position: absolute;

	top: 14px;
	right: 18px;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 40px;
	height: 40px;

	margin: 0;
	padding: 0;

	border: 0;

	background: transparent;

	color: #0B1739;

	font-family:
		var(
			--adv-font,
			'Encode Sans',
			Arial,
			sans-serif
		);

	font-size: 31px;
	font-weight: 400;
	line-height: 1;

	cursor: pointer;
}


.adv-plans-modal__close:hover,
.adv-plans-modal__close:focus {
	color: #FF3B1F;
	outline: none;
}


/* ==========================================================================
   CABECERA
   ========================================================================== */

.adv-plans-modal__eyebrow {
	display: block;

	margin: 0 0 12px;

	color: #FF3B1F;

	font-size: 11px;
	font-weight: 700;
	line-height: 1;

	letter-spacing: .12em;
}


.adv-plans-modal__title {
	margin:
		0
		0
		13px;

	color: #0B1739;

	font-family:
		var(
			--adv-font-display,
			'Encode Sans Semi Condensed',
			'Encode Sans',
			Arial,
			sans-serif
		);

	font-size: 38px;
	font-weight: 800;
	line-height: 1.05;

	letter-spacing: -.015em;
}


.adv-plans-modal__text {
	max-width: 520px;

	margin:
		0
		auto
		26px;

	color: #586987;

	font-size: 14px;
	font-weight: 400;
	line-height: 1.58;
}


/* ==========================================================================
   PLAN SELECCIONADO
   ========================================================================== */

.adv-plans-modal__selected {
	margin:
		0
		0
		30px;

	padding:
		18px
		21px;

	border:
		1px solid
		#E2E8F0;

	border-left:
		4px solid
		#FF3B1F;

	background:
		#F8FAFC;

	text-align: left;
}


.adv-plans-modal__selected span {
	display: block;

	margin-bottom: 4px;

	color: #64748B;

	font-size: 11px;
	font-weight: 400;
	line-height: 1.3;
}


.adv-plans-modal__selected strong {
	display: block;

	color: #0B1739;

	font-family:
		var(
			--adv-font-display,
			'Encode Sans Semi Condensed',
			'Encode Sans',
			Arial,
			sans-serif
		);

	font-size: 23px;
	font-weight: 800;
	line-height: 1.15;
}


/* ==========================================================================
   BOTONES
   ========================================================================== */

.adv-plans-modal__actions {
	display: grid;

	grid-template-columns:
		repeat(2, minmax(0, 1fr));

	gap: 16px;
}


.adv-plans-modal__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	gap: 10px;

	min-height: 58px;

	padding:
		14px
		20px;

	border-radius: 0;

	font-family:
		var(
			--adv-font,
			'Encode Sans',
			Arial,
			sans-serif
		);

	font-size: 14px;
	font-weight: 600;
	line-height: 1.15;

	text-decoration: none !important;

	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		color 180ms ease;
}


.adv-plans-modal__btn i {
	font-size: 18px;
}


/* WHATSAPP */

.adv-plans-modal__btn--whatsapp {
	border:
		1px solid
		#FF3B1F;

	background:
		#FF3B1F;

	color:
		#FFFFFF !important;
}


.adv-plans-modal__btn--whatsapp:hover,
.adv-plans-modal__btn--whatsapp:focus {
	border-color:
		#D92D15;

	background:
		#D92D15;

	color:
		#FFFFFF !important;

	text-decoration:
		none !important;
}


/* TELÉFONO */

.adv-plans-modal__btn--phone {
	border:
		1px solid
		#0B1739;

	background:
		#FFFFFF;

	color:
		#0B1739 !important;
}


.adv-plans-modal__btn--phone:hover,
.adv-plans-modal__btn--phone:focus {
	border-color:
		#FF3B1F;

	color:
		#FF3B1F !important;

	text-decoration:
		none !important;
}


/* ==========================================================================
   CONTACTO
   ========================================================================== */

.adv-plans-modal__more {
	margin-top: 28px;

	padding-top: 22px;

	border-top:
		1px solid
		#E2E8F0;
}


.adv-plans-modal__more p {
	margin:
		0
		0
		6px;

	color: #64748B;

	font-size: 12px;
	line-height: 1.4;
}


.adv-plans-modal__more a {
	display: inline-flex;
	align-items: center;

	gap: 8px;

	color: #1E3A8A;

	font-size: 13px;
	font-weight: 600;

	text-decoration: none;
}


.adv-plans-modal__more a:hover,
.adv-plans-modal__more a:focus {
	color: #FF3B1F;

	text-decoration: none;
}


/* ==========================================================================
   BLOQUEAR SCROLL
   ========================================================================== */

body.adv-plans-modal-open {
	overflow: hidden;
}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 575px) {

	.adv-plans-modal {
		align-items: flex-start;

		overflow-x: hidden;
		overflow-y: auto;

		padding:
			18px
			12px;
	}


	.adv-plans-modal__dialog {
		margin: auto 0;

		padding:
			47px
			21px
			27px;
	}


	.adv-plans-modal__title {
		font-size: 32px;
	}


	.adv-plans-modal__text {
		font-size: 13px;
	}


	.adv-plans-modal__selected {
		margin-bottom: 24px;
	}


	.adv-plans-modal__actions {
		grid-template-columns: 1fr;

		gap: 12px;
	}


	.adv-plans-modal__btn {
		width: 100%;

		min-height: 56px;
	}

}