@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: 600px;
}
#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: 600px;
	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
   Requiere cargar DESPUÉS de:
   adveryon-2026-inicial-encode-sans-1240-static.css

   Criterio visual:
   - Background del header: full width.
   - Contenido del header: boxed a 1240px.
   - Header sticky.
   - Megamenús boxed, no full width.
   - Tipografía: Barlow / Barlow Semi Condensed.
   - 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;
}

.adv-site-header__link:hover,
.adv-site-header__link:focus,
.adv-site-header__item.open > .adv-site-header__link,
.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.open > .adv-site-header__link: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.open .adv-site-header__chevron,
.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.open > .adv-header-mega,
.adv-site-header__item.is-open > .adv-header-mega {
	display: block;
}

/* Si Bootstrap aplica .dropdown-menu, anulamos estilos nativos molestos. */
.adv-header-mega.dropdown-menu {
	float: none;
	min-width: 0;
	margin-top: 0;
	padding: 0;
	border-radius: 0;
	font-size: inherit;
}

/* 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;
}



/* ==========================================================================
   09B. DESPLEGABLES POR MOUSEOVER — ESCRITORIO
   Mantiene compatibilidad con Bootstrap (.open) y teclado (:focus-within).
   ========================================================================== */

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

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

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

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

	/* Pequeño puente invisible para que el menú no se cierre al mover el ratón. */
	.adv-site-header__item.dropdown > .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%;
		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;
	}

}





