/* Auto-generated CSS MAIN bundle — Do NOT edit manually */
/* Generated: 2026-03-31 09:35:14 */
/* Source files: bootstrap-purged.min.css, fontawesome-purged.min.css, header.css, mobile-professional.css, ad-cards.css, mobile-v2.css, breadcrumb.css, auth-modal.css, country-backgrounds.css, notification-center.css, footer-premium.css, home.css */

/* ====== bootstrap-purged.min.css ====== */
@charset "UTF-8";
/*!
 * Bootstrap v5.1.3 (https://getbootstrap.com/)
 * Copyright 2011-2021 The Bootstrap Authors
 * Copyright 2011-2021 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@-webkit-keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-glow{50%{opacity:.2}}@-webkit-keyframes placeholder-wave{to{-webkit-mask-position:-200%0;mask-position:-200%0}}@keyframes placeholder-wave{to{-webkit-mask-position:-200%0;mask-position:-200%0}}:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13, 110, 253;--bs-secondary-rgb:108, 117, 125;--bs-success-rgb:25, 135, 84;--bs-info-rgb:13, 202, 240;--bs-warning-rgb:255, 193, 7;--bs-danger-rgb:220, 53, 69;--bs-light-rgb:248, 249, 250;--bs-dark-rgb:33, 37, 41;--bs-white-rgb:255, 255, 255;--bs-black-rgb:0, 0, 0;--bs-body-color-rgb:33, 37, 41;--bs-body-bg-rgb:255, 255, 255;--bs-font-sans-serif:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-bg:#fff}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0}address{font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}address,dl,ol,p,ul{margin-bottom:1rem}dl,ol,ul{margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.2em;background-color:#fcf8e3}sub{position:relative;font-size:.75em;line-height:0;vertical-align:baseline;bottom:-.25em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,pre{font-family:var(--bs-font-monospace);direction:ltr;unicode-bidi:bidi-override;font-size:.875em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto}pre code{font-size:inherit;word-break:normal}code{color:#d63384;word-wrap:break-word}a>code,pre code{color:inherit}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label,output{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}.form-control[type=file]:not(:disabled):not([readonly]),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.list-unstyled{padding-left:0;list-style:none}.img-fluid,.img-thumbnail{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem}.container,.container-fluid{width:100%;padding-right:var(--bs-gutter-x, 0.75rem);padding-left:var(--bs-gutter-x, 0.75rem);margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}@media (min-width:1400px){.container{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1*var(--bs-gutter-y));margin-right:calc(-.5*var(--bs-gutter-x));margin-left:calc(-.5*var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x)*.5);padding-left:calc(var(--bs-gutter-x)*.5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.col-auto,.row-cols-1>*{flex:0 0 auto;width:100%}.col-auto{width:auto}.col-12,.col-6{flex:0 0 auto;width:50%}.col-12{width:100%}.g-2{--bs-gutter-x:0.5rem;--bs-gutter-y:0.5rem}.g-3{--bs-gutter-x:1rem;--bs-gutter-y:1rem}.g-4{--bs-gutter-x:1.5rem;--bs-gutter-y:1.5rem}@media (min-width:576px){.col-sm-6{flex:0 0 auto;width:50%}}@media (min-width:768px){.row-cols-md-2>*{flex:0 0 auto;width:50%}.col-md-1,.col-md-2{flex:0 0 auto;width:8.33333333%}.col-md-2{width:16.66666667%}.col-md-3,.col-md-4{flex:0 0 auto;width:25%}.col-md-4{width:33.33333333%}.col-md-6,.col-md-8{flex:0 0 auto;width:50%}.col-md-8{width:66.66666667%}.col-md-12,.col-md-9{flex:0 0 auto;width:75%}.col-md-12{width:100%}}@media (min-width:992px){.col-lg-3,.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.col-lg-3{width:25%}.col-lg-4,.col-lg-6{flex:0 0 auto;width:33.33333333%}.col-lg-6{width:50%}.col-lg-12,.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-12{width:100%}}@media (min-width:1200px){.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3,.col-xl-4{flex:0 0 auto;width:25%}.col-xl-4{width:33.33333333%}.col-xl-6,.col-xl-8{flex:0 0 auto;width:50%}.col-xl-8{width:66.66666667%}}.table{--bs-table-bg:transparent;--bs-table-accent-bg:transparent;--bs-table-striped-color:#212529;--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:#212529;--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:#212529;--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}.table>:not(caption)>*>*{padding:.5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:first-child){border-top:2px solid currentColor}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-hover>tbody>tr:hover>*{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-secondary{--bs-table-bg:#e2e3e5;--bs-table-striped-bg:#d7d8da;--bs-table-active-bg:#cbccce;--bs-table-hover-bg:#d1d2d4;border-color:#cbccce}.table-info,.table-secondary,.table-success{--bs-table-striped-color:#000;--bs-table-active-color:#000;--bs-table-hover-color:#000;color:#000}.table-success{--bs-table-bg:#d1e7dd;--bs-table-striped-bg:#c7dbd2;--bs-table-active-bg:#bcd0c7;--bs-table-hover-bg:#c1d6cc;border-color:#bcd0c7}.table-info{--bs-table-bg:#cff4fc;--bs-table-striped-bg:#c5e8ef;--bs-table-active-bg:#badce3;--bs-table-hover-bg:#bfe2e9;border-color:#badce3}.table-warning{--bs-table-bg:#fff3cd;--bs-table-striped-bg:#f2e7c3;--bs-table-active-bg:#e6dbb9;--bs-table-hover-bg:#ece1be;border-color:#e6dbb9}.table-danger,.table-light,.table-warning{--bs-table-striped-color:#000;--bs-table-active-color:#000;--bs-table-hover-color:#000;color:#000}.table-danger{--bs-table-bg:#f8d7da;--bs-table-striped-bg:#eccccf;--bs-table-active-bg:#dfc2c4;--bs-table-hover-bg:#e5c7ca;border-color:#dfc2c4}.table-light{--bs-table-bg:#f8f9fa;--bs-table-striped-bg:#ecedee;--bs-table-active-bg:#dfe0e1;--bs-table-hover-bg:#e5e6e7;border-color:#dfe0e1}.table-dark{--bs-table-bg:#212529;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:#fff;border-color:#373b3e}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0#212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:.2rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{opacity:.5}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control{padding:1rem .75rem}.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group .btn:focus,.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529}.btn:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.btn.disabled,.btn:disabled{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-primary:hover{color:#fff;background-color:#0b5ed7;border-color:#0a58ca}.btn-primary:focus{color:#fff;background-color:#0b5ed7;border-color:#0a58ca;box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0a58ca;border-color:#0a53be}.btn-primary.active:focus,.btn-primary:active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5c636a;border-color:#565e64}.btn-secondary:focus{color:#fff;background-color:#5c636a;border-color:#565e64;box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#565e64;border-color:#51585e}.btn-secondary.active:focus,.btn-secondary:active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#198754;border-color:#198754}.btn-success:hover{color:#fff;background-color:#157347;border-color:#146c43}.btn-success:focus{color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#146c43;border-color:#13653f}.btn-success.active:focus,.btn-success:active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#198754;border-color:#198754}.btn-info{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-info:hover{color:#000;background-color:#31d2f2;border-color:#25cff2}.btn-info:focus{color:#000;background-color:#31d2f2;border-color:#25cff2;box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#000;background-color:#3dd5f3;border-color:#25cff2}.btn-info.active:focus,.btn-info:active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-info.disabled,.btn-info:disabled{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-warning{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#000;background-color:#ffca2c;border-color:#ffc720}.btn-warning:focus{color:#000;background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#000;background-color:#ffcd39;border-color:#ffc720}.btn-warning.active:focus,.btn-warning:active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.btn-danger:focus{color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#b02a37;border-color:#a52834}.btn-danger.active:focus,.btn-danger:active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-light{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-light:focus{color:#000;background-color:#f9fafb;border-color:#f9fafb;box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-light.active,.btn-light:active,.show>.btn-light.dropdown-toggle{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-light.active:focus,.btn-light:active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-light.disabled,.btn-light:disabled{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-dark{color:#fff;background-color:#212529;border-color:#212529}.btn-dark:hover{color:#fff;background-color:#1c1f23;border-color:#1a1e21}.btn-dark:focus{color:#fff;background-color:#1c1f23;border-color:#1a1e21;box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-dark.active,.btn-dark:active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1a1e21;border-color:#191c1f}.btn-dark.active:focus,.btn-dark:active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#212529;border-color:#212529}.btn-outline-primary{color:#0d6efd;border-color:#0d6efd}.btn-outline-primary:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-outline-primary:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show,.btn-outline-primary:active{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus,.btn-outline-primary:active:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0d6efd;background-color:transparent}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show,.btn-outline-secondary:active{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus,.btn-outline-secondary:active:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#198754;border-color:#198754}.btn-outline-success:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-outline-success:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show,.btn-outline-success:active{color:#fff;background-color:#198754;border-color:#198754}.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus,.btn-outline-success:active:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#198754;background-color:transparent}.btn-outline-info{color:#0dcaf0;border-color:#0dcaf0}.btn-outline-info:hover{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-outline-info:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show,.btn-outline-info:active{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus,.btn-outline-info:active:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#0dcaf0;background-color:transparent}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show,.btn-outline-warning:active{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus,.btn-outline-warning:active:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show,.btn-outline-danger:active{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus,.btn-outline-danger:active:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-dark{color:#212529;border-color:#212529}.btn-outline-dark:hover{color:#fff;background-color:#212529;border-color:#212529}.btn-outline-dark:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show,.btn-outline-dark:active{color:#fff;background-color:#212529;border-color:#212529}.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus,.btn-outline-dark:active:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#212529;background-color:transparent}.btn-link{font-weight:400;color:#0d6efd;text-decoration:underline}.btn-link:hover{color:#0a58ca}.btn-link.disabled,.btn-link:disabled{color:#6c757d}.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.dropdown{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,.15)}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#1e2125;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}.btn-group{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;color:#0d6efd;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:#0a58ca}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;background:0 0;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6;isolation:isolate}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:0 0;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#0d6efd}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px)0 0}.card-footer{padding:.5rem 1rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#212529;text-align:left;background-color:#fff;border:0;border-radius:0;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:#0c63e4;background-color:#e7f1ff;box-shadow:inset 0-1px 0 rgba(0,0,0,.125)}.accordion-button:not(.collapsed)::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");transform:rotate(-180deg)}.accordion-button::after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.accordion-header{margin-bottom:0}.accordion-item{background-color:#fff;border:1px solid rgba(0,0,0,.125)}.accordion-item:first-of-type{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type,.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.accordion-body{padding:1rem 1.25rem}.breadcrumb,.pagination{display:flex;list-style:none}.breadcrumb{flex-wrap:wrap;padding:0;margin-bottom:1rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:#6c757d}.pagination{padding-left:0}.page-link{position:relative;display:block;color:#0d6efd;text-decoration:none;background-color:#fff;border:1px solid #dee2e6;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:#0a58ca;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;color:#0a58ca;background-color:#e9ecef;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-success{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}.alert-info{color:#055160;background-color:#cff4fc;border-color:#b6effb}.alert-warning{color:#664d03;background-color:#fff3cd;border-color:#ffecb5}.alert-danger{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}.progress,.progress-bar{display:flex;overflow:hidden}.progress{height:1rem;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{flex-direction:column;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item{position:relative;display:block;padding:.5rem 1rem;color:#212529;text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em;color:#000;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e")center/1em auto no-repeat;border:0;border-radius:.25rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{width:350px;max-width:100%;font-size:.875rem;pointer-events:auto;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.15);border-radius:.25rem}.toast:not(.show){display:none}.modal{position:fixed;top:0;left:0;z-index:1055;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1050;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .btn-close{padding:.5rem;margin:-.5rem -.5rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}}@media (min-width:992px){.modal-lg{max-width:800px}}.tooltip{position:absolute;z-index:1080;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.carousel{position:relative}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:.75s linear infinite spinner-border;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@media (prefers-reduced-motion:reduce){.spinner-border{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentColor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.ratio,.ratio>*{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;height:100%}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.align-middle{vertical-align:middle!important}.opacity-25{opacity:.25!important}.opacity-75{opacity:.75!important}.d-inline{display:inline!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.top-0{top:0!important}.start-0{left:0!important}.end-0{right:0!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-danger{border-color:#dc3545!important}.w-100{width:100%!important}.h-100{height:100%!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-grow-1{flex-grow:1!important}.flex-wrap{flex-wrap:wrap!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-self-center{align-self:center!important}.m-0{margin:0!important}.m-3{margin:1rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-3{padding-top:1rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.fs-6{font-size:1rem!important}.fw-bold{font-weight:700!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary,.text-success{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info,.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger,.text-light{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark,.text-white{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-white{color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:#6c757d!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary,.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info,.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger,.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark,.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-white{background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-75{--bs-bg-opacity:0.75}.rounded{border-radius:.25rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:768px){.d-md-flex{display:flex!important}.flex-md-row{flex-direction:row!important}.justify-content-md-center{justify-content:center!important}.align-items-md-center{align-items:center!important}.mb-md-0{margin-bottom:0!important}.text-md-end{text-align:right!important}}

/* ====== fontawesome-purged.min.css ====== */
/*!
 * Font Awesome Free 6.0.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2022 Fonticons, Inc.
 */
@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale, 1.25));transform:scale(var(--fa-beat-scale, 1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale, 1.25));transform:scale(var(--fa-beat-scale, 1.25))}}@-webkit-keyframes fa-bounce{0%,64%,to{-webkit-transform:scale(1,1) translateY(0);transform:scale(1,1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, 0.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, 0.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x, 0.9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));transform:scale(var(--fa-bounce-jump-scale-x, 0.9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, 0.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, 0.95)) translateY(0)}57%{-webkit-transform:scale(1,1) translateY(var(--fa-bounce-rebound, -0.125em));transform:scale(1,1) translateY(var(--fa-bounce-rebound, -0.125em))}}@keyframes fa-bounce{0%,64%,to{-webkit-transform:scale(1,1) translateY(0);transform:scale(1,1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, 0.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, 0.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x, 0.9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));transform:scale(var(--fa-bounce-jump-scale-x, 0.9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, 0.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, 0.95)) translateY(0)}57%{-webkit-transform:scale(1,1) translateY(var(--fa-bounce-rebound, -0.125em));transform:scale(1,1) translateY(var(--fa-bounce-rebound, -0.125em))}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, 0.4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, 0.4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity, 0.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale, 1.125));transform:scale(var(--fa-beat-fade-scale, 1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity, 0.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale, 1.125));transform:scale(var(--fa-beat-fade-scale, 1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg));transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg));transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}24%,8%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}24%,8%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.fa{font-family:var(--fa-style-family, "Font Awesome 6 Free");font-weight:var(--fa-style, 900)}.fa,.fab,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display, inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 2s);animation-duration:var(--fa-animation-duration, 2s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, linear);animation-timing-function:var(--fa-animation-timing, linear)}@media (prefers-reduced-motion:reduce){.fa-spin{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}.fa-address-book::before{content:""}.fa-angle-left::before{content:""}.fa-angle-right::before{content:""}.fa-angle-double-left::before{content:""}.fa-angle-double-right::before{content:""}.fa-arrow-down::before{content:""}.fa-sort-numeric-down::before{content:""}.fa-sort-amount-down::before{content:""}.fa-arrow-left::before{content:""}.fa-mouse-pointer::before{content:""}.fa-arrow-right::before{content:""}.fa-undo::before{content:""}.fa-redo::before{content:""}.fa-arrow-up::before{content:""}.fa-refresh::before,.fa-sync::before{content:""}.fa-baby::before{content:""}.fa-shopping-bag::before{content:""}.fa-ban::before{content:""}.fa-bars::before{content:""}.fa-stream::before{content:""}.fa-basketball-ball::before{content:""}.fa-bath::before{content:""}.fa-bed::before{content:""}.fa-bell::before{content:""}.fa-bell-slash::before{content:""}.fa-bicycle::before{content:""}.fa-bolt::before{content:""}.fa-book::before{content:""}.fa-book-open::before{content:""}.fa-bookmark::before{content:""}.fa-border-all::before{content:""}.fa-archive::before{content:""}.fa-box-open::before{content:""}.fa-brain::before{content:""}.fa-briefcase::before{content:""}.fa-broom::before{content:""}.fa-bug::before{content:""}.fa-building::before{content:""}.fa-bullhorn::before{content:""}.fa-bullseye::before{content:""}.fa-birthday-cake::before{content:""}.fa-calendar::before{content:""}.fa-calendar-day::before{content:""}.fa-calendar-alt::before{content:""}.fa-calendar-minus::before{content:""}.fa-calendar-plus::before{content:""}.fa-calendar-week::before{content:""}.fa-camera::before{content:""}.fa-camera-retro::before{content:""}.fa-car::before{content:""}.fa-car-side::before{content:""}.fa-caravan::before{content:""}.fa-caret-up::before{content:""}.fa-shopping-cart::before{content:""}.fa-certificate::before{content:""}.fa-chart-area::before{content:""}.fa-chart-bar::before{content:""}.fa-chart-line::before{content:""}.fa-chart-pie::before{content:""}.fa-check::before{content:""}.fa-check-double::before{content:""}.fa-chevron-down::before{content:""}.fa-chevron-left::before{content:""}.fa-chevron-right::before{content:""}.fa-chevron-up::before{content:""}.fa-circle::before{content:""}.fa-check-circle::before{content:""}.fa-exclamation-circle::before{content:""}.fa-info-circle::before{content:""}.fa-minus-circle::before{content:""}.fa-play-circle::before{content:""}.fa-plus-circle::before{content:""}.fa-question-circle::before{content:""}.fa-user-circle::before{content:""}.fa-circle-xmark::before,.fa-times-circle::before{content:""}.fa-city::before{content:""}.fa-clapperboard::before{content:""}.fa-clipboard-check::before{content:""}.fa-clipboard-list::before{content:""}.fa-clock::before{content:""}.fa-history::before{content:""}.fa-closed-captioning::before{content:""}.fa-cloud::before{content:""}.fa-cloud-download-alt::before{content:""}.fa-cloud-upload-alt::before{content:""}.fa-code::before{content:""}.fa-coins::before{content:""}.fa-comment::before{content:""}.fa-comment-dots::before{content:""}.fa-comments::before{content:""}.fa-compass::before{content:""}.fa-cookie-bite::before{content:""}.fa-copy::before{content:""}.fa-copyright::before{content:""}.fa-couch::before{content:""}.fa-credit-card::before{content:""}.fa-crosshairs::before{content:""}.fa-crown::before{content:""}.fa-cubes::before{content:""}.fa-database::before{content:""}.fa-desktop::before{content:""}.fa-project-diagram::before{content:""}.fa-door-open::before{content:""}.fa-download::before{content:""}.fa-draw-polygon::before{content:""}.fa-globe-europe::before{content:""}.fa-ellipsis-v::before{content:""}.fa-envelope::before{content:""}.fa-envelope-open-text::before{content:""}.fa-mail-bulk::before{content:""}.fa-euro-sign::before{content:""}.fa-eye::before{content:""}.fa-eye-slash::before{content:""}.fa-sad-tear::before{content:""}.fa-file-code::before{content:""}.fa-file-csv::before{content:""}.fa-file-alt::before{content:""}.fa-filter::before{content:""}.fa-funnel-dollar::before{content:""}.fa-fire::before{content:""}.fa-flag::before{content:""}.fa-flag-checkered::before{content:""}.fa-save::before{content:""}.fa-folder::before{content:""}.fa-folder-open::before{content:""}.fa-gamepad::before{content:""}.fa-gas-pump::before{content:""}.fa-gauge::before{content:""}.fa-tachometer-alt::before{content:""}.fa-gavel::before{content:""}.fa-cog::before{content:""}.fa-cogs::before,.fa-gears::before{content:""}.fa-gem::before{content:""}.fa-gift::before{content:""}.fa-globe::before{content:""}.fa-graduation-cap::before{content:""}.fa-grip-vertical::before{content:""}.fa-hand-holding-usd::before{content:""}.fa-hand-holding-heart::before{content:""}.fa-handshake::before{content:""}.fa-hdd::before{content:""}.fa-heading::before{content:""}.fa-headphones::before{content:""}.fa-headset::before{content:""}.fa-heart::before{content:""}.fa-heartbeat::before{content:""}.fa-hard-hat::before{content:""}.fa-home::before{content:""}.fa-id-card::before{content:""}.fa-image::before{content:""}.fa-images::before{content:""}.fa-inbox::before{content:""}.fa-key::before{content:""}.fa-language::before{content:""}.fa-laptop::before{content:""}.fa-layer-group::before{content:""}.fa-leaf::before{content:""}.fa-lightbulb::before{content:""}.fa-link::before{content:""}.fa-unlink::before{content:""}.fa-list::before{content:""}.fa-list-check::before,.fa-tasks::before{content:""}.fa-list-ul::before{content:""}.fa-location-arrow::before{content:""}.fa-location-dot::before,.fa-map-marker-alt::before{content:""}.fa-lock::before{content:""}.fa-search::before{content:""}.fa-search-location::before{content:""}.fa-search-plus::before{content:""}.fa-map::before{content:""}.fa-map-marked-alt::before{content:""}.fa-map-pin::before{content:""}.fa-medal::before{content:""}.fa-comment-alt::before{content:""}.fa-microchip::before{content:""}.fa-microphone::before{content:""}.fa-minus::before{content:""}.fa-mobile::before{content:""}.fa-mobile-alt::before,.fa-mobile-screen-button::before{content:""}.fa-money-bill-wave::before{content:""}.fa-motorcycle::before{content:""}.fa-mountain::before{content:""}.fa-music::before{content:""}.fa-network-wired::before{content:""}.fa-newspaper::before{content:""}.fa-palette::before{content:""}.fa-paper-plane::before{content:""}.fa-paperclip::before{content:""}.fa-pause::before{content:""}.fa-pen::before{content:""}.fa-pen-fancy::before{content:""}.fa-edit::before{content:""}.fa-pencil-alt::before{content:""}.fa-percentage::before{content:"%"}.fa-phone::before{content:""}.fa-piggy-bank::before{content:""}.fa-play::before{content:""}.fa-plug::before{content:""}.fa-plus::before{content:"+"}.fa-power-off::before{content:""}.fa-puzzle-piece::before{content:""}.fa-question::before{content:"?"}.fa-quote-right::before{content:""}.fa-receipt::before{content:""}.fa-ad::before{content:""}.fa-list-alt::before{content:""}.fa-recycle::before{content:""}.fa-sign-out-alt::before{content:""}.fa-exchange-alt::before{content:""}.fa-sign-in-alt::before{content:""}.fa-robot::before{content:""}.fa-rocket::before{content:""}.fa-sync-alt::before{content:""}.fa-rss::before{content:""}.fa-ruler-combined::before{content:""}.fa-ruler-horizontal::before{content:""}.fa-balance-scale::before{content:""}.fa-tools::before{content:""}.fa-server::before{content:""}.fa-share-alt::before{content:""}.fa-shield-alt::before{content:""}.fa-shield-virus::before{content:""}.fa-ship::before{content:""}.fa-tshirt::before{content:""}.fa-signal::before{content:""}.fa-sitemap::before{content:""}.fa-sliders-h::before{content:""}.fa-sort::before{content:""}.fa-spider::before{content:""}.fa-spinner::before{content:""}.fa-star::before{content:""}.fa-stop::before{content:""}.fa-stopwatch::before{content:""}.fa-store::before{content:""}.fa-store-slash::before{content:""}.fa-table::before{content:""}.fa-th::before{content:""}.fa-th-large::before{content:""}.fa-table-columns::before{content:""}.fa-table-tennis::before{content:""}.fa-tablet-alt::before{content:""}.fa-tag::before{content:""}.fa-tags::before{content:""}.fa-terminal::before{content:""}.fa-thumbs-down::before{content:""}.fa-thumbs-up::before{content:""}.fa-toggle-on::before{content:""}.fa-trash::before{content:""}.fa-trash-alt::before{content:""}.fa-exclamation-triangle::before{content:""}.fa-trophy::before{content:""}.fa-truck::before{content:""}.fa-tv::before{content:""}.fa-universal-access::before{content:""}.fa-unlock::before{content:""}.fa-external-link-alt::before{content:""}.fa-upload::before{content:""}.fa-user::before{content:""}.fa-user-check::before{content:""}.fa-user-cog::before{content:""}.fa-user-friends::before{content:""}.fa-user-lock::before{content:""}.fa-user-edit::before{content:""}.fa-user-plus::before{content:""}.fa-user-secret::before{content:""}.fa-user-shield::before{content:""}.fa-user-slash::before{content:""}.fa-user-tie::before{content:""}.fa-user-times::before{content:""}.fa-users::before{content:""}.fa-users-cog::before{content:""}.fa-utensils::before{content:""}.fa-video::before{content:""}.fa-wallet::before{content:""}.fa-magic::before{content:""}.fa-warehouse::before{content:""}.fa-wrench::before{content:""}.fa-times::before{content:""}:root{--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:block;src:url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/webfonts/fa-brands-400.woff2)format("woff2"),url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/webfonts/fa-brands-400.ttf)format("truetype")}.fab{font-family:"Font Awesome 6 Brands";font-weight:400}.fa-android:before{content:""}.fa-apple:before{content:""}.fa-facebook:before{content:""}.fa-facebook-f:before{content:""}.fa-google:before{content:""}.fa-google-play:before{content:""}.fa-stripe-s:before{content:""}.fa-telegram-plane:before{content:""}.fa-tiktok:before{content:""}.fa-twitter:before{content:""}.fa-whatsapp:before{content:""}.fa-youtube:before{content:""}:root{--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;src:url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/webfonts/fa-regular-400.woff2)format("woff2"),url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/webfonts/fa-regular-400.ttf)format("truetype")}.far{font-family:"Font Awesome 6 Free";font-weight:400}:root{--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/webfonts/fa-solid-900.woff2)format("woff2"),url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/webfonts/fa-solid-900.ttf)format("truetype")}.fas{font-family:"Font Awesome 6 Free";font-weight:900}@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/webfonts/fa-brands-400.woff2)format("woff2"),url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/webfonts/fa-brands-400.ttf)format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/webfonts/fa-solid-900.woff2)format("woff2"),url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/webfonts/fa-solid-900.ttf)format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/webfonts/fa-regular-400.woff2)format("woff2"),url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/webfonts/fa-regular-400.ttf)format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/webfonts/fa-solid-900.woff2)format("woff2"),url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/webfonts/fa-solid-900.ttf)format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/webfonts/fa-brands-400.woff2)format("woff2"),url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/webfonts/fa-brands-400.ttf)format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/webfonts/fa-regular-400.woff2)format("woff2"),url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/webfonts/fa-regular-400.ttf)format("truetype");unicode-range:U+F003,U+F006,U+F014,U+F016-F017,U+F01A-F01B,U+F01D,U+F022,U+F03E,U+F044,U+F046,U+F05C-F05D,U+F06E,U+F070,U+F087-F088,U+F08A,U+F094,U+F096-F097,U+F09D,U+F0A0,U+F0A2,U+F0A4-F0A7,U+F0C5,U+F0C7,U+F0E5-F0E6,U+F0EB,U+F0F6-F0F8,U+F10C,U+F114-F115,U+F118-F11A,U+F11C-F11D,U+F133,U+F147,U+F14E,U+F150-F152,U+F185-F186,U+F18E,U+F190-F192,U+F196,U+F1C1-F1C9,U+F1D9,U+F1DB,U+F1E3,U+F1EA,U+F1F7,U+F1F9,U+F20A,U+F247-F248,U+F24A,U+F24D,U+F255-F25B,U+F25D,U+F271-F274,U+F278,U+F27B,U+F28C,U+F28E,U+F29C,U+F2B5,U+F2B7,U+F2BA,U+F2BC,U+F2BE,U+F2C0-F2C1,U+F2C3,U+F2D0,U+F2D2,U+F2D4,U+F2DC}@font-face{font-family:"FontAwesome";font-display:block;src:url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/webfonts/fa-v4compatibility.woff2)format("woff2"),url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/webfonts/fa-v4compatibility.ttf)format("truetype");unicode-range:U+F041,U+F047,U+F065-F066,U+F07D-F07E,U+F080,U+F08B,U+F08E,U+F090,U+F09A,U+F0AC,U+F0AE,U+F0B2,U+F0D0,U+F0D6,U+F0E4,U+F0EC,U+F10A-F10B,U+F123,U+F13E,U+F148-F149,U+F14C,U+F156,U+F15E,U+F160-F161,U+F163,U+F175-F178,U+F195,U+F1F8,U+F219,U+F250,U+F252,U+F27A}

/* ====== header.css ====== */
/* Header Unificado - Estilos Principales */

/* Header principal - estilos principales complementarios */
.header {
    background: #2563eb;
    position: sticky;
    top: 0;
    z-index: 1000;
    padding: 0;
    width: 100%;
    left: 0;
    right: 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.header-content {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
}

.header-top {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0;
    gap: 12px;
    min-height: 56px;
    flex-wrap: nowrap;
}

.logo {
    display: flex;
    align-items: center;
    text-decoration: none;
    transition: transform 0.2s ease;
    flex-shrink: 0;
    white-space: nowrap;
    z-index: 10;
}

.logo:hover {
    opacity: 0.9;
}

.logo-image {
    height: 36px;
    width: auto;
    object-fit: contain;
}

.logo-text {
    font-size: 20px;
    font-weight: 700;
    color: white;
    letter-spacing: -0.3px;
    line-height: 1;
    white-space: nowrap;
}

/* Search Container - Estilo Wallapop */
.search-container {
    flex: 1;
    max-width: 600px;
    margin: 0 12px;
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
}

/* Ocultar buscador del header en home inicialmente */
.search-container--hidden-on-home {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
}

.search-icon-left {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #9ca3af !important;
    font-size: 16px;
    pointer-events: none;
    z-index: 1;
}

.search-form {
    position: relative;
    width: 100%;
}

.search-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.search-input {
    width: 100%;
    padding: 10px 16px 10px 40px;
    border: none;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.95);
    color: #1f2937;
    font-size: 15px;
    transition: background 0.2s ease;
    outline: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
}

.search-input::placeholder {
    color: #9ca3af;
}

.search-input:focus {
    outline: none;
    background: white;
    box-shadow: none;
}

/* AI Suggestion Chip */
.ai-suggest-chip {
    display: none;
    align-items: center;
    gap: 8px;
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 10px 14px;
    cursor: pointer;
    z-index: 100;
    transition: opacity 0.15s ease, transform 0.15s ease;
    opacity: 0;
    transform: translateY(-4px);
}

.ai-suggest-chip.visible {
    display: flex;
    opacity: 1;
    transform: translateY(0);
}

.ai-suggest-chip:hover {
    background: #f3f4f6;
}

.ai-suggest-icon {
    font-size: 16px;
    line-height: 1;
}

.ai-suggest-text {
    flex: 1;
    font-size: 13px;
    font-weight: 500;
    color: #374151;
}

.ai-suggest-arrow {
    font-size: 11px;
    color: #9ca3af;
}

/* Botón menú móvil */
.mobile-menu-btn {
    display: none;
    background: none;
    border: none;
    color: white;
    font-size: 20px;
    cursor: pointer;
    padding: 8px;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.mobile-menu-btn:hover {
    opacity: 0.8;
    transform: scale(1.1);
}

/* Menú móvil lateral */
.mobile-menu-overlay {
    display: none !important;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 10002;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

/* Asegurar que el menú móvil nunca se muestre en escritorio, incluso con display inline */
@media (min-width: 769px) {
    .mobile-menu-overlay {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    .mobile-menu-overlay.active {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    .mobile-menu-content {
        display: none !important;
    }
}

.mobile-menu-overlay.active {
    opacity: 1;
    visibility: visible;
}

.mobile-menu-content {
    position: absolute;
    top: 0;
    right: 0;
    width: 280px;
    max-width: 85vw;
    height: 100vh;
    max-height: 100vh;
    background: white;
    box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);
    transform: translateX(100%);
    transition: transform 0.3s ease;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    display: none;
    flex-direction: column;
}

.mobile-menu-overlay.active .mobile-menu-content {
    transform: translateX(0);
}

.mobile-menu-header {
    display: none;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    border-bottom: 1px solid #e5e7eb;
    background: linear-gradient(135deg, #1877f2 0%, #42a5f5 100%);
    color: white;
    flex-shrink: 0;
}

.mobile-menu-header .mobile-menu-title {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
}

.mobile-menu-close {
    background: none;
    border: none;
    color: white;
    font-size: 24px;
    cursor: pointer;
    padding: 4px;
    transition: transform 0.2s ease;
    z-index: 1001;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
}

.mobile-menu-close:hover {
    transform: rotate(90deg);
}

.mobile-menu-body {
    display: none;
    padding: 12px 0;
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    min-height: 0;
}

.mobile-menu-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 20px;
    color: #1f2937;
    text-decoration: none;
    transition: all 0.2s ease;
    font-size: 16px;
    font-weight: 500;
    border: none;
    background: none;
    width: 100%;
    text-align: left;
    cursor: pointer;
    position: relative;
}

.mobile-menu-item:hover,
.mobile-menu-item:active {
    background: #f3f4f6;
}

.mobile-menu-item i:first-child {
    width: 20px;
    text-align: center;
    color: #6b7280;
    font-size: 18px;
}

.mobile-menu-item span {
    flex: 1;
}

.mobile-menu-item i:last-child {
    color: #9ca3af;
    font-size: 14px;
}

.mobile-menu-badge {
    background: #ef4444;
    color: white;
    font-size: 10px;
    font-weight: 700;
    padding: 1px 5px;
    border-radius: 8px;
    min-width: 18px;
    text-align: center;
    line-height: 1.2;
}

.mobile-menu-divider {
    height: 1px;
    background: #e5e7eb;
    margin: 12px 20px;
}

/* Category links in mobile menu - match .mobile-menu-item styling */
.mobile-cat-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 20px;
    color: #1f2937;
    text-decoration: none;
    transition: all 0.2s ease;
    font-size: 16px;
    font-weight: 500;
    border: none;
    background: none;
    width: 100%;
    text-align: left;
    cursor: pointer;
    position: relative;
}

.mobile-cat-link:hover,
.mobile-cat-link:active {
    background: #f3f4f6;
}

.mobile-cat-link i:first-child {
    width: 20px;
    text-align: center;
    color: #6b7280;
    font-size: 18px;
}

.mobile-cat-link span {
    flex: 1;
}

.desktop-only {
    display: flex;
}

/* Header Actions */
.header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

/* Categories Dropdown */
.categories-dropdown {
    position: relative;
}

.categories-btn {
    background: rgba(255, 255, 255, 0.15);
    border: none;
    color: white;
    padding: 8px 14px;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
    font-size: 13px;
    transition: background 0.2s ease;
    display: flex;
    align-items: center;
    gap: 6px;
}

.categories-btn:hover {
    background: rgba(255, 255, 255, 0.25);
}

.dropdown-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.dropdown-overlay.show {
    opacity: 1;
    visibility: visible;
}

.category-dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    background: white;
    border-radius: 15px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
    min-width: 300px;
    max-width: 500px;
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s ease;
    border: 1px solid rgba(0, 0, 0, 0.1);
}

.category-dropdown-menu.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dropdown-header {
    padding: 20px 25px 15px;
    border-bottom: 1px solid #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
}

.dropdown-close-btn {
    position: absolute;
    top: 15px;
    right: 20px;
    background: transparent;
    border: none;
    color: #6b7280;
    font-size: 20px;
    cursor: pointer;
    padding: 5px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.2s ease;
}

.dropdown-close-btn:hover {
    background: #f3f4f6;
    color: #1f2937;
}

@media (max-width: 768px) {
    .dropdown-close-btn.mobile-only {
        display: flex !important;
    }

    .dropdown-title {
        padding-right: 40px;
    }
}

.dropdown-title {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: #1f2937;
}

.auth-modal-title {
    margin: 0;
    font-size: 24px;
    font-weight: 700;
    color: #1f2937;
}

/* Slider horizontal de categorías en móvil */
.categories-slider-container {
    display: none;
    padding: 15px 0;
    margin-bottom: 15px;
    border-bottom: 1px solid #e5e7eb;
}

.categories-slider {
    display: flex;
    gap: 12px;
    padding: 0 20px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.categories-slider::-webkit-scrollbar {
    display: none;
}

.category-slider-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    min-width: 80px;
    text-decoration: none;
    color: #374151;
    border-radius: 12px;
    background: #f9fafb;
    transition: all 0.2s ease;
    scroll-snap-align: start;
    flex-shrink: 0;
}

.category-slider-item:active {
    background: #f3f4f6;
    transform: scale(0.95);
}

.category-slider-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
    border-radius: 12px;
    color: white;
    font-size: 24px;
}

.category-slider-name {
    font-size: 12px;
    font-weight: 600;
    text-align: center;
    line-height: 1.2;
    max-width: 80px;
}

.dropdown-categories {
    padding: 15px 25px 25px;
    max-height: 400px;
    overflow-y: auto;
}

.mobile-only {
    display: none;
}

.category-section {
    margin-bottom: 20px;
}

.category-section:last-child {
    margin-bottom: 0;
}

.category-section-title {
    margin: 0 0 12px 0;
    font-size: 14px;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.category-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    color: #374151;
    text-decoration: none;
    border-radius: 8px;
    transition: all 0.2s ease;
    font-size: 14px;
    margin-bottom: 4px;
}

.category-link:hover {
    background: #f3f4f6;
    color: #1f2937;
    transform: translateX(4px);
}

.category-link i {
    width: 16px;
    text-align: center;
    color: #6b7280;
}

/* User Menu */
.user-menu {
    position: relative;
}

.user-dropdown {
    position: relative;
}

.user-btn {
    background: rgba(255, 255, 255, 0.15);
    border: none;
    color: white;
    padding: 8px 14px;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
    font-size: 13px;
    transition: background 0.2s ease;
    display: flex;
    align-items: center;
    gap: 6px;
}

.user-btn:hover {
    background: rgba(255, 255, 255, 0.25);
}

.user-avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
}

.user-name {
    font-weight: 600;
}

.user-dropdown-menu {
    position: absolute;
    top: 100%;
    right: 0;
    background: white;
    border-radius: 15px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
    min-width: 200px;
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s ease;
    border: 1px solid rgba(0, 0, 0, 0.1);
    margin-top: 8px;
}

.user-dropdown-menu.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dropdown-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 45px 12px 20px;
    color: #374151;
    text-decoration: none;
    transition: all 0.2s ease;
    font-size: 14px;
    font-weight: 500;
    position: relative;
}

.dropdown-item:hover {
    background: #f3f4f6;
    color: #1f2937;
}

.dropdown-item i {
    width: 16px;
    text-align: center;
    color: #6b7280;
}

/* Auth Buttons */
.auth-buttons {
    display: flex;
    gap: 12px;
    align-items: center;
}

.btn-auth,
.btn-publish {
    padding: 10px 18px;
    border-radius: 25px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
    font-size: 14px;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
}

.btn-auth {
    background: rgba(255, 255, 255, 0.15);
    color: white;
    border: none;
}

.btn-auth:hover {
    background: rgba(255, 255, 255, 0.25);
    color: white;
}

.btn-publish {
    background: #FF6600;
    color: white;
    border: none;
    padding: 8px 14px;
    border-radius: 8px;
    font-size: 13px;
}

.btn-publish:hover {
    background: #E55A00;
    color: white;
}

.btn-publish-dropdown {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    background: #FF6600;
    color: white;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 600;
    font-size: 14px;
    transition: all 0.2s ease;
    margin-bottom: 8px;
}

.btn-publish-dropdown:hover {
    background: #E55A00;
    color: white;
    transform: translateY(-1px);
}

/* Cuando el usuario está logueado - layout con botón publicar y menú usuario */
.user-menu:has(.btn-publish) {
    display: flex;
    gap: 12px;
    align-items: center;
}

.user-menu:has(.btn-publish) .user-dropdown {
    margin-left: 0;
}

/* Responsive Design */
@media (max-width: 768px) {
    .mobile-menu-overlay {
        display: block !important;
    }

    .mobile-menu-content {
        display: flex !important;
    }

    /* Hide country selector on mobile - available in hamburger menu */
    .country-selector-container {
        display: none !important;
    }

    .header-top {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 8px;
        padding: 8px 0;
        align-items: center;
        justify-content: space-between;
    }

    .logo {
        flex-shrink: 0;
        min-width: fit-content;
    }

    .logo-image {
        height: 36px;
    }

    .logo-text {
        font-size: 18px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 100px;
    }

    .search-container {
        flex: 1;
        margin: 0 8px;
        min-width: 0;
        flex-shrink: 1;
    }

    .search-input {
        font-size: 14px;
        padding: 10px 14px 10px 38px;
        border-radius: 8px;
    }

    .search-icon-left {
        left: 14px;
        font-size: 15px;
        color: #9ca3af !important;
    }

    .mobile-menu-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.15);
    }

    .desktop-only {
        display: none !important;
    }

    .category-dropdown-menu {
        min-width: 280px;
        max-width: 90vw;
        position: fixed !important;
        z-index: 10000 !important;
    }

    .category-dropdown-menu.show {
        transform: translate(-50%, -50%) !important;
    }

    .dropdown-overlay {
        display: block !important;
    }

    .mobile-only {
        display: block !important;
    }

    .desktop-only {
        display: none !important;
    }

    .mobile-menu-header {
        display: flex !important;
    }

    .mobile-menu-body {
        display: block !important;
    }

    .categories-slider-container {
        display: block !important;
    }

    .dropdown-categories {
        max-height: 50vh;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* El slider debe funcionar siempre en móvil */
    .categories-slider {
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        scroll-behavior: smooth;
    }

    .user-dropdown-menu {
        right: -20px;
        min-width: 180px;
    }
}

@media (max-width: 480px) {
    .header-content {
        padding: 0 10px;
    }

    .header-top {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        padding: 6px 0;
        min-height: 48px;
        gap: 6px;
        align-items: center;
        justify-content: space-between;
    }

    .logo {
        flex-shrink: 0;
        min-width: fit-content;
    }

    .logo-image {
        height: 32px;
    }

    .logo-text {
        font-size: 16px;
        white-space: nowrap;
        max-width: 90px;
    }

    .search-container {
        flex: 1;
        margin: 0 6px;
        min-width: 0;
    }

    .search-input {
        font-size: 14px;
        padding: 9px 12px 9px 34px;
        border-radius: 8px;
    }

    .search-icon-left {
        left: 12px;
        font-size: 14px;
    }

    .mobile-menu-btn {
        width: 36px;
        height: 36px;
        font-size: 16px;
    }
}

/* Custom styles for casinovios */
.header.is-casinovios .btn-publish {
    background: #10b981 !important;
    /* Emerald Green - Opposite to Pink */
    border-color: #10b981 !important;
    color: #ffffff !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.header.is-casinovios .btn-publish:hover {
    background: #059669 !important;
    border-color: #059669 !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15);
}

.header.is-casinovios .btn-publish-dropdown {
    background: #10b981 !important;
}

.header.is-casinovios .btn-publish-dropdown:hover {
    background: #059669 !important;
}


/* ====== mobile-professional.css ====== */
/* DISEÑO MÓVIL PROFESIONAL - ENFOQUE BALANCEADO */

/* Reset profesional para móviles */
@media (max-width: 768px) {
    * {
        box-sizing: border-box;
    }

    body {
        font-size: 14px;
        line-height: 1.5;
        margin: 0;
        padding: 0;
        color: #333;
        background-color: #f8f9fa;
    }

    .header {
        position: sticky !important;
        top: 0 !important;
        z-index: 1000 !important;
        background: #2563eb !important;
        min-height: 50px !important;
        padding: 8px 0 !important;
    }

    /* HEADER PROFESIONAL - estilos móviles optimizados (ya definidos arriba) */

    .header-content {
        max-width: 100%;
        padding: 0 12px;
    }

    .header-top {
        display: flex;
        align-items: center;
        gap: 8px;
        flex-wrap: nowrap;
    }

    .logo-search-section {
        display: flex;
        align-items: center;
        gap: 8px;
        flex: 1;
        min-width: 0;
    }

    .logo-image {
        height: 32px;
        width: auto;
        max-width: 120px;
        flex-shrink: 0;
    }

    .search-container {
        flex: 1;
        min-width: 0;
    }

    .search-input {
        width: 100%;
        height: 36px;
        padding: 8px 40px 8px 12px;
        border: none;
        border-radius: 8px;
        font-size: 14px;
        background: rgba(255, 255, 255, 0.95);
        color: #1f2937;
    }

    .search-input:focus {
        outline: none;
        background: white;
    }

    .search-btn-icon {
        position: absolute;
        right: 6px;
        top: 50%;
        transform: translateY(-50%);
        width: 24px;
        height: 24px;
        background: #e91e63;
        color: white;
        border: none;
        border-radius: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
    }

    .nav-actions-section {
        display: flex;
        align-items: center;
        gap: 6px;
        flex-shrink: 0;
    }

    .user-actions {
        display: flex;
        gap: 4px;
        align-items: center;
    }

    .btn {
        padding: 6px 12px;
        font-size: 12px;
        height: 32px;
        border-radius: 16px;
        border: none;
        cursor: pointer;
        font-weight: 600;
        white-space: nowrap;
    }

    .btn-primary {
        background: #28a745;
        color: white;
    }

    .btn-secondary {
        background: rgba(255, 255, 255, 0.2);
        color: white;
        border: 1px solid rgba(255, 255, 255, 0.3);
    }

    .nav-container {
        display: none;
    }

    /* CONTENIDO PRINCIPAL PROFESIONAL */
    .main-content {
        padding: 16px 12px;
    }

    .container {
        max-width: 100%;
        margin: 0 auto;
    }

    /* HERO SECTION PROFESIONAL */
    .hero-section {
        background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        color: white;
        padding: 24px 16px;
        text-align: center;
        margin-bottom: 24px;
        border-radius: 12px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    }

    .hero-title {
        font-size: 1.5em;
        margin-bottom: 20px;
        font-weight: 700;
        line-height: 1.2;
    }

    .hero-stats {
        display: flex;
        justify-content: center;
        gap: 16px;
        margin-bottom: 20px;
        flex-wrap: wrap;
    }

    .stat-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 4px;
    }

    .stat-number {
        font-size: 1.2em;
        font-weight: 700;
        color: white;
    }

    .stat-label {
        font-size: 0.7em;
        opacity: 0.8;
        text-align: center;
    }

    .hero-actions {
        display: flex;
        gap: 12px;
        justify-content: center;
        flex-wrap: wrap;
    }

    .hero-btn {
        padding: 10px 20px;
        font-size: 14px;
        font-weight: 600;
        border-radius: 20px;
        text-decoration: none;
        transition: transform 0.2s;
        min-width: 120px;
        text-align: center;
    }

    .hero-btn:hover {
        transform: translateY(-1px);
    }

    /* SECCIÓN DE ANUNCIOS PROFESIONAL */
    #anuncios {
        margin-bottom: 32px;
    }

    #anuncios h2 {
        font-size: 1.3em;
        margin-bottom: 8px;
        text-align: center;
        color: #333;
        font-weight: 600;
    }

    #anuncios p {
        font-size: 0.9em;
        margin-bottom: 20px;
        text-align: center;
        color: #666;
    }

    .ads-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
        margin: 0;
        padding: 0;
    }

    .ad-card {
        background: white;
        border-radius: 12px;
        overflow: hidden;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        transition: transform 0.2s, box-shadow 0.2s;
        border: 1px solid #e2e8f0;
    }

    .ad-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
    }

    .ad-image-container {
        position: relative;
        width: 100%;
        aspect-ratio: 4 / 3;
        height: auto;
        overflow: hidden;
    }

    .ad-image {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.3s;
    }

    .ad-card:hover .ad-image {
        transform: scale(1.05);
    }

    .ad-content {
        padding: 12px;
        gap: 6px;
    }

    .ad-title {
        font-size: 0.95rem;
        font-weight: 600;
        color: #333;
        margin-bottom: 0;
        line-height: 1.3;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .ad-price {
        font-size: 1.1rem;
        font-weight: 800;
        color: #059669;
        margin-bottom: 4px;
    }

    .ad-meta {
        display: flex;
        flex-direction: column;
        gap: 4px;
    }

    .ad-meta-item {
        font-size: 0.8rem;
        color: #666;
        display: flex;
        align-items: center;
        gap: 4px;
    }

    .ad-meta-item i {
        font-size: 0.7rem;
        width: 12px;
        text-align: center;
    }

    .ad-price-badge {
        position: absolute;
        top: 8px;
        right: 8px;
        background: #059669;
        color: white;
        padding: 4px 8px;
        border-radius: 12px;
        font-size: 0.7rem;
        font-weight: 600;
    }

    .category-badge {
        display: inline-block;
        background: #f0f9ff;
        color: #0369a1;
        padding: 2px 6px;
        border-radius: 4px;
        font-size: 0.7rem;
        font-weight: 500;
        margin-bottom: 8px;
    }

    /* FOOTER PROFESIONAL */
    .footer {
        background: #2d3748;
        color: #e2e8f0;
        padding: 24px 0;
        margin-top: 32px;
    }

    .footer-main {
        display: grid;
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 0 12px;
        max-width: 100%;
    }

    .footer-section h3 {
        font-size: 1rem;
        margin-bottom: 12px;
        color: #e2e8f0;
        font-weight: 600;
    }

    .footer-section ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .footer-section ul li {
        margin-bottom: 8px;
    }

    .footer-section ul li a {
        color: #a0aec0;
        text-decoration: none;
        font-size: 0.9rem;
        transition: color 0.2s;
    }

    .footer-section ul li a:hover {
        color: #e2e8f0;
    }

    .footer-bottom {
        padding: 16px 12px 0;
        border-top: 1px solid #4a5568;
        text-align: center;
    }

    .footer-copyright {
        font-size: 0.8rem;
        color: #a0aec0;
    }

    .newsletter-form {
        display: flex;
        gap: 8px;
        margin-top: 12px;
    }

    .newsletter-input {
        flex: 1;
        padding: 8px 12px;
        border: 1px solid #4a5568;
        border-radius: 6px;
        background: #4a5568;
        color: white;
        font-size: 0.9rem;
    }

    .newsletter-input::placeholder {
        color: #a0aec0;
    }

    .newsletter-btn {
        padding: 8px 16px;
        background: #e91e63;
        color: white;
        border: none;
        border-radius: 6px;
        font-size: 0.9rem;
        font-weight: 600;
        cursor: pointer;
    }

    /* Ocultar elementos innecesarios en móviles */
    .adsense-banner-header {
        display: none;
    }
}

/* Optimizaciones para móviles pequeños */
@media (max-width: 480px) {
    .header {
        padding: 6px 0;
    }

    .header-content {
        padding: 0 8px;
    }

    .logo-image {
        height: 28px;
        max-width: 100px;
    }

    .search-input {
        height: 32px;
        font-size: 13px;
        padding: 6px 36px 6px 10px;
    }

    .search-btn-icon {
        width: 20px;
        height: 20px;
        right: 4px;
    }

    .btn {
        padding: 4px 8px;
        font-size: 11px;
        height: 28px;
    }

    .main-content {
        padding: 12px 8px;
    }

    .hero-section {
        padding: 20px 12px;
        margin-bottom: 20px;
    }

    .hero-title {
        font-size: 1.3em;
        margin-bottom: 16px;
    }

    .hero-stats {
        gap: 12px;
    }

    .stat-number {
        font-size: 1.1em;
    }

    .stat-label {
        font-size: 0.65em;
    }

    .hero-btn {
        padding: 8px 16px;
        font-size: 13px;
        min-width: 100px;
    }

    .ad-image-container {
        aspect-ratio: 4 / 3;
    }

    .ad-content {
        padding: 12px;
    }

    .ad-title {
        font-size: 0.95rem;
    }

    .ad-price {
        font-size: 1.05rem;
    }

    .ad-meta-item {
        font-size: 0.75rem;
    }
}

/* Optimizaciones para móviles muy pequeños */
@media (max-width: 360px) {
    .header-content {
        padding: 0 6px;
    }

    .logo-image {
        height: 24px;
        max-width: 80px;
    }

    .search-input {
        height: 30px;
        font-size: 12px;
        padding: 5px 32px 5px 8px;
    }

    .search-btn-icon {
        width: 18px;
        height: 18px;
        right: 3px;
    }

    .btn {
        padding: 3px 6px;
        font-size: 10px;
        height: 26px;
    }

    .main-content {
        padding: 10px 6px;
    }

    .hero-section {
        padding: 16px 10px;
        margin-bottom: 16px;
    }

    .hero-title {
        font-size: 1.2em;
        margin-bottom: 12px;
    }

    .hero-stats {
        gap: 10px;
    }

    .stat-number {
        font-size: 1em;
    }

    .stat-label {
        font-size: 0.6em;
    }

    .hero-btn {
        padding: 6px 12px;
        font-size: 12px;
        min-width: 80px;
    }

    .ad-image-container {
        aspect-ratio: 4 / 3;
    }

    .ad-content {
        padding: 10px;
    }

    .ad-title {
        font-size: 0.9rem;
    }

    .ad-price {
        font-size: 1rem;
    }

    .ad-meta-item {
        font-size: 0.7rem;
    }
}

/* Listing class aliases */


/* ====== ad-cards.css ====== */
/* Estilos modernos para fichas de anuncios - Inspirado en Backmarket */
/* Updated: 2025-11-26 - Badge destacado mejorado */

/* Variables CSS para consistencia */
:root {
    --primary-color: #1877f2;
    --primary-hover: #047857;
    --secondary-color: #3b82f6;
    --secondary-hover: #1d4ed8;
    --text-primary: #1a202c;
    --text-secondary: #4a5568;
    --text-muted: #718096;
    --border-color: #e2e8f0;
    --border-hover: #cbd5e0;
    --background-card: #ffffff;
    --background-hover: #f8fafc;
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1);
    --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);
    --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.1);
    --radius-sm: 6px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Grid de anuncios - Diseño responsive optimizado y compatible con Bootstrap */
.ads-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 1rem;
    margin: 0;
    padding: 0;
    width: 100%;
}

/* Anuncios patrocinados con diferentes niveles */

/* Nivel 1 - PREMIUM GOLD (patrocinado1 y patrocinado2) - Tarjeta premium dorada (LINGOTE DE ORO) */
.ad-card.premium-gold,
.ad-card.premium-silver {
    background: linear-gradient(145deg,
            #fefcf8 0%,
            #fbf4e6 45%,
            #fdf9f0 100%) !important;
    border: 1px solid rgba(212, 175, 55, 0.28) !important;
    border-radius: 18px !important;
    box-shadow:
        0 18px 35px rgba(212, 175, 55, 0.18),
        0 4px 14px rgba(31, 24, 18, 0.12) !important;
    position: relative !important;
    overflow: hidden !important;
    transition: transform 0.35s ease, box-shadow 0.35s ease !important;
}

.ad-card.premium-gold::before,
.ad-card.premium-silver::before {
    content: '' !important;
    position: absolute !important;
    inset: 1px !important;
    border-radius: 16px !important;
    background: linear-gradient(118deg,
            rgba(255, 255, 255, 0.85),
            rgba(255, 255, 255, 0.45) 55%,
            rgba(255, 255, 255, 0.08) 100%) !important;
    pointer-events: none !important;
    mix-blend-mode: screen !important;
}

.ad-card.premium-gold::after,
.ad-card.premium-silver::after {
    content: '' !important;
    position: absolute !important;
    top: -30% !important;
    right: -35% !important;
    width: 70% !important;
    height: 70% !important;
    background: radial-gradient(circle at center,
            rgba(255, 255, 255, 0.35),
            rgba(255, 255, 255, 0) 70%) !important;
    pointer-events: none !important;
    transform: rotate(10deg);
}

.ad-card.premium-gold:hover,
.ad-card.premium-silver:hover {
    transform: translateY(-10px) scale(1.01) !important;
    box-shadow:
        0 20px 40px rgba(212, 175, 55, 0.25),
        0 6px 20px rgba(31, 24, 18, 0.18) !important;
}

.ad-card.premium-gold .ad-image-container,
.ad-card.premium-silver .ad-image-container {
    position: relative !important;
    border-bottom: 1px solid rgba(212, 175, 55, 0.25) !important;
    background: linear-gradient(140deg,
            rgba(255, 252, 243, 0.7) 0%,
            rgba(248, 235, 206, 0.4) 100%) !important;
}

.ad-card.premium-gold .ad-content,
.ad-card.premium-silver .ad-content {
    background: rgba(255, 255, 255, 0.92) !important;
    border-radius: 14px !important;
    margin: 0 !important;
    padding: 20px !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.85),
        inset 0 -1px 0 rgba(212, 175, 55, 0.1) !important;
}

.ad-card.premium-gold .ad-title,
.ad-card.premium-silver .ad-title {
    font-weight: 700 !important;
    color: #453218 !important;
    letter-spacing: -0.015em !important;
    text-shadow: none !important;
}

.ad-card.premium-gold .ad-price,
.ad-card.premium-silver .ad-price {
    font-weight: 700 !important;
    font-size: 1.4rem !important;
    color: #c79a2d !important;
    text-shadow: none !important;
}

.ad-card.premium-gold .ad-meta-item,
.ad-card.premium-silver .ad-meta-item {
    color: rgba(69, 50, 24, 0.7) !important;
}

.ad-card.premium-gold .ad-featured-badge,
.ad-card.premium-silver .ad-featured-badge {
    background: linear-gradient(135deg, #FFC107 0%, #FF8F00 50%, #FF6F00 100%) !important;
    color: #000 !important;
    border: 2px solid rgba(255, 255, 255, 1) !important;
    box-shadow: 0 4px 16px rgba(255, 193, 7, 0.7), 0 2px 8px rgba(255, 143, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.3) !important;
    animation: featuredPulse 2s ease-in-out infinite !important;
}

.ad-card.premium-gold .ad-price-badge,
.ad-card.premium-silver .ad-price-badge {
    background: rgba(255, 255, 255, 0.85) !important;
    color: #c79a2d !important;
    border: 1px solid rgba(212, 175, 55, 0.35) !important;
    box-shadow: 0 6px 12px rgba(212, 175, 55, 0.22) !important;
}

/* Grid responsive optimizado - compatible con Bootstrap */
/* Media queries mejorados para evitar anuncios sueltos */
@media (min-width: 1400px) {
    .ads-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (min-width: 1200px) and (max-width: 1399px) {
    .ads-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (min-width: 900px) and (max-width: 1199px) {
    .ads-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 600px) and (max-width: 899px) {
    .ads-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }
}

@media (max-width: 599px) {
    .ads-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.5rem;
    }

    .ad-card {
        max-height: none;
    }

    .ad-image-container {
        height: auto;
        aspect-ratio: 4 / 3;
    }

    .ad-image {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

    .ad-content {
        padding: 10px;
    }

    .ad-title {
        font-size: 0.85rem;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        min-height: 2.2em;
    }

    .ad-price {
        font-size: 1.1rem;
    }

    .ad-meta-item {
        font-size: 0.7rem;
    }
}

/* Estilo base para tarjetas de anuncios */
.ad-card {
    background: var(--background-card);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    overflow: hidden;
    transition: var(--transition);
    display: flex;
    flex-direction: column;
    height: 100%;
    max-height: 450px;
}

/* Very small screens - single column */
@media (max-width: 380px) {
    .ads-grid {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }

    .ad-image-container {
        aspect-ratio: 16 / 10;
    }

    .ad-content {
        padding: 12px;
    }

    .ad-title {
        font-size: 0.9rem;
    }

    .ad-price {
        font-size: 1.2rem;
    }
}

.ad-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
    border-color: var(--border-hover);
}

.ad-link {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Contenedor de imagen */
.ad-image-container {
    position: relative;
    width: 100%;
    height: 200px;
    background: linear-gradient(135deg, #f7fafc 0%, #edf2f7 100%);
    overflow: hidden;
    border-bottom: 1px solid var(--border-color);
}

.ad-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition);
}

.ad-card:hover .ad-image {
    transform: scale(1.05);
}

/* Contenedor de video embebido */
.ad-video-container {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: #000;
    cursor: pointer;
}

.ad-video-thumbnail-preview {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 2;
    transition: opacity 0.3s ease;
}

.ad-video-container:hover .ad-video-thumbnail-preview {
    opacity: 0;
}

.ad-video-iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
    object-fit: cover;
    z-index: 1;
}

/* Mantener compatibilidad con thumbnail (por si se necesita en el futuro) */
.ad-video-thumbnail-container {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.ad-video-thumbnail {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition);
}

.ad-card:hover .ad-video-thumbnail {
    transform: scale(1.05);
}

/* Overlay de play button estilo YouTube (mantener para compatibilidad) */
.ad-youtube-play-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.3);
    opacity: 0.9;
    transition: opacity 0.3s ease;
    z-index: 5;
}

.ad-card:hover .ad-youtube-play-overlay {
    opacity: 1;
    background: rgba(0, 0, 0, 0.4);
}

.ad-youtube-play-button {
    width: 68px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 0.2s ease;
}

.ad-card:hover .ad-youtube-play-button {
    transform: scale(1.1);
}

.ad-youtube-play-button svg {
    width: 100%;
    height: 100%;
    filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.3));
}

/* Badge de video en tarjetas de anuncios */
.ad-video-badge {
    position: absolute;
    top: 8px;
    left: 8px;
    background: rgba(220, 53, 69, 0.95);
    color: white;
    padding: 4px 8px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 4px;
    z-index: 10;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(4px);
}

.ad-video-badge i {
    font-size: 14px;
}

.ad-video-badge span {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

/* Placeholder para imágenes */
.ad-no-image {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: var(--text-muted);
    font-size: 2.5rem;
    background: linear-gradient(135deg, #f7fafc 0%, #edf2f7 100%);
}

.ad-no-image i {
    margin-bottom: 8px;
    opacity: 0.6;
}

/* Badge de precio */
/* Badge de destacado */
.ad-featured-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    background: linear-gradient(135deg, #FFC107 0%, #FF8F00 50%, #FF6F00 100%);
    color: #000;
    padding: 8px 14px;
    border-radius: 22px;
    font-weight: 800;
    font-size: 0.8rem;
    letter-spacing: 0.05em;
    display: flex;
    align-items: center;
    gap: 5px;
    z-index: 10;
    box-shadow: 0 4px 16px rgba(255, 193, 7, 0.7), 0 2px 8px rgba(255, 143, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.3);
    border: 2px solid rgba(255, 255, 255, 1);
    text-transform: uppercase;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.3);
    animation: featuredPulse 2s ease-in-out infinite;
}

@keyframes featuredPulse {

    0%,
    100% {
        box-shadow: 0 4px 16px rgba(255, 193, 7, 0.7), 0 2px 8px rgba(255, 143, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.3);
    }

    50% {
        box-shadow: 0 6px 20px rgba(255, 193, 7, 0.9), 0 3px 12px rgba(255, 143, 0, 0.7), inset 0 1px 0 rgba(255, 255, 255, 0.4);
    }
}

.ad-featured-badge i {
    font-size: 0.95rem;
    color: #000;
    filter: drop-shadow(0 1px 1px rgba(255, 255, 255, 0.5));
}

.ad-featured-badge span {
    font-weight: 800;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.4);
}

/* Badge de precio */
.ad-price-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    background: var(--primary-color);
    color: white;
    padding: 6px 12px;
    border-radius: 20px;
    font-weight: 700;
    font-size: 0.875rem;
    letter-spacing: -0.025em;
    z-index: 9;
    backdrop-filter: blur(8px);
    box-shadow: var(--shadow-md);
}

/* Contenido de la ficha */
.ad-content {
    padding: 16px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* Título del anuncio */
.ad-title {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text-primary);
    line-height: 1.3;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.6em;
}

/* Precio principal */
.ad-price {
    font-size: 1.4rem;
    font-weight: 800;
    color: var(--primary-color);
    margin: 4px 0;
    letter-spacing: -0.025em;
}

/* Metadatos del anuncio */
.ad-meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: auto;
}

.ad-meta-item {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 0.8rem;
    color: var(--text-muted);
}

.ad-meta-item i {
    font-size: 0.75rem;
    width: 12px;
    text-align: center;
    color: var(--text-muted);
}

/* Estilos específicos para la información del país */
.ad-country {
    font-weight: 600;
    color: var(--text-secondary);
    background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
    padding: 2px 8px;
    border-radius: 12px;
    border: 1px solid #bae6fd;
    font-size: 0.8rem;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.ad-country:hover {
    background: linear-gradient(135deg, #e0f2fe 0%, #bae6fd 100%);
    transform: translateY(-1px);
    transition: var(--transition);
}

/* Estado del producto */
.ad-condition {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 8px;
    background: #f0fdf4;
    color: #166534;
    border-radius: var(--radius-sm);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 8px;
}

.ad-condition.new {
    background: #eff6ff;
    color: #1d4ed8;
}

.ad-condition.used {
    background: #fef3c7;
    color: #92400e;
}

/* Ubicación */
.ad-location {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 0.875rem;
    color: var(--text-muted);
}

/* Fecha de publicación */
.ad-date {
    font-size: 0.75rem;
    color: var(--text-muted);
    opacity: 0.8;
}

/* Reglas de compatibilidad hacia atrás para anuncios destacados antiguos */
.ad-card.featured:not(.premium-gold):not(.premium-silver) {
    border: 2px solid #fbbf24;
    position: relative;
}

.ad-card.featured:not(.premium-gold):not(.premium-silver)::before {
    content: '⭐ Destacado';
    position: absolute;
    top: 12px;
    left: 12px;
    background: #fbbf24;
    color: white;
    padding: 4px 8px;
    border-radius: var(--radius-sm);
    font-size: 0.75rem;
    font-weight: 700;
    z-index: 2;
}

/* Ficha de anuncio promocionado */
.ad-card.promoted {
    border: 2px solid var(--secondary-color);
    position: relative;
}

.ad-card.promoted::before {
    content: '🚀 Promocionado';
    position: absolute;
    top: 12px;
    left: 12px;
    background: var(--secondary-color);
    color: white;
    padding: 4px 8px;
    border-radius: var(--radius-sm);
    font-size: 0.75rem;
    font-weight: 700;
    z-index: 2;
}

/* Estados de hover mejorados */
.ad-card:hover .ad-title {
    color: var(--secondary-color);
}

.ad-card:hover .ad-price {
    color: var(--primary-hover);
}

/* Estilos responsive adicionales para listas de anuncios */
@media (max-width: 768px) {
    .ads-list .ad-card {
        grid-template-columns: 150px 1fr;
        gap: 0;
    }

    .ads-list .ad-image-container {
        height: 120px;
    }

    .ads-list .ad-content {
        padding: 12px;
    }
}

@media (max-width: 480px) {
    .ads-list .ad-card {
        grid-template-columns: 1fr;
        height: auto;
    }

    .ads-list .ad-image-container {
        height: 160px;
        border-right: none;
        border-bottom: 1px solid var(--border-color);
    }

    .ads-list .ad-content {
        padding: 14px;
    }
}

/* Fichas de anuncios relacionados */
.related-ads-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 20px;
    margin-top: 24px;
}

.related-ad-card {
    background: var(--background-card);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    overflow: hidden;
    transition: var(--transition);
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.related-ad-card:hover {
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
    border-color: var(--border-hover);
}

.related-ad-image {
    height: 140px;
    background: linear-gradient(135deg, #f7fafc 0%, #edf2f7 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.related-ad-content {
    padding: 16px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.related-ad-title {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text-primary);
    line-height: 1.3;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.related-ad-price {
    font-size: 1rem;
    font-weight: 700;
    color: var(--primary-color);
    margin: 0;
}

/* Estilos para listas de anuncios */
.ads-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.ads-list .ad-card {
    display: grid;
    grid-template-columns: 200px 1fr;
    height: auto;
    gap: 0;
}

.ads-list .ad-image-container {
    height: 150px;
    border-bottom: none;
    border-right: 1px solid var(--border-color);
}

.ads-list .ad-content {
    padding: 20px;
}

/* Estados de carga */
.ad-card.loading {
    opacity: 0.6;
    pointer-events: none;
}

.ad-card.loading .ad-image-container {
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: loading 1.5s infinite;
}

@keyframes loading {
    0% {
        background-position: 200% 0;
    }

    100% {
        background-position: -200% 0;
    }
}

/* Mejoras de accesibilidad */
.ad-card:focus-within {
    outline: 2px solid var(--secondary-color);
    outline-offset: 2px;
}

.ad-link:focus {
    outline: none;
}

/* Animaciones suaves */
.ad-card,
.ad-image,
.ad-title,
.ad-price {
    transition: var(--transition);
}

/* Estilos para categorías */
.category-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 8px;
    background: var(--background-hover);
    color: var(--text-secondary);
    border-radius: var(--radius-sm);
    font-size: 0.75rem;
    font-weight: 500;
    text-transform: capitalize;
    margin-bottom: 8px;
}

.category-badge i {
    font-size: 0.625rem;
}

/* Estilos para badges de filtros */
.ad-filter-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 8px 0;
}

.filter-badge {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    color: #495057;
    padding: 3px 8px;
    border-radius: var(--radius-sm);
    font-size: 0.7rem;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    transition: var(--transition);
    white-space: nowrap;
}

.filter-badge:hover {
    background: #e9ecef;
    border-color: #dee2e6;
    transform: translateY(-1px);
}

.filter-badge .badge-label {
    font-weight: 600;
    color: #6c757d;
    font-size: 0.65rem;
}

.filter-badge .badge-value {
    font-weight: 500;
    color: #495057;
    font-size: 0.7rem;
}

/* Colores específicos para diferentes tipos de filtros */
.filter-badge.badge-year {
    background: linear-gradient(135deg, #ff6b6b, #ee5a24);
    color: white;
    border-color: #ff6b6b;
    box-shadow: 0 2px 4px rgba(255, 107, 107, 0.2);
}

.filter-badge.badge-year .badge-label,
.filter-badge.badge-year .badge-value {
    color: white;
}

.filter-badge.badge-km {
    background: linear-gradient(135deg, #4ecdc4, #44a08d);
    color: white;
    border-color: #4ecdc4;
    box-shadow: 0 2px 4px rgba(78, 205, 196, 0.2);
}

.filter-badge.badge-km .badge-label,
.filter-badge.badge-km .badge-value {
    color: white;
}

.filter-badge.badge-fuel {
    background: linear-gradient(135deg, #45b7d1, #96c93d);
    color: white;
    border-color: #45b7d1;
    box-shadow: 0 2px 4px rgba(69, 183, 209, 0.2);
}

.filter-badge.badge-fuel .badge-label,
.filter-badge.badge-fuel .badge-value {
    color: white;
}

.filter-badge.badge-transmission {
    background: linear-gradient(135deg, #f093fb, #f5576c);
    color: white;
    border-color: #f093fb;
    box-shadow: 0 2px 4px rgba(240, 147, 251, 0.2);
}

.filter-badge.badge-transmission .badge-label,
.filter-badge.badge-transmission .badge-value {
    color: white;
}

.filter-badge.badge-default {
    background: #6c757d;
    color: white;
    border-color: #6c757d;
    box-shadow: 0 2px 4px rgba(108, 117, 125, 0.2);
}

.filter-badge.badge-default .badge-label,
.filter-badge.badge-default .badge-value {
    color: white;
}

/* Contador de fotos */
.ad-photos {
    font-size: 0.75rem;
    color: var(--text-muted);
    font-weight: 500;
}

/* Responsive para badges de filtros */
@media (max-width: 768px) {
    .ad-filter-badges {
        gap: 4px;
    }

    .filter-badge {
        font-size: 0.65rem;
        padding: 2px 6px;
    }

    .filter-badge .badge-label {
        font-size: 0.6rem;
    }

    .filter-badge .badge-value {
        font-size: 0.65rem;
    }
}

/* Estilos para enlaces de categorías jerárquicas */
.filter-option-link {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    margin: 4px 0;
    text-decoration: none;
    color: var(--text-primary);
    background: var(--background-card);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    transition: var(--transition);
    font-size: 14px;
    font-weight: 500;
}

.filter-option-link:hover {
    background: var(--background-hover);
    border-color: var(--border-hover);
    color: var(--primary-color);
    transform: translateX(4px);
}

.filter-option-link.active {
    background: var(--primary-color);
    color: white;
    border-color: var(--primary-color);
    font-weight: 600;
}

.filter-option-link i {
    margin-right: 8px;
    font-size: 16px;
    width: 16px;
    text-align: center;
}

.subcategory-indicator {
    margin-left: auto;
    color: var(--text-muted);
    font-size: 12px;
    font-weight: bold;
}

.filter-option-link.active .subcategory-indicator {
    color: rgba(255, 255, 255, 0.8);
}

/* Responsive para enlaces de categorías */
@media (max-width: 768px) {
    .filter-option-link {
        padding: 10px 12px;
        font-size: 13px;
    }

    .filter-option-link i {
        font-size: 14px;
        margin-right: 6px;
    }
}

/* ===== FILTROS JERÁRQUICOS MEJORADOS ===== */

/* Contenedor principal de categorías jerárquicas */
.hierarchical-categories {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Sección de filtros de categorías */
.category-filter-section {
    background: #f8f9fa;
    border-radius: 12px;
    padding: 16px;
    border: 1px solid #e9ecef;
}

.category-filter-section .filter-title {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    margin: -16px -16px 16px -16px;
    padding: 16px;
    border-radius: 12px 12px 0 0;
    font-size: 16px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Niveles de categorías */
.category-level {
    background: white;
    border-radius: 8px;
    border: 1px solid #e9ecef;
    overflow: hidden;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
}

.category-level:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Headers de niveles */
.level-header {
    cursor: pointer;
    user-select: none;
    transition: background-color 0.2s ease;
}

.level-header:hover {
    background: #f8f9fa;
}

.level-title {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: #495057;
    position: relative;
}

.level-icon {
    font-size: 12px;
    color: #6c757d;
    transition: transform 0.2s ease;
}

.level-text {
    flex: 1;
}

.level-count {
    background: #e9ecef;
    color: #6c757d;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 500;
}

/* Colores específicos para cada nivel */
.level-1 .level-title {
    background: linear-gradient(135deg, #e3f2fd, #bbdefb);
    color: #1565c0;
    border-bottom: 2px solid #2196f3;
}

.level-2 .level-title {
    background: linear-gradient(135deg, #e8f5e8, #c8e6c9);
    color: #2e7d32;
    border-bottom: 2px solid #4caf50;
}

.level-3 .level-title {
    background: linear-gradient(135deg, #fff8e1, #ffecb3);
    color: #f57c00;
    border-bottom: 2px solid #ff9800;
}

/* Contenido de niveles */
.level-content {
    padding: 0;
    background: white;
}

/* Opciones de filtro */
.filter-options {
    padding: 8px;
}

.filter-option-link {
    display: block;
    text-decoration: none;
    color: #495057;
    border-radius: 6px;
    margin-bottom: 4px;
    transition: all 0.2s ease;
    border: 1px solid transparent;
}

.filter-option-link:hover {
    text-decoration: none;
    transform: translateX(4px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.option-content {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
}

.option-icon {
    font-size: 14px;
    width: 16px;
    text-align: center;
}

.option-text {
    font-weight: 500;
    font-size: 13px;
}

/* Estilos específicos por nivel */
.level-1-option {
    background: #f8f9ff;
    border-left: 3px solid #2196f3;
}

.level-1-option:hover {
    background: #e3f2fd;
    border-left-color: #1976d2;
}

.level-1-option.active {
    background: linear-gradient(135deg, #2196f3, #1976d2);
    color: white;
    border-left-color: #0d47a1;
}

.level-2-option {
    background: #f1f8e9;
    border-left: 3px solid #4caf50;
    margin-left: 12px;
}

.level-2-option:hover {
    background: #e8f5e8;
    border-left-color: #388e3c;
}

.level-2-option.active {
    background: linear-gradient(135deg, #4caf50, #388e3c);
    color: white;
    border-left-color: #2e7d32;
}

.level-3-option {
    background: #fffbf0;
    border-left: 3px solid #ff9800;
    margin-left: 24px;
}

.level-3-option:hover {
    background: #fff8e1;
    border-left-color: #f57c00;
}

.level-3-option.active {
    background: linear-gradient(135deg, #ff9800, #f57c00);
    color: white;
    border-left-color: #e65100;
}

/* Grupos de subcategorías */
.subcategory-group {
    margin-bottom: 12px;
    border: 1px solid #e9ecef;
    border-radius: 6px;
    overflow: hidden;
}

.subcategory-parent {
    background: linear-gradient(135deg, #e8f5e8, #c8e6c9);
    color: #2e7d32;
    padding: 8px 12px;
    font-weight: 600;
    font-size: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    border-bottom: 1px solid #c8e6c9;
}

.subcategory-children {
    padding: 4px;
    background: white;
}

/* Grupos de microcategorías */
.microcategory-group {
    margin-bottom: 16px;
    border: 1px solid #e9ecef;
    border-radius: 6px;
    overflow: hidden;
}

.microcategory-grandparent {
    background: linear-gradient(135deg, #e3f2fd, #bbdefb);
    color: #1565c0;
    padding: 8px 12px;
    font-weight: 600;
    font-size: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    border-bottom: 1px solid #bbdefb;
}

.microcategory-parent {
    border-bottom: 1px solid #f0f0f0;
}

.microcategory-parent:last-child {
    border-bottom: none;
}

.microcategory-parent-header {
    background: linear-gradient(135deg, #fff8e1, #ffecb3);
    color: #f57c00;
    padding: 6px 12px 6px 20px;
    font-weight: 600;
    font-size: 11px;
    display: flex;
    align-items: center;
    gap: 8px;
    border-bottom: 1px solid #ffecb3;
}

.microcategory-children {
    padding: 4px 4px 4px 32px;
    background: white;
}

/* Estados activos */
.level-1-option.active .option-icon,
.level-2-option.active .option-icon,
.level-3-option.active .option-icon {
    color: rgba(255, 255, 255, 0.9);
}

.level-1-option.active .option-text,
.level-2-option.active .option-text,
.level-3-option.active .option-text {
    color: white;
    font-weight: 600;
}

/* Responsive */
@media (max-width: 768px) {
    .hierarchical-categories {
        gap: 8px;
    }

    .category-filter-section {
        padding: 12px;
    }

    .category-filter-section .filter-title {
        margin: -12px -12px 12px -12px;
        padding: 12px;
        font-size: 14px;
    }

    .level-title {
        padding: 12px;
        font-size: 13px;
    }

    .option-content {
        padding: 8px 10px;
    }

    .option-text {
        font-size: 12px;
    }

    .level-2-option {
        margin-left: 8px;
    }

    .level-3-option {
        margin-left: 16px;
    }

    .microcategory-children {
        padding-left: 24px;
    }

    .subcategory-parent,
    .microcategory-grandparent,
    .microcategory-parent-header {
        font-size: 11px;
        padding: 6px 10px;
    }
}


/* ====== mobile-v2.css ====== */
/* Mobile V2 - Premium UI Overrides */

@media (max-width: 768px) {

    /* Fixed Search Header - Mantener el gradiente azul del brand */
    .header {
        position: sticky !important;
        top: 0;
        left: 0;
        right: 0;
        z-index: 1000;
        min-height: 60px;
        background: #2563eb !important;
        display: flex;
        align-items: center;
        padding: 8px 16px;
    }

    .header-content {
        width: 100%;
        padding: 0 !important;
    }

    .header-top {
        display: flex !important;
        align-items: center;
        width: 100%;
        gap: 12px;
        padding: 0;
        min-height: auto;
    }

    .logo {
        flex-shrink: 0;
    }

    /* Logo más grande y visible */
    .logo-image {
        height: 38px !important;
        width: auto !important;
        max-width: 140px !important;
        min-width: auto !important;
    }

    .search-container {
        flex: 1;
        display: block !important;
        /* Force visible on mobile */
        margin: 0 !important;
    }

    .search-container--hidden-on-home {
        display: block !important;
    }

    .search-form {
        background: none;
        border-radius: 0;
        padding: 0;
        display: flex;
        align-items: center;
        border: none;
    }

    .search-input-wrapper {
        width: 100%;
        display: flex;
        align-items: center;
    }

    .search-icon-left {
        color: #9ca3af;
        font-size: 14px;
    }

    .search-input {
        background: rgba(255, 255, 255, 0.95);
        border: none;
        padding: 10px 12px 10px 38px;
        font-size: 14px;
        color: #1f2937;
        width: 100%;
        border-radius: 8px;
        font-family: 'Inter', sans-serif;
        outline: none;
        box-shadow: none;
        -webkit-appearance: none;
        appearance: none;
    }

    .search-input::placeholder {
        color: #9ca3af;
    }

    .search-input:focus {
        outline: none;
        background: white;
        box-shadow: none;
    }

    /* Categories Icon instead of Hamburger */
    .mobile-menu-btn {
        background: rgba(255, 255, 255, 0.15) !important;
        color: white !important;
        width: 40px !important;
        height: 40px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 8px !important;
        border: none !important;
    }

    .mobile-menu-btn:hover {
        background: rgba(255, 255, 255, 0.25) !important;
    }

    .mobile-menu-btn i {
        font-size: 20px;
        color: white;
    }

    /* Change Bars icon to Th-large for categories look */
    .mobile-menu-btn .fa-bars:before {
        content: "\f009";
        /* fa-th-large */
        font-weight: 900;
    }

    /* Hide desktop actions */
    .header-actions.desktop-only {
        display: none !important;
    }

    /* Sticky Action Bar in Ad Detail - Refined Layout */
    .sticky-action-bar {
        position: fixed;
        bottom: calc(64px + env(safe-area-inset-bottom));
        left: 0;
        right: 0;
        background: #fff;
        padding: 10px 16px;
        display: flex;
        gap: 12px;
        box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.08);
        z-index: 9997;
        /* Below mobile footer (99999) and chatbot (9998) */
        border-top: 1px solid #f1f5f9;
        transition: transform 0.3s ease;
    }

    .sticky-action-bar .btn-offer {
        flex: 1;
        background: #fff;
        border: 2px solid #FF6600;
        color: #FF6600;
        font-weight: 700;
        padding: 12px;
        border-radius: 12px;
        text-align: center;
        text-decoration: none;
        font-size: 15px;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.2s;
    }

    .sticky-action-bar .btn-buy {
        flex: 1;
        background: #FF6600;
        border: 2px solid #FF6600;
        color: #fff;
        font-weight: 700;
        padding: 12px;
        border-radius: 12px;
        text-align: center;
        text-decoration: none;
        font-size: 15px;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.2s;
        box-shadow: 0 4px 12px rgba(255, 102, 0, 0.2);
    }

    .sticky-action-bar .btn-offer:active,
    .sticky-action-bar .btn-buy:active {
        transform: scale(0.98);
        opacity: 0.9;
    }

    /* Mobile Breadcrumb in Footer - More subtle */
    .mobile-footer-breadcrumb {
        padding: 20px 16px;
        background: #f8fafc;
        border-top: 1px solid #e2e8f0;
        margin-top: 40px;
        margin-bottom: 20px;
    }

    .mobile-footer-breadcrumb .breadcrumb-items {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        font-size: 12px;
        align-items: center;
        justify-content: center;
    }

    .mobile-footer-breadcrumb .breadcrumb-item {
        color: #64748b;
        text-decoration: none;
        font-weight: 500;
    }

    .mobile-footer-breadcrumb .breadcrumb-separator {
        color: #cbd5e1;
        font-size: 10px;
    }

    /* NO sobrescribir estilos del mobile-footer - usar los de footer.php */

    /* Visibility helpers */
    .mobile-only {
        display: none;
    }
}

@media (max-width: 768px) {
    .mobile-only {
        display: flex !important;
    }

    div.mobile-only {
        display: block !important;
    }

    .sticky-action-bar.mobile-only {
        display: flex !important;
    }

    /* Adjust main content padding to accommodate sticky bar at bottom */
    body.is-ad-detail {
        padding-bottom: calc(140px + env(safe-area-inset-bottom)) !important;
    }
}

/* Móviles más pequeños */
@media (max-width: 480px) {
    .header {
        padding: 6px 12px;
        min-height: 56px;
    }

    .logo-image {
        height: 30px !important;
        max-width: 110px !important;
    }

    .search-form {
        padding: 0;
    }

    .search-input {
        font-size: 13px;
    }

    .mobile-menu-btn {
        width: 36px !important;
        height: 36px !important;
    }

    .mobile-menu-btn i {
        font-size: 18px;
    }
}

/* Móviles muy pequeños */
@media (max-width: 360px) {
    .header {
        padding: 4px 8px;
        min-height: 52px;
    }

    .logo-image {
        height: 26px !important;
        max-width: 90px !important;
    }

    .search-form {
        padding: 0;
    }

    .search-input {
        font-size: 12px;
    }

    .header-top {
        gap: 8px;
    }
}


/* ====== breadcrumb.css ====== */
.breadcrumb {
    background: #f5f5f5;
    padding: 8px 0;
    border-bottom: 1px solid #e0e0e0;
    margin-bottom: 0;
    width: 100%;
}

.breadcrumb-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
    font-size: 13px;
}

.breadcrumb-items {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.breadcrumb-item-wrapper {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    position: relative;
}

/* Placeholder styles */
.breadcrumb-item-wrapper.is-placeholder .breadcrumb-dropdown-trigger,
.breadcrumb-item-wrapper.is-placeholder .breadcrumb-link {
    color: #6c757d;
    font-style: italic;
    opacity: 0.8;
}

.breadcrumb-item-wrapper.is-placeholder .breadcrumb-dropdown-trigger:hover {
    color: #495057;
    opacity: 1;
}

/* Disabled styles */
.breadcrumb-item-wrapper.is-disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.breadcrumb-item-wrapper.is-disabled .breadcrumb-link {
    color: #adb5bd;
    cursor: not-allowed;
    pointer-events: none;
}

.breadcrumb a,
.breadcrumb .breadcrumb-link,
.breadcrumb-dropdown-trigger,
.breadcrumb .current {
    color: #667eea;
    text-decoration: none;
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    line-height: 1.2;
    text-align: left;
}

.breadcrumb-dropdown-trigger {
    background: none;
    border: none;
    color: #667eea;
    font: inherit;
    cursor: pointer;
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    padding: 0 18px 0 0;
    position: relative;
    text-align: left;
}

.breadcrumb-dropdown-trigger::after {
    content: '\25BE';
    font-size: 14px;
    line-height: 1;
    position: absolute;
    top: 2px;
    right: 0;
}

.breadcrumb-dropdown-trigger:hover,
.breadcrumb-dropdown-trigger:focus {
    text-decoration: underline;
    color: #4a56b3;
    outline: none;
}

.breadcrumb-dropdown-trigger.current {
    color: #6c757d;
    font-weight: 500;
}

.breadcrumb-dropdown-trigger.current::after {
    color: #6c757d;
}

.breadcrumb a:hover,
.breadcrumb .breadcrumb-link:hover,
.breadcrumb-dropdown-trigger:hover,
.breadcrumb-dropdown-trigger:focus {
    text-decoration: underline;
}

.breadcrumb .current {
    color: #6c757d;
    font-weight: 500;
}

.breadcrumb .current .breadcrumb-count {
    color: #6c757d;
}

.breadcrumb-label {
    font-size: 14px;
    font-weight: 600;
    color: inherit;
}

.breadcrumb-count {
    font-size: 12px;
    font-weight: 500;
    color: #4a5568;
}

.breadcrumb .separator {
    margin: 0 8px;
    color: #6c757d;
}

.breadcrumb-dropdown-panel {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 260px;
    max-width: 360px;
    max-height: 320px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.12);
    padding: 12px;
    margin-top: 8px;
    z-index: 1200;
    display: none;
}

.breadcrumb-dropdown-panel[aria-hidden="false"] {
    display: block;
}

.breadcrumb-dropdown-content {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.breadcrumb-dropdown-search-input {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid #cbd5f5;
    border-radius: 6px;
    font-size: 13px;
}

.breadcrumb-dropdown-search-input:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.2);
}

.breadcrumb-dropdown-status {
    font-size: 13px;
    color: #4a5568;
}

.breadcrumb-dropdown-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    max-height: 220px;
    overflow-y: auto;
    scrollbar-width: thin;
}

.breadcrumb-dropdown-list::-webkit-scrollbar {
    width: 6px;
}

.breadcrumb-dropdown-list::-webkit-scrollbar-thumb {
    background: rgba(102, 126, 234, 0.4);
    border-radius: 3px;
}

.breadcrumb-dropdown-list-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 8px;
    border-radius: 6px;
    transition: background 0.15s ease;
    text-decoration: none;
    color: #2d3748;
}

.breadcrumb-dropdown-list-item a {
    color: #2d3748;
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    flex: 1;
}

.breadcrumb-dropdown-list-item a:hover {
    text-decoration: underline;
}

.breadcrumb-dropdown-list-item.is-active {
    background: rgba(102, 126, 234, 0.12);
}

.breadcrumb-dropdown-item-count {
    font-size: 12px;
    color: #4a5568;
    background: rgba(226, 232, 240, 0.6);
    border-radius: 999px;
    padding: 2px 8px;
    margin-left: 8px;
}

.breadcrumb-dropdown-footer {
    border-top: 1px solid #e2e8f0;
    padding-top: 8px;
    margin-top: 4px;
}

.breadcrumb-dropdown-footer a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #667eea;
    font-size: 12px;
    text-decoration: none;
}

.breadcrumb-dropdown-footer a:hover {
    text-decoration: underline;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 768px) {
    .breadcrumb {
        padding: 8px 0;
    }

    .breadcrumb-container {
        padding: 0 16px;
    }

    .breadcrumb-items {
        gap: 4px;
    }

    .breadcrumb-dropdown-panel {
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: calc(100% - 32px);
        max-width: 420px;
        max-height: 80vh;
        margin: 0;
    }

    .breadcrumb-dropdown-trigger::after {
        font-size: 18px;
    }
}


/* ====== auth-modal.css ====== */
/* Modal de Autenticación - Estilos Unificados */

/* Estilos del Modal de Autenticación */
.auth-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 2147483645;
    backdrop-filter: blur(5px);
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.auth-modal.show,
.auth-modal[style*="display: flex"],
.auth-modal[style*="display:flex"] {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.auth-modal-content {
    background: white;
    border-radius: 24px;
    width: 90%;
    max-width: 480px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 25px 80px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(0, 0, 0, 0.05);
    animation: modalSlideIn 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

@keyframes modalSlideIn {
    from {
        opacity: 0;
        transform: translateY(-30px) scale(0.95);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.auth-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 25px 30px 20px;
    border-bottom: 1px solid #e5e7eb;
}

.auth-modal-title {
    margin: 0;
    font-size: 24px;
    font-weight: 700;
    color: #1f2937;
}

.auth-close-btn {
    background: none;
    border: none;
    font-size: 20px;
    color: #6b7280;
    cursor: pointer;
    padding: 8px;
    border-radius: 50%;
    transition: all 0.2s ease;
    min-width: 40px;
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
    position: relative;
    z-index: 10;
    pointer-events: auto;
}

.auth-close-btn:hover,
.auth-close-btn:active {
    background: #f3f4f6;
    color: #374151;
    transform: scale(1.05);
}

.auth-modal-message {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 15px 30px;
    background: #eff6ff;
    border-bottom: 1px solid #e5e7eb;
    color: #1e40af;
    font-size: 14px;
    font-weight: 500;
}

.auth-modal-message i {
    color: #3b82f6;
    font-size: 16px;
}

.auth-tabs {
    display: flex;
    border-bottom: 1px solid #e5e7eb;
}

.auth-tab {
    flex: 1;
    padding: 15px 20px;
    background: none;
    border: none;
    font-size: 16px;
    font-weight: 600;
    color: #6b7280;
    cursor: pointer;
    transition: all 0.2s ease;
    border-bottom: 3px solid transparent;
}

.auth-tab.active {
    color: #3b82f6;
    border-bottom-color: #3b82f6;
    background: #f8fafc;
}

.auth-tab:hover {
    color: #374151;
    background: #f9fafb;
}

.auth-forms {
    padding: 30px;
}

.auth-form {
    display: block;
}

/* Social Login Section */
.social-login-section {
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.btn-social {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    padding: 12px 20px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 600;
    font-size: 16px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.btn-social:active {
    transform: scale(0.98);
}

.btn-google {
    background: white;
    border: 2px solid #e5e7eb;
    color: #374151;
}

.btn-google:hover {
    background: #f9fafb;
    border-color: #d1d5db;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.btn-facebook {
    background: #1877f2;
    border: none;
    color: white;
}

.btn-facebook:hover {
    background: #166fe5;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(24, 119, 242, 0.3);
}

.btn-facebook i {
    font-size: 18px;
}

.divider {
    position: relative;
    text-align: center;
    margin: 15px 0;
    color: #6b7280;
    font-size: 14px;
    width: 100%;
}

.divider::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 1px;
    background: #e5e7eb;
    transform: translateY(-50%);
}

.divider span {
    background: white;
    padding: 0 15px;
    position: relative;
    z-index: 1;
}

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

.form-group label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: #374151;
    font-size: 14px;
}

.form-group input {
    width: 100%;
    padding: 14px 18px;
    border: 2px solid #e5e7eb;
    border-radius: 12px;
    font-size: 16px;
    transition: all 0.3s ease;
    box-sizing: border-box;
    background: #fafafa;
}

.form-group input:focus {
    outline: none;
    border-color: #3b82f6;
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.1);
    background: white;
    transform: translateY(-1px);
}

.form-group input:hover {
    border-color: #d1d5db;
    background: white;
}

.form-options {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
    flex-wrap: wrap;
    gap: 10px;
}

.checkbox-label {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 14px;
    color: #6b7280;
}

.checkbox-label input[type="checkbox"] {
    margin-right: 8px;
    width: auto;
}

.forgot-link {
    color: #3b82f6;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
}

.forgot-link:hover {
    text-decoration: underline;
}

.btn-full {
    width: 100%;
    padding: 16px 24px;
    font-size: 16px;
    font-weight: 700;
    border-radius: 12px;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    position: relative;
    overflow: hidden;
}

.btn-primary {
    background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
    color: white;
    box-shadow: 0 4px 15px rgba(59, 130, 246, 0.3);
}

.btn-primary:hover {
    background: linear-gradient(135deg, #2563eb 0%, #1e40af 100%);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(59, 130, 246, 0.4);
}

.btn-primary:active {
    transform: translateY(0);
    box-shadow: 0 4px 15px rgba(59, 130, 246, 0.3);
}

.auth-footer {
    padding: 20px 30px 30px;
    text-align: center;
    border-top: 1px solid #e5e7eb;
}

.auth-footer p {
    margin: 0;
    color: #6b7280;
    font-size: 14px;
}

.auth-footer a {
    color: #3b82f6;
    text-decoration: none;
    font-weight: 600;
}

.auth-footer a:hover {
    text-decoration: underline;
}

/* Mobile modal enhancements */
.auth-modal.mobile-modal {
    overflow: auto;
}

.auth-modal.mobile-modal .auth-modal-content {
    overflow: auto;
    max-height: 100vh;
    border-radius: 0;
    margin: 0;
    width: 100%;
}

.auth-modal.mobile-modal .auth-close-btn {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

/* Responsive */
@media (max-width: 480px) {
    .auth-modal-content {
        width: 95%;
        margin: 10px;
        max-height: 95vh;
        border-radius: 16px;
    }

    .auth-modal-header {
        padding: 20px 20px 15px;
        min-height: 70px;
        position: relative;
    }

    .auth-modal-title {
        font-size: 20px;
        line-height: 1.3;
    }

    .auth-close-btn {
        font-size: 24px;
        padding: 10px;
        min-width: 44px;
        min-height: 44px;
        position: absolute;
        right: 15px;
        top: 15px;
        z-index: 10;
    }

    .auth-forms {
        padding: 20px;
    }

    .auth-footer {
        padding: 15px 20px 20px;
    }

    .btn-google {
        padding: 14px 20px;
        font-size: 16px;
    }

    .form-group input {
        padding: 16px 18px;
        font-size: 16px;
        /* Prevents zoom on iOS */
        border-radius: 8px;
    }

    /* Improve touch targets for mobile */
    .form-group input,
    .btn-google,
    .auth-tab,
    .btn-full {
        min-height: 44px;
        appearance: none;
        -webkit-appearance: none;
        border-radius: 8px;
        -webkit-border-radius: 8px;
    }

    /* Prevent text selection on touch */
    .auth-close-btn,
    .btn-google,
    .auth-tab,
    .btn-full {
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1);
    }

    /* Improve touch targets */
    .auth-tab {
        padding: 18px 20px;
        min-height: 48px;
    }

    .btn-full {
        padding: 18px 24px;
        min-height: 48px;
    }

    /* Better spacing for mobile */
    .form-options {
        flex-direction: column;
        gap: 15px;
        align-items: stretch;
    }

    .forgot-link {
        text-align: center;
        margin-top: 10px;
    }
}


/* ====== country-backgrounds.css ====== */
/* Imágenes de fondo específicas por país para la sección de bienvenida */

.welcome-section {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* España */
.welcome-section.spain,
.welcome-section.españa {
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('https://images.unsplash.com/photo-1539650116574-75c0c6d73c6e?ixlib=rb-4.0.3&auto=format&fit=crop&w=2070&q=80');
}

/* Colombia */
.welcome-section.colombia {
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('https://images.unsplash.com/photo-1551698618-1dfe5d97d256?ixlib=rb-4.0.3&auto=format&fit=crop&w=2070&q=80');
}

/* México */
.welcome-section.mexico,
.welcome-section.méxico {
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('https://images.unsplash.com/photo-1518105779142-d975f22f1d04?ixlib=rb-4.0.3&auto=format&fit=crop&w=2070&q=80');
}

/* Argentina */
.welcome-section.argentina {
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('https://images.unsplash.com/photo-1589909202802-8f4aadce1849?ixlib=rb-4.0.3&auto=format&fit=crop&w=2070&q=80');
}

/* Chile */
.welcome-section.chile {
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('https://images.unsplash.com/photo-1555881604-2f6b1a1a3e5e?ixlib=rb-4.0.3&auto=format&fit=crop&w=2070&q=80');
}

/* Perú */
.welcome-section.peru,
.welcome-section.perú {
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('https://images.unsplash.com/photo-1526392060635-9d6019884377?ixlib=rb-4.0.3&auto=format&fit=crop&w=2070&q=80');
}

/* Ecuador */
.welcome-section.ecuador {
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?ixlib=rb-4.0.3&auto=format&fit=crop&w=2070&q=80');
}

/* Paraguay */
.welcome-section.paraguay {
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('https://images.unsplash.com/photo-1516259762381-22954d7d3ad2?ixlib=rb-4.0.3&auto=format&fit=crop&w=2070&q=80');
}

/* Uruguay */
.welcome-section.uruguay {
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('https://images.unsplash.com/photo-1544735716-392fe2489ffa?ixlib=rb-4.0.3&auto=format&fit=crop&w=2070&q=80');
}

/* Asegurar que el texto sea legible sobre las imágenes */
.welcome-section .welcome-title,
.welcome-section .welcome-description {
    color: #ffffff;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}



/* ====== notification-center.css ====== */
/* ===================================
   NOTIFICATION CENTER STYLES
   Campana de notificaciones + Dropdown
   =================================== */

/* === Bell Button === */
.notification-bell-container {
    position: relative;
    display: inline-flex;
    align-items: center;
    margin-right: 8px;
}

.notification-bell-btn {
    background: rgba(255, 255, 255, 0.15);
    border: none;
    color: white;
    font-size: 18px;
    cursor: pointer;
    position: relative;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.notification-bell-btn:hover {
    background: rgba(255, 255, 255, 0.25);
    transform: scale(1.05);
}

.notification-bell-btn.active {
    background: rgba(255, 255, 255, 0.3);
}

/* Animación de sacudida cuando hay notificaciones nuevas */
@keyframes bellShake {

    0%,
    100% {
        transform: rotate(0deg);
    }

    15% {
        transform: rotate(12deg);
    }

    30% {
        transform: rotate(-10deg);
    }

    45% {
        transform: rotate(8deg);
    }

    60% {
        transform: rotate(-6deg);
    }

    75% {
        transform: rotate(3deg);
    }
}

.notification-bell-btn.has-notifications i {
    animation: bellShake 0.6s ease-in-out;
}

/* === Badge === */
.notification-bell-badge {
    position: absolute;
    top: 2px;
    right: 2px;
    background: linear-gradient(135deg, #ef4444, #dc2626);
    color: white;
    font-size: 10px;
    font-weight: 700;
    min-width: 18px;
    height: 18px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    box-shadow: 0 2px 6px rgba(239, 68, 68, 0.4);
    border: 2px solid var(--header-bg, #1877f2);
    line-height: 1;
    animation: badgePulse 2s ease-in-out infinite;
}

@keyframes badgePulse {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.1);
    }
}

/* === Dropdown === */
.notification-dropdown {
    position: absolute;
    top: 100%;
    right: -80px;
    margin-top: 12px;
    width: 380px;
    max-height: 480px;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(0, 0, 0, 0.05);
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px) scale(0.95);
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.notification-dropdown.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}

/* Dropdown Header */
.notification-dropdown-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    flex-shrink: 0;
}

.notification-dropdown-title {
    font-size: 16px;
    font-weight: 700;
    color: #1f2937;
}

.notification-mark-all-btn {
    background: none;
    border: none;
    color: #6C5CE7;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 6px;
    transition: background 0.2s;
}

.notification-mark-all-btn:hover {
    background: #6C5CE710;
}

/* Dropdown List */
.notification-dropdown-list {
    overflow-y: auto;
    flex: 1;
    max-height: 360px;
}

.notification-dropdown-list::-webkit-scrollbar {
    width: 4px;
}

.notification-dropdown-list::-webkit-scrollbar-thumb {
    background: #ddd;
    border-radius: 4px;
}

/* Notification Items */
.notification-item {
    display: flex;
    align-items: flex-start;
    padding: 14px 20px;
    text-decoration: none;
    color: inherit;
    border-bottom: 1px solid rgba(0, 0, 0, 0.03);
    transition: background 0.2s;
    cursor: pointer;
    gap: 12px;
}

.notification-item:hover {
    background: #f8f9fa;
}

.notification-item.unread {
    background: #EFF6FF;
}

.notification-item.unread:hover {
    background: #DBEAFE;
}

.notification-item-icon {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 16px;
}

.notification-item-content {
    flex: 1;
    min-width: 0;
}

.notification-item-title {
    font-size: 14px;
    font-weight: 600;
    color: #1f2937;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.notification-item-body {
    font-size: 13px;
    color: #6b7280;
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.notification-item-time {
    font-size: 11px;
    color: #9ca3af;
    margin-top: 4px;
}

.notification-item-dot {
    width: 8px;
    height: 8px;
    background: #6C5CE7;
    border-radius: 50%;
    flex-shrink: 0;
    margin-top: 6px;
}

/* Empty State */
.notification-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    color: #9ca3af;
}

.notification-empty i {
    font-size: 32px;
    margin-bottom: 12px;
    opacity: 0.5;
}

.notification-empty p {
    font-size: 14px;
    margin: 0;
}

/* Loading Spinner */
.notification-loading {
    display: flex;
    justify-content: center;
    padding: 30px;
}

.notification-spinner {
    width: 28px;
    height: 28px;
    border: 3px solid #e5e7eb;
    border-top-color: #6C5CE7;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

/* Dropdown Footer */
.notification-dropdown-footer {
    display: block;
    text-align: center;
    padding: 14px;
    font-size: 13px;
    font-weight: 600;
    color: #6C5CE7;
    text-decoration: none;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    transition: background 0.2s;
    flex-shrink: 0;
}

.notification-dropdown-footer:hover {
    background: #f8f9fa;
}

/* === Responsive === */
@media (max-width: 768px) {
    .notification-bell-container {
        display: none;
        /* Bell in mobile uses menu link instead */
    }

    .notification-dropdown {
        width: 100vw;
        right: -20px;
        border-radius: 0 0 16px 16px;
    }
}

/* === Notification Page Styles === */
.notifications-page {
    max-width: 720px;
    margin: 0 auto;
    padding: 24px 16px;
}

.notifications-page-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
}

.notifications-page-header h1 {
    font-size: 24px;
    font-weight: 700;
    color: #1f2937;
    margin: 0;
}

.notification-page-item {
    display: flex;
    align-items: flex-start;
    padding: 16px 20px;
    background: white;
    border-radius: 12px;
    margin-bottom: 8px;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    transition: all 0.2s;
    gap: 14px;
}

.notification-page-item:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    transform: translateY(-1px);
}

.notification-page-item.unread {
    background: #EFF6FF;
    border-left: 3px solid #6C5CE7;
}

/* === Preferences Panel === */
.notification-prefs {
    background: white;
    border-radius: 16px;
    padding: 24px;
    margin-top: 32px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.notification-prefs h2 {
    font-size: 18px;
    font-weight: 700;
    color: #1f2937;
    margin: 0 0 20px;
}

/* === Preferences Grid === */
.pref-grid {
    display: grid;
    grid-template-columns: 1fr 60px 60px 60px;
    gap: 0;
    align-items: center;
}

.pref-grid-header {
    font-size: 12px;
    color: #9ca3af;
    font-weight: 600;
    text-align: center;
    padding: 0 0 12px;
}

.pref-grid-header:first-child {
    text-align: left;
}

.pref-grid-label {
    font-size: 14px;
    font-weight: 600;
    color: #374151;
    padding: 14px 0;
    border-top: 1px solid #f3f4f6;
}

.pref-grid-toggle {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 14px 0;
    border-top: 1px solid #f3f4f6;
}

.pref-toggle {
    display: flex;
    align-items: center;
    cursor: pointer;
}

.pref-toggle input[type="checkbox"] {
    width: 36px;
    height: 20px;
    appearance: none;
    -webkit-appearance: none;
    background: #d1d5db;
    border-radius: 10px;
    position: relative;
    cursor: pointer;
    transition: background 0.3s;
}

.pref-toggle input[type="checkbox"]::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    background: white;
    border-radius: 50%;
    transition: transform 0.3s;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
}

.pref-toggle input[type="checkbox"]:checked {
    background: #6C5CE7;
}

.pref-toggle input[type="checkbox"]:checked::after {
    transform: translateX(16px);
}

/* Mobile adjustments for pref grid */
@media (max-width: 480px) {
    .pref-grid {
        grid-template-columns: 1fr 50px 50px 50px;
    }

    .pref-grid-header {
        font-size: 11px;
    }

    .pref-grid-header i {
        display: none;
    }

    .pref-grid-label {
        font-size: 13px;
    }
}


/* ====== footer-premium.css ====== */
/* ============================================
   FOOTER PREMIUM - ESTILOS PROFESIONALES
   ============================================ */

/* Variables del footer */
:root {
    --footer-bg: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f0f23 100%);
    --footer-text: #e0e0e0;
    --footer-text-muted: #a0a0a0;
    --footer-accent: #667eea;
    --footer-accent-secondary: #764ba2;
    --footer-border: rgba(255, 255, 255, 0.08);
    --footer-card-bg: rgba(255, 255, 255, 0.03);
}

/* Footer principal */
.footer {
    background: var(--footer-bg);
    color: var(--footer-text);
    border-top: none;
    margin-top: 60px;
    padding: 0;
    position: relative;
    overflow: hidden;
}

/* Patrón decorativo de fondo */
.footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background:
        radial-gradient(circle at 10% 20%, rgba(102, 126, 234, 0.1) 0%, transparent 40%),
        radial-gradient(circle at 90% 80%, rgba(118, 75, 162, 0.1) 0%, transparent 40%);
    pointer-events: none;
}

.footer-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 60px 24px 0;
    position: relative;
    z-index: 1;
}

/* ====== SECCIÓN DE NAVEGACIÓN PRINCIPAL ====== */
.footer-info {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 60px;
    margin-bottom: 50px;
    padding-bottom: 50px;
    border-bottom: 1px solid var(--footer-border);
}

.footer-brand {
    max-width: 280px;
}

.footer-logo {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    font-size: 26px;
    font-weight: 800;
    color: #ffffff;
    letter-spacing: -0.5px;
}

.footer-logo i {
    background: linear-gradient(135deg, var(--footer-accent) 0%, var(--footer-accent-secondary) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-size: 32px;
}

.footer-description {
    color: var(--footer-text-muted);
    font-size: 15px;
    line-height: 1.7;
    margin: 0 0 24px 0;
}

/* Redes sociales en marca */
.footer-brand-social {
    display: flex;
    gap: 12px;
    margin-top: 20px;
}

.footer-brand-social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 12px;
    color: var(--footer-text-muted);
    text-decoration: none;
    transition: all 0.3s ease;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.footer-brand-social a:hover {
    background: var(--footer-accent);
    color: white;
    transform: translateY(-3px);
    border-color: var(--footer-accent);
}

/* Links del footer */
.footer-links {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
}

.footer-column h5 {
    font-size: 14px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 1px;
    position: relative;
    padding-bottom: 12px;
}

.footer-column h5::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 30px;
    height: 2px;
    background: linear-gradient(135deg, var(--footer-accent), var(--footer-accent-secondary));
    border-radius: 2px;
}

.footer-column ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-column li {
    margin-bottom: 12px;
}

.footer-column a {
    color: var(--footer-text-muted);
    text-decoration: none;
    font-size: 14px;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.footer-column a:hover {
    color: #ffffff;
    transform: translateX(4px);
}

.footer-column a::before {
    content: '';
    width: 0;
    height: 2px;
    background: var(--footer-accent);
    transition: width 0.3s ease;
}

.footer-column a:hover::before {
    width: 12px;
}

/* ====== SECCIÓN DE IA ====== */
.footer-ai-highlight {
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.15) 0%, rgba(118, 75, 162, 0.15) 100%);
    color: white;
    padding: 30px;
    margin: 0 -24px;
    border-radius: 0;
    border: 1px solid rgba(102, 126, 234, 0.3);
    border-left: none;
    border-right: none;
    backdrop-filter: blur(10px);
}

.ai-highlight-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    max-width: 1232px;
    margin: 0 auto;
}

.ai-highlight-text h4 {
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 8px;
    color: white;
    display: flex;
    align-items: center;
    gap: 10px;
}

.ai-highlight-text p {
    font-size: 0.95rem;
    line-height: 1.6;
    margin: 0;
    color: rgba(255, 255, 255, 0.85);
}

.btn-ai-highlight {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, var(--footer-accent), var(--footer-accent-secondary));
    color: white;
    padding: 14px 28px;
    border-radius: 30px;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.95rem;
    transition: all 0.3s ease;
    box-shadow: 0 4px 20px rgba(102, 126, 234, 0.4);
    white-space: nowrap;
}

.btn-ai-highlight:hover {
    box-shadow: 0 6px 30px rgba(102, 126, 234, 0.6);
    transform: translateY(-2px);
    color: white;
}

/* ====== SECCIÓN INFERIOR ====== */
.footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 30px 0;
    margin-top: 40px;
    border-top: 1px solid var(--footer-border);
}

.footer-bottom-left {
    flex: 1;
}

.footer-copyright {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--footer-text-muted);
    font-size: 13px;
}

.footer-copyright i {
    color: var(--footer-accent);
}

.footer-bottom-right {
    display: flex;
    align-items: center;
    gap: 40px;
}

/* Apps */
.footer-apps {
    display: flex;
    align-items: center;
    gap: 16px;
}

.apps-label {
    color: var(--footer-text-muted);
    font-size: 13px;
    font-weight: 500;
}

.app-stores {
    display: flex;
    gap: 10px;
}

.app-store-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    color: var(--footer-text);
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    transition: all 0.3s ease;
}

.app-store-link i {
    font-size: 18px;
    color: var(--footer-text);
}

.app-store-link:hover {
    background: var(--footer-accent);
    border-color: var(--footer-accent);
    color: white;
    transform: translateY(-2px);
}

.app-store-link:hover i {
    color: white;
}

/* Social */
.footer-social {
    display: flex;
    gap: 10px;
}

.social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    color: var(--footer-text-muted);
    text-decoration: none;
    transition: all 0.3s ease;
}

.social-link:hover {
    background: var(--footer-accent);
    border-color: var(--footer-accent);
    color: white;
    transform: translateY(-2px);
}

/* ====== ESTILOS PARA SECCIONES DINÁMICAS ====== */
.footer-dynamic-aggregations,
.footer-categories-hierarchical,
.footer-locations-webs-integrated,
.footer-telegram {
    background: var(--footer-card-bg);
    border-radius: 16px;
    padding: 28px;
    margin-bottom: 30px;
    border: 1px solid var(--footer-border);
    backdrop-filter: blur(10px);
}

.footer-section-title {
    background: linear-gradient(135deg, var(--footer-accent) 0%, var(--footer-accent-secondary) 100%);
    color: white;
    margin: -28px -28px 24px -28px;
    padding: 18px 28px;
    border-radius: 16px 16px 0 0;
    font-size: 16px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 12px;
}

.footer-section-title i {
    font-size: 18px;
    opacity: 0.9;
}

/* Grid de agregaciones */
.footer-aggregations-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

.footer-aggregation-group h4 {
    font-size: 13px;
    font-weight: 700;
    color: white;
    margin-bottom: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.footer-aggregation-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.footer-aggregation-item {
    margin: 0;
}

.footer-aggregation-link {
    display: inline-block;
    padding: 8px 14px;
    background: #f3f4f6;
    color: #4b5563;
    text-decoration: none;
    font-size: 13px;
    border-radius: 8px;
    border: 1px solid #e5e7eb;
    transition: all 0.3s ease;
    font-weight: 500;
}

.footer-aggregation-link:hover {
    background: var(--footer-accent);
    color: white;
    border-color: var(--footer-accent);
    transform: translateY(-2px);
}

/* Telegram */
.telegram-links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.telegram-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    background: linear-gradient(135deg, #0088cc, #00a8ff);
    color: white;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    border-radius: 10px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 136, 204, 0.3);
}

.telegram-link:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 136, 204, 0.5);
    color: white;
}

.telegram-link i {
    font-size: 18px;
}

/* ====== WEBS Y UBICACIONES INTEGRADAS ====== */
.integrated-content {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.integrated-subtitle {
    font-size: 14px;
    font-weight: 700;
    color: white;
    margin-bottom: 18px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.integrated-subtitle i {
    color: var(--footer-accent);
}

.websites-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.website-group {
    background: rgba(255, 255, 255, 0.03);
    border-radius: 12px;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.website-group-title {
    font-size: 14px;
    font-weight: 700;
    color: white;
    margin: 0 0 14px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.website-group-title i {
    color: var(--footer-accent);
}

.website-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.website-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
    background: rgba(255, 255, 255, 0.03);
    color: var(--footer-text-muted);
    text-decoration: none;
    font-size: 13px;
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    transition: all 0.2s ease;
}

.website-link:hover {
    background: var(--footer-accent);
    color: white;
    border-color: var(--footer-accent);
}

.flag-emoji {
    font-size: 14px;
}

/* Categorías jerárquicas */
.hierarchical-categories-footer {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.footer-category-level {
    background: rgba(255, 255, 255, 0.03);
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    overflow: hidden;
}

.footer-level-header {
    cursor: pointer;
    user-select: none;
    transition: background-color 0.2s ease;
}

.footer-level-header:hover {
    background: rgba(255, 255, 255, 0.05);
}

.footer-level-title {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--footer-text);
}

.footer-level-icon {
    font-size: 11px;
    color: var(--footer-accent);
    transition: transform 0.3s ease;
}

.footer-level-text {
    flex: 1;
}

.footer-level-count {
    background: rgba(102, 126, 234, 0.2);
    color: var(--footer-accent);
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
}

.footer-level-content {
    padding: 16px;
    background: rgba(0, 0, 0, 0.15);
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.footer-subcategory-group {
    margin-bottom: 14px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 8px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.02);
}

.footer-subcategory-parent {
    background: rgba(102, 126, 234, 0.1);
    color: var(--footer-accent);
    padding: 10px 14px;
    font-weight: 600;
    font-size: 13px;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    border-bottom: 1px solid rgba(102, 126, 234, 0.2);
}

.footer-parent-link {
    color: var(--footer-accent);
    text-decoration: none;
    font-weight: 600;
    transition: color 0.2s ease;
}

.footer-parent-link:hover {
    color: white;
    text-decoration: none;
}

.footer-subcategory-children {
    padding: 10px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 8px;
}

.footer-category-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    text-decoration: none;
    color: var(--footer-text-muted);
    border-radius: 6px;
    transition: all 0.2s ease;
    font-size: 13px;
    font-weight: 500;
    background: rgba(255, 255, 255, 0.02);
}

.footer-category-link:hover {
    background: var(--footer-accent);
    color: white;
    transform: translateX(4px);
}

.footer-category-link i {
    font-size: 11px;
    color: var(--footer-accent);
}

.footer-category-link:hover i {
    color: white;
}

/* ====== UBICACIONES ====== */
.footer-location-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px;
}

.footer-location-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    text-decoration: none;
    color: var(--footer-text-muted);
    border-radius: 8px;
    transition: all 0.2s ease;
    font-size: 13px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.footer-location-link:hover {
    background: var(--footer-accent);
    color: white;
    border-color: var(--footer-accent);
}

.footer-location-link i {
    font-size: 12px;
    color: var(--footer-accent);
}

.footer-location-link:hover i {
    color: white;
}

.footer-location-link small {
    font-size: 11px;
    opacity: 0.7;
    margin-left: auto;
}

/* ====== RESPONSIVE ====== */
@media (max-width: 1024px) {
    .footer-info {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .footer-brand {
        max-width: 100%;
        text-align: center;
    }

    .footer-brand-social {
        justify-content: center;
    }

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

    .integrated-content {
        grid-template-columns: 1fr;
    }

    .footer-aggregations-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .footer-container {
        padding: 40px 16px 0;
    }

    .footer-links {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }

    .footer-bottom {
        flex-direction: column;
        gap: 24px;
        text-align: center;
        padding: 24px 0;
    }

    .footer-bottom-right {
        flex-direction: column;
        gap: 20px;
    }

    .footer-apps {
        flex-direction: column;
        gap: 12px;
    }

    .ai-highlight-content {
        flex-direction: column;
        text-align: center;
        gap: 20px;
    }

    .footer-dynamic-aggregations,
    .footer-categories-hierarchical,
    .footer-locations-webs-integrated,
    .footer-telegram {
        padding: 20px;
        margin-bottom: 20px;
    }

    .footer-section-title {
        margin: -20px -20px 20px -20px;
        padding: 14px 20px;
        font-size: 15px;
    }

    .websites-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .footer-links {
        grid-template-columns: 1fr;
    }

    .footer-column h5::after {
        left: 50%;
        transform: translateX(-50%);
    }

    .footer-column {
        text-align: center;
    }

    .footer-column a::before {
        display: none;
    }

    .app-stores {
        flex-direction: column;
        width: 100%;
    }

    .app-store-link {
        justify-content: center;
    }
}


/* ====== home.css ====== */
/* Home page specific styles */
/* Updated: 2025-11-26 - Badge destacado mejorado */
:root {
    --home-bg: #ffffff;
    --home-primary: #2563eb;
    --home-primary-dark: #1d4ed8;
    --home-accent: #facc15;
    --home-text: #1f2937;
    --home-muted: #6b7280;
    --home-border: #e5e7eb;
}

body {
    background-color: #ffffff !important;
}

.home {
    background: var(--home-bg);
    color: var(--home-text);
    padding-bottom: 48px;
}

/* Buscador destacado unificado - Diseño limpio y profesional */
.home-featured-search {
    background: #ffffff;
    padding: 60px 24px 48px;
    margin-bottom: 0;
}

.home-featured-search__container {
    max-width: 1200px;
    margin: 0 auto;
}

.home-featured-search__title {
    text-align: center;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 40px 0;
    line-height: 1.2;
}

.home-featured-search__form {
    max-width: 1100px;
    margin: 0 auto;
}

.home-featured-search__wrapper {
    display: flex;
    align-items: stretch;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    border: 1px solid #e0e0e0;
    min-height: 64px;
}

.home-featured-search__field {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 20px;
    background: #ffffff;
    position: relative;
    min-height: 64px;
}

.home-featured-search__field:first-child {
    flex: 1.4;
}

.home-featured-search__field:not(:last-child):not(.home-featured-search__submit) {
    border-right: 1px solid #e0e0e0;
}

.home-featured-search__field i:first-child {
    color: #757575;
    font-size: 1rem;
    flex-shrink: 0;
    width: 18px;
    text-align: center;
}

.home-featured-search__field input,
.home-featured-search__field select {
    flex: 1;
    border: none;
    background: transparent;
    color: #1a1a1a;
    font-size: 1rem;
    padding: 0;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    min-width: 0;
    font-weight: 400;
}

.home-featured-search__field input::placeholder {
    color: #9e9e9e;
}

.home-featured-search__field--select {
    position: relative;
    cursor: pointer;
}

.home-featured-search__field--select select {
    cursor: pointer;
    padding-right: 32px;
    color: #1a1a1a;
    background-image: none;
}

.home-featured-search__field--select select:focus {
    outline: none;
}

.home-featured-search__field--select select {
    cursor: pointer;
    padding-right: 32px;
    color: #1a1a1a;
}

.home-featured-search__field--select select:invalid {
    color: #9e9e9e;
}

.home-featured-search__chevron {
    position: absolute;
    right: 20px;
    color: #9e9e9e;
    font-size: 0.7rem;
    pointer-events: none;
    top: 50%;
    transform: translateY(-50%);
}

.home-featured-search__field--select input {
    padding-right: 32px;
    cursor: pointer;
}

/* Estilos para Modal de Provincias (reutilizado de search/results.php) */
.location-modal {
    position: fixed !important;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 99999 !important;
    padding: 16px;
}

.location-modal[aria-hidden="false"],
.location-modal.show {
    display: flex !important;
}

.location-modal-backdrop {
    position: fixed !important;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
    z-index: 99998 !important;
}

.location-modal-content {
    position: relative;
    width: 100%;
    max-width: 600px;
    max-height: 90vh;
    background: white;
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    z-index: 99999 !important;
}

.location-modal-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    border-bottom: 1px solid #e9ecef;
    flex-shrink: 0;
}

.location-modal-back {
    background: none;
    border: none;
    font-size: 20px;
    color: #6b7280;
    cursor: pointer;
    padding: 8px;
    border-radius: 50%;
    transition: background-color 0.2s;
}

.location-modal-back:hover {
    background: #f3f4f6;
}

.location-modal-title {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: #1f2937;
    flex: 1;
}

.location-modal-body {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
    display: flex;
    flex-direction: column;
}

/* Asegurar que el contenedor del mapa siempre tenga dimensiones */
#locationMapContainer {
    width: 100% !important;
    min-width: 100% !important;
    height: 400px !important;
    min-height: 300px !important;
    flex: 1;
    position: relative !important;
    overflow: hidden !important;
    background-color: #f0f0f0 !important;
    border-radius: 12px;
}

/* Ajustes específicos para Móvil */
@media (max-width: 768px) {
    .location-modal {
        padding: 0 !important;
    }

    .location-modal-content {
        max-width: 100% !important;
        max-height: 100% !important;
        width: 100% !important;
        height: 100% !important;
        border-radius: 0 !important;
    }

    .location-modal-body {
        padding: 16px !important;
        overflow: hidden !important;
    }

    #locationMapContainer {
        height: auto !important;
        min-height: 300px !important;
        max-height: none !important;
        margin-bottom: 16px;
    }

    .apply-location-filter-btn {
        margin-top: auto !important;
        padding: 16px !important;
        font-size: 18px !important;
    }
}

/* Asegurar que el mapa de Leaflet ocupe todo el contenedor */
#locationMapContainer .leaflet-container {
    width: 100% !important;
    height: 100% !important;
    min-height: 300px !important;
}

/* Asegurar que el contenedor del mapa sea siempre visible */
#locationMapContainer {
    display: block !important;
    visibility: visible !important;
}

.location-search-bar {
    position: relative;
    margin-bottom: 16px;
    z-index: 1001;
}

.location-search-bar i {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #9ca3af;
}

.location-search-bar input {
    width: 100%;
    padding: 12px 44px 12px 44px;
    border: 1px solid #e2e4e9;
    border-radius: 8px;
    font-size: 16px;
    box-sizing: border-box;
}

.location-search-bar input:focus {
    outline: none;
    border-color: #00b487;
}

.clear-search-btn {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: #9ca3af;
    cursor: pointer;
    padding: 6px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    z-index: 10;
    transition: color 0.2s ease;
}

.clear-search-btn:hover {
    color: #6b7280;
    background-color: #f3f4f6;
}

.location-distance-slider {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 20px 0;
}

.location-distance-slider span {
    font-size: 14px;
    color: #6b7280;
    min-width: 60px;
}

.location-distance-slider input[type="range"] {
    flex: 1;
    height: 4px;
    background: #e2e4e9;
    border-radius: 2px;
    outline: none;
}

.location-distance-slider input[type="range"]::-webkit-slider-thumb {
    appearance: none;
    width: 20px;
    height: 20px;
    background: #00b487;
    border-radius: 50%;
    cursor: pointer;
}

.apply-location-filter-btn {
    width: 100%;
    padding: 14px 20px;
    background: #00b487;
    border: none;
    color: white;
    font-size: 16px;
    font-weight: 600;
    border-radius: 8px;
    cursor: pointer;
    margin-top: 20px;
    transition: background-color 0.2s;
}

.apply-location-filter-btn:hover {
    background: #00a077;
}

.location-suggestions-list {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: white;
    border: 1px solid #e2e4e9;
    border-top: none;
    border-radius: 0 0 8px 8px;
    max-height: 400px;
    overflow-y: auto;
    z-index: 1000;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    margin-top: 0;
}

.location-suggestion-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-bottom: 1px solid #f3f4f6;
    cursor: pointer;
    transition: background-color 0.2s;
}

.location-suggestion-item:last-child {
    border-bottom: none;
}

.location-suggestion-item:hover {
    background: #f9fafb;
}

.location-suggestion-item i {
    color: #9ca3af;
}

.location-suggestion-text {
    flex: 1;
    font-size: 16px;
    color: #1f2937;
}

.location-suggestion-type {
    font-size: 12px;
    color: #6b7280;
}

.home-featured-search__submit {
    background: #FF6600;
    color: #ffffff;
    border: none;
    padding: 0 32px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: background-color 0.2s ease;
    white-space: nowrap;
    min-width: 140px;
    min-height: 64px;
}

.home-featured-search__submit:hover {
    background: #E55A00;
    box-shadow: 0 4px 12px rgba(255, 102, 0, 0.3);
}

.home-featured-search__submit:active {
    background: #CC4D00;
}

.home-featured-search__submit i {
    font-size: 1rem;
}

.home-featured-search__submit span {
    font-weight: 600;
}

@media (max-width: 1024px) {
    .home-featured-search {
        padding: 48px 20px 40px;
    }

    .home-featured-search__title {
        font-size: clamp(1.75rem, 3vw, 2.5rem);
        margin-bottom: 32px;
    }

    .home-featured-search__wrapper {
        flex-wrap: wrap;
    }

    .home-featured-search__field {
        flex: 1 1 calc(50% - 1px);
        min-height: 60px;
    }

    .home-featured-search__field:nth-child(2n):not(.home-featured-search__submit) {
        border-right: none;
    }

    .home-featured-search__submit {
        flex: 1 1 100%;
        border-top: 1px solid #e0e0e0;
        min-height: 60px;
    }
}

@media (max-width: 768px) {
    .home-featured-search {
        padding: 40px 18px 32px;
    }

    .home-featured-search__title {
        font-size: 1.875rem;
        margin-bottom: 28px;
    }

    .home-featured-search__wrapper {
        flex-direction: column;
    }

    .home-featured-search__field {
        flex: 1 1 100%;
        border-right: none !important;
        border-bottom: 1px solid #e0e0e0;
        min-height: 56px;
    }

    .home-featured-search__field:last-of-type:not(.home-featured-search__submit) {
        border-bottom: none;
    }

    .home-featured-search__submit {
        flex: 1 1 100%;
        border-top: 1px solid #e0e0e0;
        min-height: 56px;
    }
}

@media (max-width: 480px) {
    .home-featured-search {
        padding: 32px 16px 24px;
    }

    .home-featured-search__title {
        font-size: 1.5rem;
        margin-bottom: 24px;
    }

    .home-featured-search__field {
        min-height: 52px;
        padding: 0 16px;
    }

    .home-featured-search__submit {
        min-height: 52px;
        padding: 0 24px;
    }
}

.home section {
    margin: 0 auto;
    max-width: 1200px;
    padding: 48px 24px;
}

.home-hero {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 32px;
    margin-top: 24px;
}

.home-hero__content {
    flex: 1 1 520px;
    background: linear-gradient(150deg, var(--home-primary) 0%, var(--home-primary-dark) 100%);
    color: #fff;
    border-radius: 24px;
    padding: 48px;
    position: relative;
    overflow: hidden;
}

.home-hero__content::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.25), transparent 55%);
    pointer-events: none;
}

.home-hero__content h1 {
    position: relative;
    font-size: clamp(2rem, 3vw + 1rem, 3rem);
    font-weight: 700;
    margin-bottom: 16px;
    z-index: 1;
}

.home-hero__content p {
    position: relative;
    font-size: 1.05rem;
    margin-bottom: 32px;
    opacity: 0.9;
    z-index: 1;
}

.home-search {
    position: relative;
    z-index: 1;
    background: rgba(255, 255, 255, 0.12);
    border-radius: 16px;
    padding: 20px;
    margin-bottom: 32px;
    backdrop-filter: blur(6px);
}

.home-search__row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.home-search__field {
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 12px;
    padding: 0 16px;
    color: var(--home-muted);
}

.home-search__field i {
    font-size: 1rem;
}

.home-search__field input,
.home-search__field select {
    background: transparent;
    border: none;
    color: var(--home-text);
    font-size: 0.95rem;
    width: 100%;
    padding: 16px 0;
}

.home-search__field input:focus,
.home-search__field select:focus {
    outline: none;
}

.home-search__submit {
    border: none;
    border-radius: 12px;
    background: #fff;
    color: var(--home-primary);
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.home-search__submit:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18);
}

.home-hero__stats {
    display: flex;
    gap: 24px;
    z-index: 1;
    position: relative;
    margin-top: 12px;
}

.home-stat {
    flex: 1;
    background: rgba(255, 255, 255, 0.12);
    border-radius: 16px;
    text-align: center;
    padding: 20px 12px;
}

.home-stat strong {
    display: block;
    font-size: 1.5rem;
    font-weight: 600;
}

.home-stat span {
    font-size: 0.9rem;
    opacity: 0.85;
}

.home-hero__promo {
    flex: 1 1 320px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.home-publish-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #FF6600;
    color: #ffffff;
    text-decoration: none;
    padding: 18px 36px;
    border-radius: 12px;
    font-size: 1.1rem;
    font-weight: 600;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(255, 102, 0, 0.3);
    white-space: nowrap;
}

.home-publish-btn:hover {
    background: #E55A00;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255, 102, 0, 0.4);
    color: #ffffff;
}

.home-publish-btn i {
    font-size: 1.2rem;
}

.home-quick-categories {
    padding-top: 0;
    width: 100%;
}

.home-quick-categories-nav {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)) !important;
    gap: 16px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.home-quick-category {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #fff;
    border: 1px solid var(--home-border);
    border-radius: 16px;
    padding: 18px 12px;
    color: var(--home-text);
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.home-quick-category i {
    font-size: 1.3rem;
    color: var(--home-primary);
}

.home-quick-category:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(15, 23, 42, 0.08);
}

.home-category-slider {
    margin: 24px auto 12px;
    padding: 0 16px;
    max-width: 1200px;
}

.home-category-slider__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}

.home-category-slider__header h2 {
    margin: 0;
    font-size: 1.4rem;
    font-weight: 700;
    color: #111827;
}

.home-category-slider__header p {
    margin: 4px 0 0;
    color: var(--home-muted);
    font-size: 0.95rem;
}

.home-category-slider__hint {
    color: var(--home-muted);
    font-size: 0.9rem;
}

.home-category-slider__nav {
    display: flex;
    align-items: center;
    gap: 8px;
}

.home-category-slider__arrow {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    border: 1px solid var(--home-border);
    background: #fff;
    color: #111827;
    display: grid;
    place-items: center;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.home-category-slider__arrow:hover,
.home-category-slider__arrow:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
    border-color: var(--home-primary);
    outline: none;
}

.home-category-slider__track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(180px, 1fr);
    gap: 12px;
    overflow-x: auto;
    padding: 4px 2px 8px;
    scroll-snap-type: x mandatory;
}

.home-category-slider__track::-webkit-scrollbar {
    height: 6px;
}

.home-category-slider__track::-webkit-scrollbar-thumb {
    background: #d1d5db;
    border-radius: 999px;
}

.home-category-chip {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #fff;
    border: 1px solid var(--home-border);
    border-radius: 14px;
    padding: 12px 14px;
    cursor: pointer;
    text-align: left;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    scroll-snap-align: start;
}

.home-category-chip:hover,
.home-category-chip:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
    border-color: var(--home-primary);
    outline: none;
}

.home-category-chip__icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    background: rgba(37, 99, 235, 0.08);
    color: var(--home-primary);
    flex-shrink: 0;
}

.home-category-chip__icon i {
    font-size: 1.1rem;
}

.home-category-chip__body {
    display: flex;
    flex-direction: column;
    gap: 2px;
    color: #111827;
}

.home-category-chip__body strong {
    font-size: 0.98rem;
    font-weight: 700;
}

.home-category-chip__body small {
    color: var(--home-muted);
    font-size: 0.85rem;
}

.home-category-dropdown {
    margin-top: 14px;
    background: #fff;
    border: 1px solid var(--home-border);
    border-radius: 12px;
    box-shadow: 0 16px 32px rgba(15, 23, 42, 0.12);
    padding: 14px;
}

.home-category-dropdown.is-open {
    animation: dropdownFadeIn 0.18s ease-out;
}

@keyframes dropdownFadeIn {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.home-category-dropdown__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}

.home-category-dropdown__title {
    font-weight: 700;
    font-size: 1.05rem;
    color: #111827;
}

.home-category-dropdown__subtitle {
    color: var(--home-muted);
    font-size: 0.9rem;
    margin-top: 2px;
}

.home-category-dropdown__actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.home-category-dropdown__link {
    color: var(--home-primary);
    font-weight: 600;
    text-decoration: none;
    font-size: 0.95rem;
}

.home-category-dropdown__link:hover {
    text-decoration: underline;
}

.home-category-dropdown__close {
    border: none;
    background: #f3f4f6;
    color: #111827;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    font-size: 1.1rem;
    cursor: pointer;
    display: grid;
    place-items: center;
    transition: background 0.15s ease;
}

.home-category-dropdown__close:hover {
    background: #e5e7eb;
}

.home-category-dropdown__list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
}

.home-category-dropdown__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid var(--home-border);
    border-radius: 10px;
    text-decoration: none;
    color: #111827;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.home-category-dropdown__item:hover {
    border-color: var(--home-primary);
    box-shadow: 0 10px 20px rgba(15, 23, 42, 0.05);
}

.home-category-dropdown__item-name {
    font-weight: 600;
    font-size: 0.95rem;
}

.home-category-dropdown__item-count {
    color: var(--home-muted);
    font-size: 0.9rem;
    white-space: nowrap;
}

.home-category-dropdown__empty {
    padding: 12px;
    color: var(--home-muted);
    font-size: 0.95rem;
}

/* Sección de grid de anuncios */
.home-ads-grid {
    padding: 0 24px;
    max-width: 1400px;
    margin: 0 auto;
}

.home-ads-grid__container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 24px;
    margin-top: 24px;
}

/* Media queries mejorados para evitar anuncios sueltos */
@media (min-width: 1400px) {
    .home-ads-grid__container {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (min-width: 1200px) and (max-width: 1399px) {
    .home-ads-grid__container {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (min-width: 900px) and (max-width: 1199px) {
    .home-ads-grid__container {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 600px) and (max-width: 899px) {
    .home-ads-grid__container {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
    }
}

@media (max-width: 599px) {
    .home-ads-grid {
        padding: 0 12px;
    }

    .home-ads-grid__container {
        grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
        gap: 12px;
    }
}

@media (max-width: 400px) {
    .home-ads-grid__container {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
}

.home-carousel {
    background: transparent;
}

.home-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.home-section-header h2 {
    font-size: 1.75rem;
    font-weight: 700;
}

.home-section-link {
    text-decoration: none;
    color: var(--home-primary);
    font-weight: 600;
}

.home-section-link:hover {
    text-decoration: underline;
}

.home-card__link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.home-carousel__viewport {
    position: relative;
    display: flex;
    align-items: center;
}

.home-carousel__track {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 8px;
    overscroll-behavior-x: contain;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
    cursor: grab;
}

.home-carousel__track::-webkit-scrollbar {
    display: none;
}

.home-carousel__track.is-dragging {
    scroll-snap-type: none;
    cursor: grabbing;
}

.home-carousel__control {
    border: none;
    background: #fff;
    color: var(--home-primary);
    width: 56px;
    height: 56px;
    border-radius: 50%;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 0.2s ease;
    margin: 0 8px;
}

.home-carousel__control:hover {
    transform: translateY(-2px);
}

.home-carousel__control i {
    font-size: 1.25rem;
}

.home-card {
    flex: 0 0 280px;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 2px 12px rgba(15, 23, 42, 0.06);
    overflow: hidden;
    scroll-snap-align: start;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(0, 0, 0, 0.06);
}

.home-card--featured {
    border: 2px solid rgba(37, 99, 235, 0.25);
}

.home-card--premium {
    border: 2px solid #FFD700;
    box-shadow: 0 6px 20px rgba(255, 215, 0, 0.2), 0 4px 16px rgba(15, 23, 42, 0.1);
    position: relative;
}

.home-card--premium::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #FFD700, #FFA500, #FFD700);
    z-index: 1;
}

.home-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.14);
}

/* Fix image visibility */
.home-card__media {
    position: relative;
    height: 200px;
    min-height: 200px;
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    display: block;
    overflow: hidden;
}

.home-card__media .listing-card__image-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.home-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    transition: transform 0.35s ease;
}

.home-card:hover .home-card__media img {
    transform: scale(1.05);
}

.home-card__placeholder {
    color: var(--home-muted);
    font-size: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
}

.home-card__price {
    position: absolute;
    top: 10px;
    left: 10px;
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
    color: #fff;
    padding: 6px 12px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 0.95rem;
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.3);
    letter-spacing: -0.01em;
    z-index: 5;
}

.home-card__badge {
    position: absolute;
    bottom: 12px;
    left: 12px;
    background: linear-gradient(135deg, #FFC107 0%, #FF8F00 50%, #FF6F00 100%);
    color: #000;
    padding: 8px 14px;
    border-radius: 22px;
    font-weight: 800;
    font-size: 0.8rem;
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 5px;
    box-shadow: 0 4px 16px rgba(255, 193, 7, 0.7), 0 2px 8px rgba(255, 143, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.3);
    border: 2px solid rgba(255, 255, 255, 1);
    text-transform: uppercase;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.3);
    letter-spacing: 0.05em;
    animation: featuredPulse 2s ease-in-out infinite;
}

.home-card__badge--premium {
    background: linear-gradient(135deg, #FFC107 0%, #FF8F00 50%, #FF6F00 100%);
    color: #000;
    font-weight: 800;
    font-size: 0.85rem;
    padding: 8px 14px;
    border: 2px solid rgba(255, 255, 255, 1);
    box-shadow: 0 4px 16px rgba(255, 193, 7, 0.7), 0 2px 8px rgba(255, 143, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.3);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    animation: featuredPulse 2s ease-in-out infinite;
    will-change: transform;
}

.home-card__badge--premium i {
    font-size: 0.9rem;
    color: #000;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.2));
}

@keyframes featuredPulse {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.05);
    }
}

/* Badge "Nuevo" para últimos anuncios publicados */
.home-card__badge--new {
    background: linear-gradient(135deg, #10b981 0%, #059669 50%, #047857 100%);
    color: #fff;
    font-weight: 800;
    font-size: 0.8rem;
    padding: 6px 12px;
    border: 2px solid rgba(255, 255, 255, 0.9);
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.4), 0 2px 6px rgba(5, 150, 105, 0.3);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.home-card__badge--new i {
    font-size: 0.8rem;
    color: #fff;
}

/* Badge "Se dona" para anuncios gratuitos (donaciones) */
.home-card__badge--donation {
    background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 50%, #6d28d9 100%);
    color: #fff;
    font-weight: 800;
    font-size: 0.8rem;
    padding: 6px 12px;
    border: 2px solid rgba(255, 255, 255, 0.9);
    box-shadow: 0 4px 12px rgba(139, 92, 246, 0.4), 0 2px 6px rgba(124, 58, 237, 0.3);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.home-card__badge--donation i {
    font-size: 0.8rem;
    color: #fff;
}

/* Precio "Gratis" en tarjetas de donación */
.home-card__price--free {
    position: absolute;
    top: 10px;
    left: 10px;
    background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
    color: #fff;
    padding: 6px 12px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 0.95rem;
    box-shadow: 0 2px 8px rgba(139, 92, 246, 0.3);
    letter-spacing: -0.01em;
    z-index: 5;
}

/* Sección "Se Dona" en el home */
.home-donations {
    padding: 0 24px;
    max-width: 1400px;
    margin: 32px auto 0;
}

.home-donations .home-section-header h2 {
    display: flex;
    align-items: center;
}

.home-donations .home-featured__scroll {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 8px;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
}

.home-donations .home-featured__scroll::-webkit-scrollbar {
    display: none;
}

/* Tarjeta de donación con borde morado */
.home-card--donation {
    border: 2px solid rgba(139, 92, 246, 0.25);
}

.home-card--donation::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #8b5cf6, #7c3aed, #8b5cf6);
    z-index: 1;
}

@media (max-width: 599px) {
    .home-donations {
        padding: 0 12px;
    }
}

/* Sección "Últimos Anuncios Publicados" agrupados por fecha */
.home-latest-published-grouped {
    padding: 0 24px;
    max-width: 1400px;
    margin: 32px auto 0;
}

.home-latest-published-grouped .home-section-header h2 {
    display: flex;
    align-items: center;
}

.home-latest-date-group {
    margin-bottom: 20px;
}

.home-latest-date-group__title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1.05rem;
    font-weight: 700;
    color: #374151;
    margin: 0 0 12px 0;
    padding: 8px 14px;
    background: linear-gradient(135deg, #f0fdf4 0%, #ecfdf5 100%);
    border-radius: 10px;
    border-left: 4px solid #10b981;
}

.home-latest-date-group__title i {
    color: #10b981;
    font-size: 0.9rem;
}

.home-latest-date-group__count {
    font-size: 0.78rem;
    font-weight: 500;
    color: #6b7280;
    margin-left: auto;
}

@media (max-width: 599px) {
    .home-latest-published-grouped {
        padding: 0 12px;
    }

    .home-latest-date-group__title {
        font-size: 0.95rem;
        padding: 6px 10px;
    }
}

.home-card__body {
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.home-card__category {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.68rem;
    text-transform: uppercase;
    color: #4338ca;
    letter-spacing: 0.03em;
    font-weight: 600;
}

.home-card__title {
    font-size: 0.9rem;
    font-weight: 600;
    margin: 0;
    color: #1a1a2e;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.home-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    font-size: 0.75rem;
    color: #71717a;
    margin-top: 6px;
    padding-top: 8px;
    border-top: 1px solid #f1f1f1;
}

.home-card__meta span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

.home-card__meta i {
    font-size: 0.7rem;
    color: #a1a1aa;
}

.home-empty {
    text-align: center;
    background: #fff;
    border-radius: 20px;
    padding: 48px 32px;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
}

.home-empty i {
    font-size: 2rem;
    color: var(--home-primary);
    margin-bottom: 12px;
}

/* ===== FLIP CARD CONTAINER ===== */
.home-goals__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 20px;
}

.home-goal-flip {
    perspective: 1000px;
    cursor: pointer;
    min-height: 280px;
}

.home-goal-flip__inner {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 280px;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    transform-style: preserve-3d;
}

.home-goal-flip.flipped .home-goal-flip__inner {
    transform: rotateY(180deg);
}

/* ===== FRONT & BACK FACES ===== */
.home-goal-flip__front,
.home-goal-flip__back {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    border-radius: 20px;
    padding: 28px 24px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

/* ===== FRONT FACE ===== */
.home-goal-flip__front {
    background: #fff;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
    border: 2px solid transparent;
    transition: box-shadow 0.3s ease, border-color 0.3s ease;
    z-index: 2;
}

.home-goal-flip:hover .home-goal-flip__front {
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.14);
    border-color: var(--home-primary, #2563eb);
}

.home-goal-flip__front .home-goal__icon {
    width: 56px;
    height: 56px;
    border-radius: 16px;
    margin: 0 auto 16px;
    background: rgba(37, 99, 235, 0.08);
    color: var(--home-primary, #2563eb);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease;
}

.home-goal-flip:hover .home-goal-flip__front .home-goal__icon {
    background: var(--home-primary, #2563eb);
    color: #fff;
    transform: scale(1.1);
}

.home-goal-flip__front h3 {
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 10px;
    color: #111827;
}

.home-goal-flip__front p {
    font-size: 0.95rem;
    color: var(--home-muted, #6b7280);
    margin-bottom: 14px;
    line-height: 1.5;
}

.home-goal__cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--home-primary, #2563eb);
    transition: gap 0.3s ease;
}

.home-goal__cta i {
    font-size: 0.7rem;
    transition: transform 0.3s ease;
}

.home-goal-flip:hover .home-goal__cta i {
    animation: spinHint 1.2s ease-in-out infinite;
}

@keyframes spinHint {

    0%,
    100% {
        transform: rotate(0deg);
    }

    50% {
        transform: rotate(180deg);
    }
}

/* ===== BACK FACE ===== */
.home-goal-flip__back {
    background: linear-gradient(135deg, #1e3a5f 0%, #2563eb 100%);
    color: #fff;
    transform: rotateY(180deg);
    box-shadow: 0 16px 40px rgba(37, 99, 235, 0.25);
    z-index: 1;
}

.home-goal-flip__back .home-goal__icon--back {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    margin: 0 auto 12px;
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
}

.home-goal-flip__back h3 {
    font-size: 1.05rem;
    font-weight: 700;
    margin-bottom: 10px;
    color: #fff;
}

.home-goal-flip__back p {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.6;
    margin-bottom: 18px;
}

/* ===== CTA BUTTON ===== */
.home-goal__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #FF6600;
    color: #fff;
    padding: 12px 22px;
    border-radius: 999px;
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    box-shadow: 0 4px 15px rgba(255, 102, 0, 0.4);
}

.home-goal__btn:hover {
    background: #E55A00;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(255, 102, 0, 0.5);
    color: #fff;
}

.home-goal__btn i {
    font-size: 0.9rem;
}

/* ===== MOBILE ADJUSTMENTS ===== */
@media (max-width: 480px) {
    .home-goal-flip {
        min-height: 260px;
    }

    .home-goal-flip__inner {
        min-height: 260px;
    }

    .home-goal-flip__back p {
        font-size: 0.8rem;
    }

    .home-goal__btn {
        padding: 10px 18px;
        font-size: 0.82rem;
    }
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 999px;
    padding: 12px 22px;
    font-weight: 600;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.btn-primary {
    background: #FF6600;
    color: #fff;
}

.btn-primary:hover {
    background: #E55A00;
    transform: translateY(-2px);
    box-shadow: 0 12px 25px rgba(255, 102, 0, 0.3);
}

.btn-secondary {
    background: #1f2937;
    color: #fff;
}

@media (max-width: 1024px) {
    .home-search__row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-hero__stats {
        flex-direction: column;
    }

    .home-carousel__control {
        display: none;
    }
}

@media (max-width: 768px) {
    .home section {
        padding: 36px 18px;
    }

    .home-hero__content {
        padding: 32px;
    }

    .home-hero__promo {
        flex: 1 1 100%;
        margin-top: 24px;
    }

    .home-publish-btn {
        width: 100%;
        padding: 16px 32px;
    }

    .home-search__row {
        grid-template-columns: 1fr;
    }

    .home-quick-categories-nav {
        grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    }

    .home-card {
        flex-basis: 220px;
    }
}

@media (max-width: 480px) {
    .home section {
        padding: 28px 16px;
    }

    .home-hero__content {
        padding: 28px;
    }

    .home-hero__stats {
        gap: 16px;
    }

    .home-card {
        flex-basis: 160px;
    }

    .home-card__media {
        height: 160px;
        min-height: 160px;
    }

    .home-card__body {
        padding: 10px 12px;
    }

    .home-card__category {
        font-size: 0.6rem;
    }

    .home-card__title {
        font-size: 0.8rem;
        -webkit-line-clamp: 2;
        line-clamp: 2;
    }

    .home-card__meta {
        font-size: 0.68rem;
        padding-top: 6px;
        margin-top: 4px;
    }

    .home-card__price {
        padding: 5px 10px;
        font-size: 0.85rem;
    }
}

/* ===== HOME GUIDES SECTION ===== */
.home-guides {
    margin: 32px auto 12px;
    padding: 0 16px 32px;
    max-width: 1200px;
}

.home-guides__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 24px;
    flex-wrap: wrap;
}

.home-guides__header h2 {
    margin: 0;
    font-size: 1.4rem;
    font-weight: 700;
    color: #111827;
    display: flex;
    align-items: center;
    gap: 10px;
}

.home-guides__header h2 i {
    color: #2563eb;
    font-size: 1.2rem;
}

.home-guides__subtitle {
    margin: 4px 0 0;
    color: #6b7280;
    font-size: 0.95rem;
}

.home-guides__view-all {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #2563eb;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 600;
    white-space: nowrap;
    transition: all 0.2s ease;
    padding: 8px 16px;
    border-radius: 8px;
    background: rgba(37, 99, 235, 0.06);
}

.home-guides__view-all:hover {
    background: rgba(37, 99, 235, 0.12);
    transform: translateX(2px);
}

.home-guides__view-all i {
    font-size: 0.75rem;
    transition: transform 0.2s ease;
}

.home-guides__view-all:hover i {
    transform: translateX(3px);
}

.home-guides__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: minmax(260px, auto);
    gap: 16px;
}

.home-guide-card {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    text-decoration: none;
    color: #fff;
    display: flex;
    flex-direction: column;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    min-height: 260px;
}

.home-guide-card--large {
    grid-column: span 2;
    min-height: 320px;
}

.home-guide-card:hover {
    transform: translateY(-6px) scale(1.01);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.2);
    color: #fff;
}

/* Image area */
.home-guide-card__image {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.home-guide-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.home-guide-card:hover .home-guide-card__image img {
    transform: scale(1.08);
}

.home-guide-card__image-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
            rgba(0, 0, 0, 0.05) 0%,
            rgba(0, 0, 0, 0.15) 40%,
            rgba(0, 0, 0, 0.75) 100%);
    transition: background 0.4s ease;
}

.home-guide-card:hover .home-guide-card__image-overlay {
    background: linear-gradient(180deg,
            rgba(0, 0, 0, 0.0) 0%,
            rgba(0, 0, 0, 0.1) 30%,
            rgba(0, 0, 0, 0.82) 100%);
}

/* Gradient fallback for cards without images */
.home-guide-card__image--gradient {
    background: var(--guide-gradient);
    display: flex;
    align-items: center;
    justify-content: center;
}

.home-guide-card__gradient-icon {
    font-size: 4rem;
    color: rgba(255, 255, 255, 0.25);
    transition: transform 0.4s ease;
}

.home-guide-card:hover .home-guide-card__gradient-icon {
    transform: scale(1.1) rotate(5deg);
}

/* Content area */
.home-guide-card__content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 20px;
    justify-content: flex-end;
}

.home-guide-card__top {
    position: absolute;
    top: 16px;
    left: 16px;
    right: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.home-guide-card__badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 12px;
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 20px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #fff;
}

.home-guide-card__time {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    background: rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-radius: 20px;
    font-size: 0.68rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.9);
}

.home-guide-card__body {
    margin-bottom: 8px;
}

.home-guide-card__title {
    font-size: 1.1rem;
    font-weight: 800;
    line-height: 1.3;
    color: #fff;
    margin: 0 0 6px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
}

.home-guide-card--large .home-guide-card__title {
    font-size: 1.3rem;
    -webkit-line-clamp: 3;
}

.home-guide-card__excerpt {
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.home-guide-card__footer {
    display: flex;
    align-items: center;
    padding-top: 10px;
}

.home-guide-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.82rem;
    font-weight: 700;
    color: #fff;
    padding: 6px 14px;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 8px;
    transition: all 0.3s ease;
}

.home-guide-card:hover .home-guide-card__cta {
    background: rgba(255, 255, 255, 0.3);
    border-color: rgba(255, 255, 255, 0.4);
}

.home-guide-card__cta i {
    font-size: 0.65rem;
    transition: transform 0.3s ease;
}

.home-guide-card:hover .home-guide-card__cta i {
    transform: translateX(4px);
}

/* Entrance animation */
.home-guide-card {
    animation: guideCardSlideUp 0.6s ease both;
}

.home-guide-card:nth-child(2) {
    animation-delay: 0.08s;
}

.home-guide-card:nth-child(3) {
    animation-delay: 0.16s;
}

.home-guide-card:nth-child(4) {
    animation-delay: 0.24s;
}

.home-guide-card:nth-child(5) {
    animation-delay: 0.32s;
}

.home-guide-card:nth-child(6) {
    animation-delay: 0.40s;
}

@keyframes guideCardSlideUp {
    from {
        opacity: 0;
        transform: translateY(24px) scale(0.97);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Responsive */
@media (max-width: 1024px) {
    .home-guides__grid {
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: minmax(240px, auto);
    }

    .home-guide-card--large {
        grid-column: span 2;
    }
}

@media (max-width: 700px) {
    .home-guides__grid {
        grid-template-columns: 1fr;
        grid-auto-rows: minmax(200px, auto);
        gap: 12px;
    }

    .home-guide-card,
    .home-guide-card--large {
        grid-column: span 1;
        min-height: 200px;
    }

    .home-guide-card__title {
        font-size: 1rem;
    }

    .home-guide-card--large .home-guide-card__title {
        font-size: 1.1rem;
    }

    .home-guide-card__excerpt {
        -webkit-line-clamp: 1;
    }

    .home-guides__header {
        flex-direction: column;
        gap: 8px;
    }
}

/* CTA Button */
.home-guides__cta-row {
    text-align: center;
    margin-top: 24px;
}

.home-guides__cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 32px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: #ffffff;
    font-size: 0.95rem;
    font-weight: 700;
    border-radius: 12px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 18px rgba(102, 126, 234, 0.35);
}

.home-guides__cta-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 28px rgba(102, 126, 234, 0.5);
    color: #ffffff;
}

.home-guides__cta-btn i {
    font-size: 0.9rem;
}

/* ===== LISTING PAGE GUIDE BANNER ===== */
.listing-guide-banner {
    grid-column: 1 / -1;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 14px;
    padding: 24px 28px;
    display: flex;
    align-items: center;
    gap: 20px;
    color: white;
    text-decoration: none;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    margin: 4px 0;
}

.listing-guide-banner::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -30%;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 70%);
    border-radius: 50%;
}

.listing-guide-banner:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(102, 126, 234, 0.4);
    color: white;
}

.listing-guide-banner__icon {
    font-size: 2rem;
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.listing-guide-banner__content {
    flex: 1;
    position: relative;
    z-index: 1;
}

.listing-guide-banner__title {
    font-size: 1rem;
    font-weight: 700;
    margin: 0 0 4px;
}

.listing-guide-banner__text {
    font-size: 0.85rem;
    opacity: 0.9;
    margin: 0;
}

.listing-guide-banner__cta {
    flex-shrink: 0;
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(4px);
    padding: 8px 18px;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: background 0.2s ease;
    position: relative;
    z-index: 1;
}

.listing-guide-banner:hover .listing-guide-banner__cta {
    background: rgba(255, 255, 255, 0.3);
}

@media (max-width: 640px) {
    .listing-guide-banner {
        flex-direction: column;
        text-align: center;
        padding: 20px;
        gap: 12px;
    }

    .listing-guide-banner__icon {
        width: 44px;
        height: 44px;
        font-size: 1.5rem;
    }
}

/* ===== Tarjeta "Explorar categoría" ===== */
.home-card--explore {
    border: 2px dashed #e0e7ff;
    background: linear-gradient(135deg, #f8faff 0%, #eef2ff 50%, #e8ecfd 100%);
    border-radius: 14px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 200px;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    overflow: visible;
    box-shadow: none;
    position: relative;
}

.home-card--explore:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(99, 102, 241, 0.15);
    border-color: #818cf8;
}

.home-card--explore__btn {
    flex: 1;
    width: 100%;
    border: none;
    background: transparent;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 24px 16px 12px;
    color: #1e1b4b;
    transition: all 0.2s ease;
}

.home-card--explore__icon {
    width: 56px;
    height: 56px;
    border-radius: 16px;
    background: linear-gradient(135deg, #6366f1 0%, #818cf8 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    box-shadow: 0 6px 16px rgba(99, 102, 241, 0.3);
    transition: transform 0.3s ease;
}

.home-card--explore:hover .home-card--explore__icon {
    transform: scale(1.08);
}

.home-card--explore__title {
    font-size: 0.95rem;
    font-weight: 700;
    color: #312e81;
    line-height: 1.2;
}

.home-card--explore__count {
    font-size: 0.8rem;
    color: #6366f1;
    font-weight: 500;
}

.home-card--explore__arrow {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(99, 102, 241, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6366f1;
    font-size: 0.85rem;
    animation: exploreArrowBounce 2s ease-in-out infinite;
}

@keyframes exploreArrowBounce {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(3px);
    }
}

.home-card--explore__link {
    display: block;
    width: 100%;
    text-align: center;
    padding: 10px 16px;
    font-size: 0.82rem;
    font-weight: 600;
    color: #6366f1;
    text-decoration: none;
    border-top: 1px solid rgba(99, 102, 241, 0.15);
    transition: background 0.2s ease, color 0.2s ease;
}

.home-card--explore__link:hover {
    background: rgba(99, 102, 241, 0.08);
    color: #4f46e5;
}

.home-card--explore__link i {
    font-size: 0.75rem;
    margin-left: 4px;
    transition: transform 0.2s ease;
}

.home-card--explore__link:hover i {
    transform: translateX(3px);
}

/* Estado de carga */
.home-card--explore.is-loading .home-card--explore__arrow i {
    animation: spin 0.8s linear infinite;
}

.home-card--explore.is-loading .home-card--explore__title {
    color: #6366f1;
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* Sección expandida de categoría (se inserta después de la tarjeta Explorar) */
.home-category-expanded {
    grid-column: 1 / -1;
    background: linear-gradient(135deg, #fafaff 0%, #f5f3ff 100%);
    border: 1px solid #e0e7ff;
    border-radius: 16px;
    padding: 20px;
    margin: 4px 0;
    animation: expandFadeIn 0.4s ease-out;
}

@keyframes expandFadeIn {
    from {
        opacity: 0;
        max-height: 0;
        padding: 0 20px;
    }

    to {
        opacity: 1;
        max-height: 2000px;
        padding: 20px;
    }
}

.home-category-expanded__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(99, 102, 241, 0.12);
}

.home-category-expanded__title {
    font-size: 1.1rem;
    font-weight: 700;
    color: #312e81;
    display: flex;
    align-items: center;
    gap: 8px;
}

.home-category-expanded__title i {
    color: #6366f1;
}

.home-category-expanded__close {
    border: none;
    background: rgba(99, 102, 241, 0.1);
    color: #6366f1;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease;
}

.home-category-expanded__close:hover {
    background: rgba(99, 102, 241, 0.2);
}

.home-category-expanded__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 16px;
}

.home-category-expanded__more {
    grid-column: 1 / -1;
    text-align: center;
    padding-top: 12px;
    display: flex;
    gap: 12px;
    justify-content: center;
    align-items: center;
}

.home-category-expanded__load-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 24px;
    background: #6366f1;
    color: #fff;
    border: none;
    border-radius: 999px;
    font-weight: 600;
    font-size: 0.9rem;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.2s ease;
}

.home-category-expanded__load-btn:hover {
    background: #4f46e5;
    transform: translateY(-1px);
}

.home-category-expanded__viewall {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 24px;
    background: transparent;
    color: #6366f1;
    border: 1px solid #6366f1;
    border-radius: 999px;
    font-weight: 600;
    font-size: 0.9rem;
    text-decoration: none;
    transition: background 0.2s ease;
}

.home-category-expanded__viewall:hover {
    background: rgba(99, 102, 241, 0.08);
}

@media (max-width: 599px) {
    .home-card--explore {
        min-height: 160px;
    }

    .home-card--explore__icon {
        width: 44px;
        height: 44px;
        font-size: 1.1rem;
    }

    .home-card--explore__title {
        font-size: 0.82rem;
    }

    .home-card--explore__count {
        font-size: 0.72rem;
    }

    .home-card--explore__btn {
        padding: 16px 12px 8px;
        gap: 6px;
    }

    .home-category-expanded {
        padding: 12px;
    }

    .home-category-expanded__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
}


