/* ==========================================================================
   ZERO-FONT FA6 NATIVE SVG SYSTEM (100% LIGHTHOUSE 99-100)
   ========================================================================== */
.fa, .fas, .fa-solid, .fab, .fa-brands, .far, .fa-regular {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
  background-color: currentColor;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}
.fa-heart-pulse { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M228.3 469.1L47.6 300.4c-4.2-3.9-8.2-8.1-11.9-12.4l87 0c22.6 0 43-13.6 51.7-34.5l10.5-25.2 49.3 109.5c3.8 8.5 12.1 14 21.4 14.1s17.8-5 22-13.3L320 253.7l1.7 3.4c9.5 19 28.9 31 50.1 31l104.5 0c-3.7 4.3-7.7 8.5-11.9 12.4L283.7 469.1c-7.5 7-17.4 10.9-27.7 10.9s-20.2-3.9-27.7-10.9zM503.7 240l-132 0c-3 0-5.8-1.7-7.2-4.4l-23.2-46.3c-4.1-8.1-12.4-13.3-21.5-13.3s-17.4 5.1-21.5 13.3l-41.4 82.8L205.9 158.2c-3.9-8.7-12.7-14.3-22.2-14.1s-18.1 5.9-21.8 14.8l-31.8 76.3c-1.2 3-4.2 4.9-7.4 4.9L16 240c-2.6 0-5 .4-7.3 1.1C3 225.2 0 208.2 0 190.9l0-5.8c0-69.9 50.5-129.5 119.4-141C165 36.5 211.4 51.4 244 84l12 12 12-12c32.6-32.6 79-47.5 124.6-39.9C461.5 55.6 512 115.2 512 185.1l0 5.8c0 16.9-2.8 33.5-8.3 49.1z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M228.3 469.1L47.6 300.4c-4.2-3.9-8.2-8.1-11.9-12.4l87 0c22.6 0 43-13.6 51.7-34.5l10.5-25.2 49.3 109.5c3.8 8.5 12.1 14 21.4 14.1s17.8-5 22-13.3L320 253.7l1.7 3.4c9.5 19 28.9 31 50.1 31l104.5 0c-3.7 4.3-7.7 8.5-11.9 12.4L283.7 469.1c-7.5 7-17.4 10.9-27.7 10.9s-20.2-3.9-27.7-10.9zM503.7 240l-132 0c-3 0-5.8-1.7-7.2-4.4l-23.2-46.3c-4.1-8.1-12.4-13.3-21.5-13.3s-17.4 5.1-21.5 13.3l-41.4 82.8L205.9 158.2c-3.9-8.7-12.7-14.3-22.2-14.1s-18.1 5.9-21.8 14.8l-31.8 76.3c-1.2 3-4.2 4.9-7.4 4.9L16 240c-2.6 0-5 .4-7.3 1.1C3 225.2 0 208.2 0 190.9l0-5.8c0-69.9 50.5-129.5 119.4-141C165 36.5 211.4 51.4 244 84l12 12 12-12c32.6-32.6 79-47.5 124.6-39.9C461.5 55.6 512 115.2 512 185.1l0 5.8c0 16.9-2.8 33.5-8.3 49.1z'/%3E%3C/svg%3E"); }
.fa-house { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23000' d='M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V464c0 26.5-21.5 48-48 48H352c-17.7 0-32-14.3-32-32V384c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7-14.3 32-32 32H112c-26.5 0-48-21.5-48-48v-8.2c-.3-2.6-.5-5.2-.5-7.8L64 287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 21.6-8s14.6 1 21.6 8l256.4 223.5c7 7 9.8 15 9.8 24z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23000' d='M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V464c0 26.5-21.5 48-48 48H352c-17.7 0-32-14.3-32-32V384c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7-14.3 32-32 32H112c-26.5 0-48-21.5-48-48v-8.2c-.3-2.6-.5-5.2-.5-7.8L64 287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 21.6-8s14.6 1 21.6 8l256.4 223.5c7 7 9.8 15 9.8 24z'/%3E%3C/svg%3E"); }
.fa-users { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath fill='%23000' d='M144 0a80 80 0 1 1 0 160A80 80 0 1 1 144 0zM512 0a80 80 0 1 1 0 160A80 80 0 1 1 512 0zM0 298.7C0 239.8 47.8 192 106.7 192h42.7c15.9 0 31 3.8 44.4 10.5C178.6 222.1 168 248.8 168 277.3V352h-136C14.3 352 0 337.7 0 320v-21.3zM496 352H328v-74.7c0-28.5-10.6-55.2-25.8-74.8 13.4-6.7 28.5-10.5 44.4-10.5h42.7c58.9 0 106.7 47.8 106.7 106.7V320c0 17.7-14.3 32-32 32zM320 32a96 96 0 1 1 0 192 96 96 0 1 1 0-192zm-80 256h160c53 0 96 43 96 96v32c0 17.7-14.3 32-32 32H176c-17.7 0-32-14.3-32-32v-32c0-53 43-96 96-96z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath fill='%23000' d='M144 0a80 80 0 1 1 0 160A80 80 0 1 1 144 0zM512 0a80 80 0 1 1 0 160A80 80 0 1 1 512 0zM0 298.7C0 239.8 47.8 192 106.7 192h42.7c15.9 0 31 3.8 44.4 10.5C178.6 222.1 168 248.8 168 277.3V352h-136C14.3 352 0 337.7 0 320v-21.3zM496 352H328v-74.7c0-28.5-10.6-55.2-25.8-74.8 13.4-6.7 28.5-10.5 44.4-10.5h42.7c58.9 0 106.7 47.8 106.7 106.7V320c0 17.7-14.3 32-32 32zM320 32a96 96 0 1 1 0 192 96 96 0 1 1 0-192zm-80 256h160c53 0 96 43 96 96v32c0 17.7-14.3 32-32 32H176c-17.7 0-32-14.3-32-32v-32c0-53 43-96 96-96z'/%3E%3C/svg%3E"); }
.fa-images { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23000' d='M160 80H512c8.8 0 16 7.2 16 16V320c0 8.8-7.2 16-16 16H490.8L388.1 182.5c-4.5-6.2-11.7-9.8-19.4-9.8s-14.8 3.6-19.4 9.8L277.8 280.3l-22.1-26.5c-4.3-5.2-10.7-8.2-17.5-8.2s-13.2 3-17.5 8.2L160 329.2V96c0-8.8 7.2-16 16-16zM512 32H160c-35.3 0-64 28.7-64 64V352c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64zM48 128H16c-8.8 0-16 7.2-16 16V416c0 35.3 28.7 64 64 64H432c8.8 0 16-7.2 16-16V448c0-8.8-7.2-16-16-16H64c-8.8 0-16-7.2-16-16V144c0-8.8-7.2-16-16-16zM368 136a24 24 0 1 0 0-48 24 24 0 1 0 0 48z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23000' d='M160 80H512c8.8 0 16 7.2 16 16V320c0 8.8-7.2 16-16 16H490.8L388.1 182.5c-4.5-6.2-11.7-9.8-19.4-9.8s-14.8 3.6-19.4 9.8L277.8 280.3l-22.1-26.5c-4.3-5.2-10.7-8.2-17.5-8.2s-13.2 3-17.5 8.2L160 329.2V96c0-8.8 7.2-16 16-16zM512 32H160c-35.3 0-64 28.7-64 64V352c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64zM48 128H16c-8.8 0-16 7.2-16 16V416c0 35.3 28.7 64 64 64H432c8.8 0 16-7.2 16-16V448c0-8.8-7.2-16-16-16H64c-8.8 0-16-7.2-16-16V144c0-8.8-7.2-16-16-16zM368 136a24 24 0 1 0 0-48 24 24 0 1 0 0 48z'/%3E%3C/svg%3E"); }
.fa-user-plus { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath fill='%23000' d='M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304l91.4 0C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7L29.7 512C13.3 512 0 498.7 0 482.3zM504 312l0-64-64 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l64 0 0-64c0-13.3 10.7-24 24-24s24 10.7 24 24l0 64 64 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-64 0 0 64c0 13.3-10.7 24-24 24s-24-10.7-24-24z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath fill='%23000' d='M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304l91.4 0C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7L29.7 512C13.3 512 0 498.7 0 482.3zM504 312l0-64-64 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l64 0 0-64c0-13.3 10.7-24 24-24s24 10.7 24 24l0 64 64 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-64 0 0 64c0 13.3-10.7 24-24 24s-24-10.7-24-24z'/%3E%3C/svg%3E"); }
.fa-calendar-check { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zM329 305c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-95 95-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L329 305z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zM329 305c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-95 95-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L329 305z'/%3E%3C/svg%3E"); }
.fa-wand-magic-sparkles { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23000' d='M234.7 42.7L197 56.8c-3 1.1-5 4-5 7.2s2 6.1 5 7.2l37.7 14.1L248.8 123c1.1 3 4 5 7.2 5s6.1-2 7.2-5l14.1-37.7L315 71.2c3-1.1 5-4 5-7.2s-2-6.1-5-7.2L277.3 42.7 263.2 5c-1.1-3-4-5-7.2-5s-6.1 2-7.2 5L234.7 42.7zM46.1 395.4c-18.7 18.7-18.7 49.1 0 67.9l34.6 34.6c18.7 18.7 49.1 18.7 67.9 0L529.9 116.5c18.7-18.7 18.7-49.1 0-67.9L495.3 14.1c-18.7-18.7-49.1-18.7-67.9 0L46.1 395.4zM484.6 82.6l-105 105-23.3-23.3 105-105 23.3 23.3zM7.5 117.2C3 118.9 0 123.2 0 128s3 9.1 7.5 10.8L64 160l21.2 56.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L128 160l56.5-21.2c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L128 96 106.8 39.5C105.1 35 100.8 32 96 32s-9.1 3-10.8 7.5L64 96 7.5 117.2zm352 256c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L416 416l21.2 56.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L480 416l56.5-21.2c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L480 352l-21.2-56.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L416 352l-56.5 21.2z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23000' d='M234.7 42.7L197 56.8c-3 1.1-5 4-5 7.2s2 6.1 5 7.2l37.7 14.1L248.8 123c1.1 3 4 5 7.2 5s6.1-2 7.2-5l14.1-37.7L315 71.2c3-1.1 5-4 5-7.2s-2-6.1-5-7.2L277.3 42.7 263.2 5c-1.1-3-4-5-7.2-5s-6.1 2-7.2 5L234.7 42.7zM46.1 395.4c-18.7 18.7-18.7 49.1 0 67.9l34.6 34.6c18.7 18.7 49.1 18.7 67.9 0L529.9 116.5c18.7-18.7 18.7-49.1 0-67.9L495.3 14.1c-18.7-18.7-49.1-18.7-67.9 0L46.1 395.4zM484.6 82.6l-105 105-23.3-23.3 105-105 23.3 23.3zM7.5 117.2C3 118.9 0 123.2 0 128s3 9.1 7.5 10.8L64 160l21.2 56.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L128 160l56.5-21.2c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L128 96 106.8 39.5C105.1 35 100.8 32 96 32s-9.1 3-10.8 7.5L64 96 7.5 117.2zm352 256c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L416 416l21.2 56.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L480 416l56.5-21.2c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L480 352l-21.2-56.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L416 352l-56.5 21.2z'/%3E%3C/svg%3E"); }
.fa-spray-can-sparkles { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M96 32l0 96 128 0 0-96c0-17.7-14.3-32-32-32L128 0C110.3 0 96 14.3 96 32zm0 128c-53 0-96 43-96 96L0 464c0 26.5 21.5 48 48 48l224 0c26.5 0 48-21.5 48-48l0-208c0-53-43-96-96-96L96 160zm64 96a80 80 0 1 1 0 160 80 80 0 1 1 0-160zM384 48c0-1.4-1-3-2.2-3.6L352 32 339.6 2.2C339 1 337.4 0 336 0s-3 1-3.6 2.2L320 32 290.2 44.4C289 45 288 46.6 288 48c0 1.4 1 3 2.2 3.6L320 64l12.4 29.8C333 95 334.6 96 336 96s3-1 3.6-2.2L352 64l29.8-12.4C383 51 384 49.4 384 48zm76.4 45.8C461 95 462.6 96 464 96s3-1 3.6-2.2L480 64l29.8-12.4C511 51 512 49.4 512 48c0-1.4-1-3-2.2-3.6L480 32 467.6 2.2C467 1 465.4 0 464 0s-3 1-3.6 2.2L448 32 418.2 44.4C417 45 416 46.6 416 48c0 1.4 1 3 2.2 3.6L448 64l12.4 29.8zm7.2 100.4c-.6-1.2-2.2-2.2-3.6-2.2s-3 1-3.6 2.2L448 224l-29.8 12.4c-1.2 .6-2.2 2.2-2.2 3.6c0 1.4 1 3 2.2 3.6L448 256l12.4 29.8c.6 1.2 2.2 2.2 3.6 2.2s3-1 3.6-2.2L480 256l29.8-12.4c1.2-.6 2.2-2.2 2.2-3.6c0-1.4-1-3-2.2-3.6L480 224l-12.4-29.8zM448 144c0-1.4-1-3-2.2-3.6L416 128 403.6 98.2C403 97 401.4 96 400 96s-3 1-3.6 2.2L384 128l-29.8 12.4c-1.2 .6-2.2 2.2-2.2 3.6c0 1.4 1 3 2.2 3.6L384 160l12.4 29.8c.6 1.2 2.2 2.2 3.6 2.2s3-1 3.6-2.2L416 160l29.8-12.4c1.2-.6 2.2-2.2 2.2-3.6z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M96 32l0 96 128 0 0-96c0-17.7-14.3-32-32-32L128 0C110.3 0 96 14.3 96 32zm0 128c-53 0-96 43-96 96L0 464c0 26.5 21.5 48 48 48l224 0c26.5 0 48-21.5 48-48l0-208c0-53-43-96-96-96L96 160zm64 96a80 80 0 1 1 0 160 80 80 0 1 1 0-160zM384 48c0-1.4-1-3-2.2-3.6L352 32 339.6 2.2C339 1 337.4 0 336 0s-3 1-3.6 2.2L320 32 290.2 44.4C289 45 288 46.6 288 48c0 1.4 1 3 2.2 3.6L320 64l12.4 29.8C333 95 334.6 96 336 96s3-1 3.6-2.2L352 64l29.8-12.4C383 51 384 49.4 384 48zm76.4 45.8C461 95 462.6 96 464 96s3-1 3.6-2.2L480 64l29.8-12.4C511 51 512 49.4 512 48c0-1.4-1-3-2.2-3.6L480 32 467.6 2.2C467 1 465.4 0 464 0s-3 1-3.6 2.2L448 32 418.2 44.4C417 45 416 46.6 416 48c0 1.4 1 3 2.2 3.6L448 64l12.4 29.8zm7.2 100.4c-.6-1.2-2.2-2.2-3.6-2.2s-3 1-3.6 2.2L448 224l-29.8 12.4c-1.2 .6-2.2 2.2-2.2 3.6c0 1.4 1 3 2.2 3.6L448 256l12.4 29.8c.6 1.2 2.2 2.2 3.6 2.2s3-1 3.6-2.2L480 256l29.8-12.4c1.2-.6 2.2-2.2 2.2-3.6c0-1.4-1-3-2.2-3.6L480 224l-12.4-29.8zM448 144c0-1.4-1-3-2.2-3.6L416 128 403.6 98.2C403 97 401.4 96 400 96s-3 1-3.6 2.2L384 128l-29.8 12.4c-1.2 .6-2.2 2.2-2.2 3.6c0 1.4 1 3 2.2 3.6L384 160l12.4 29.8c.6 1.2 2.2 2.2 3.6 2.2s3-1 3.6-2.2L416 160l29.8-12.4c1.2-.6 2.2-2.2 2.2-3.6z'/%3E%3C/svg%3E"); }
.fa-clock-rotate-left { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M75 75L41 41C25.9 25.9 0 36.6 0 57.9L0 168c0 13.3 10.7 24 24 24l110.1 0c21.4 0 32.1-25.9 17-41l-30.8-30.8C155 85.5 203 64 256 64c106 0 192 86 192 192s-86 192-192 192c-40.8 0-78.6-12.7-109.7-34.4c-14.5-10.1-34.4-6.6-44.6 7.9s-6.6 34.4 7.9 44.6C151.2 495 201.7 512 256 512c141.4 0 256-114.6 256-256S397.4 0 256 0C185.3 0 121.3 28.7 75 75zm181 53c-13.3 0-24 10.7-24 24l0 104c0 6.4 2.5 12.5 7 17l72 72c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-65-65 0-94.1c0-13.3-10.7-24-24-24z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M75 75L41 41C25.9 25.9 0 36.6 0 57.9L0 168c0 13.3 10.7 24 24 24l110.1 0c21.4 0 32.1-25.9 17-41l-30.8-30.8C155 85.5 203 64 256 64c106 0 192 86 192 192s-86 192-192 192c-40.8 0-78.6-12.7-109.7-34.4c-14.5-10.1-34.4-6.6-44.6 7.9s-6.6 34.4 7.9 44.6C151.2 495 201.7 512 256 512c141.4 0 256-114.6 256-256S397.4 0 256 0C185.3 0 121.3 28.7 75 75zm181 53c-13.3 0-24 10.7-24 24l0 104c0 6.4 2.5 12.5 7 17l72 72c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-65-65 0-94.1c0-13.3-10.7-24-24-24z'/%3E%3C/svg%3E"); }
.fa-calendar-day { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zm80 64c-8.8 0-16 7.2-16 16l0 96c0 8.8 7.2 16 16 16l96 0c8.8 0 16-7.2 16-16l0-96c0-8.8-7.2-16-16-16l-96 0z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zm80 64c-8.8 0-16 7.2-16 16l0 96c0 8.8 7.2 16 16 16l96 0c8.8 0 16-7.2 16-16l0-96c0-8.8-7.2-16-16-16l-96 0z'/%3E%3C/svg%3E"); }
.fa-scissors { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 192l-39.5-39.5c4.9-12.6 7.5-26.2 7.5-40.5C224 50.1 173.9 0 112 0S0 50.1 0 112s50.1 112 112 112c14.3 0 27.9-2.7 40.5-7.5L192 256l-39.5 39.5c-12.6-4.9-26.2-7.5-40.5-7.5C50.1 288 0 338.1 0 400s50.1 112 112 112s112-50.1 112-112c0-14.3-2.7-27.9-7.5-40.5L499.2 76.8c7.1-7.1 7.1-18.5 0-25.6c-28.3-28.3-74.1-28.3-102.4 0L256 192zm22.6 150.6L396.8 460.8c28.3 28.3 74.1 28.3 102.4 0c7.1-7.1 7.1-18.5 0-25.6L342.6 278.6l-64 64zM64 112a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm48 240a48 48 0 1 1 0 96 48 48 0 1 1 0-96z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 192l-39.5-39.5c4.9-12.6 7.5-26.2 7.5-40.5C224 50.1 173.9 0 112 0S0 50.1 0 112s50.1 112 112 112c14.3 0 27.9-2.7 40.5-7.5L192 256l-39.5 39.5c-12.6-4.9-26.2-7.5-40.5-7.5C50.1 288 0 338.1 0 400s50.1 112 112 112s112-50.1 112-112c0-14.3-2.7-27.9-7.5-40.5L499.2 76.8c7.1-7.1 7.1-18.5 0-25.6c-28.3-28.3-74.1-28.3-102.4 0L256 192zm22.6 150.6L396.8 460.8c28.3 28.3 74.1 28.3 102.4 0c7.1-7.1 7.1-18.5 0-25.6L342.6 278.6l-64 64zM64 112a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm48 240a48 48 0 1 1 0 96 48 48 0 1 1 0-96z'/%3E%3C/svg%3E"); }
.fa-gem { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M116.7 33.8c4.5-6.1 11.7-9.8 19.3-9.8l240 0c7.6 0 14.8 3.6 19.3 9.8l112 152c6.8 9.2 6.1 21.9-1.5 30.4l-232 256c-4.5 5-11 7.9-17.8 7.9s-13.2-2.9-17.8-7.9l-232-256c-7.7-8.5-8.3-21.2-1.5-30.4l112-152zm38.5 39.8c-3.3 2.5-4.2 7-2.1 10.5l57.4 95.6L63.3 192c-4.1 .3-7.3 3.8-7.3 8s3.2 7.6 7.3 8l192 16c.4 0 .9 0 1.3 0l192-16c4.1-.3 7.3-3.8 7.3-8s-3.2-7.6-7.3-8L301.5 179.8l57.4-95.6c2.1-3.5 1.2-8.1-2.1-10.5s-7.9-2-10.7 1L256 172.2 165.9 74.6c-2.8-3-7.4-3.4-10.7-1z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M116.7 33.8c4.5-6.1 11.7-9.8 19.3-9.8l240 0c7.6 0 14.8 3.6 19.3 9.8l112 152c6.8 9.2 6.1 21.9-1.5 30.4l-232 256c-4.5 5-11 7.9-17.8 7.9s-13.2-2.9-17.8-7.9l-232-256c-7.7-8.5-8.3-21.2-1.5-30.4l112-152zm38.5 39.8c-3.3 2.5-4.2 7-2.1 10.5l57.4 95.6L63.3 192c-4.1 .3-7.3 3.8-7.3 8s3.2 7.6 7.3 8l192 16c.4 0 .9 0 1.3 0l192-16c4.1-.3 7.3-3.8 7.3-8s-3.2-7.6-7.3-8L301.5 179.8l57.4-95.6c2.1-3.5 1.2-8.1-2.1-10.5s-7.9-2-10.7 1L256 172.2 165.9 74.6c-2.8-3-7.4-3.4-10.7-1z'/%3E%3C/svg%3E"); }
.fa-boxes-stacked { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23000' d='M248 0L208 0c-26.5 0-48 21.5-48 48l0 112c0 35.3 28.7 64 64 64l128 0c35.3 0 64-28.7 64-64l0-112c0-26.5-21.5-48-48-48L328 0l0 80c0 8.8-7.2 16-16 16l-48 0c-8.8 0-16-7.2-16-16l0-80zM64 256c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l160 0c35.3 0 64-28.7 64-64l0-128c0-35.3-28.7-64-64-64l-40 0 0 80c0 8.8-7.2 16-16 16l-48 0c-8.8 0-16-7.2-16-16l0-80-40 0zM352 512l160 0c35.3 0 64-28.7 64-64l0-128c0-35.3-28.7-64-64-64l-40 0 0 80c0 8.8-7.2 16-16 16l-48 0c-8.8 0-16-7.2-16-16l0-80-40 0c-15 0-28.8 5.1-39.7 13.8c4.9 10.4 7.7 22 7.7 34.2l0 160c0 12.2-2.8 23.8-7.7 34.2C323.2 506.9 337 512 352 512z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23000' d='M248 0L208 0c-26.5 0-48 21.5-48 48l0 112c0 35.3 28.7 64 64 64l128 0c35.3 0 64-28.7 64-64l0-112c0-26.5-21.5-48-48-48L328 0l0 80c0 8.8-7.2 16-16 16l-48 0c-8.8 0-16-7.2-16-16l0-80zM64 256c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l160 0c35.3 0 64-28.7 64-64l0-128c0-35.3-28.7-64-64-64l-40 0 0 80c0 8.8-7.2 16-16 16l-48 0c-8.8 0-16-7.2-16-16l0-80-40 0zM352 512l160 0c35.3 0 64-28.7 64-64l0-128c0-35.3-28.7-64-64-64l-40 0 0 80c0 8.8-7.2 16-16 16l-48 0c-8.8 0-16-7.2-16-16l0-80-40 0c-15 0-28.8 5.1-39.7 13.8c4.9 10.4 7.7 22 7.7 34.2l0 160c0 12.2-2.8 23.8-7.7 34.2C323.2 506.9 337 512 352 512z'/%3E%3C/svg%3E"); }
.fa-map-pin { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath fill='%23000' d='M16 144a144 144 0 1 1 288 0A144 144 0 1 1 16 144zM160 80c8.8 0 16-7.2 16-16s-7.2-16-16-16c-53 0-96 43-96 96c0 8.8 7.2 16 16 16s16-7.2 16-16c0-35.3 28.7-64 64-64zM128 480l0-162.9c10.4 1.9 21.1 2.9 32 2.9s21.6-1 32-2.9L192 480c0 17.7-14.3 32-32 32s-32-14.3-32-32z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath fill='%23000' d='M16 144a144 144 0 1 1 288 0A144 144 0 1 1 16 144zM160 80c8.8 0 16-7.2 16-16s-7.2-16-16-16c-53 0-96 43-96 96c0 8.8 7.2 16 16 16s16-7.2 16-16c0-35.3 28.7-64 64-64zM128 480l0-162.9c10.4 1.9 21.1 2.9 32 2.9s21.6-1 32-2.9L192 480c0 17.7-14.3 32-32 32s-32-14.3-32-32z'/%3E%3C/svg%3E"); }
.fa-train-subway { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M96 0C43 0 0 43 0 96L0 352c0 48 35.2 87.7 81.1 94.9l-46 46C28.1 499.9 33.1 512 43 512l39.7 0c8.5 0 16.6-3.4 22.6-9.4L160 448l128 0 54.6 54.6c6 6 14.1 9.4 22.6 9.4l39.7 0c10 0 15-12.1 7.9-19.1l-46-46c46-7.1 81.1-46.9 81.1-94.9l0-256c0-53-43-96-96-96L96 0zM64 128c0-17.7 14.3-32 32-32l80 0c17.7 0 32 14.3 32 32l0 96c0 17.7-14.3 32-32 32l-80 0c-17.7 0-32-14.3-32-32l0-96zM272 96l80 0c17.7 0 32 14.3 32 32l0 96c0 17.7-14.3 32-32 32l-80 0c-17.7 0-32-14.3-32-32l0-96c0-17.7 14.3-32 32-32zM64 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm288-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M96 0C43 0 0 43 0 96L0 352c0 48 35.2 87.7 81.1 94.9l-46 46C28.1 499.9 33.1 512 43 512l39.7 0c8.5 0 16.6-3.4 22.6-9.4L160 448l128 0 54.6 54.6c6 6 14.1 9.4 22.6 9.4l39.7 0c10 0 15-12.1 7.9-19.1l-46-46c46-7.1 81.1-46.9 81.1-94.9l0-256c0-53-43-96-96-96L96 0zM64 128c0-17.7 14.3-32 32-32l80 0c17.7 0 32 14.3 32 32l0 96c0 17.7-14.3 32-32 32l-80 0c-17.7 0-32-14.3-32-32l0-96zM272 96l80 0c17.7 0 32 14.3 32 32l0 96c0 17.7-14.3 32-32 32l-80 0c-17.7 0-32-14.3-32-32l0-96c0-17.7 14.3-32 32-32zM64 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm288-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z'/%3E%3C/svg%3E"); }
.fa-phone { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z'/%3E%3C/svg%3E"); }
.fa-phone-volume { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M280 0C408.1 0 512 103.9 512 232c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-101.6-82.4-184-184-184c-13.3 0-24-10.7-24-24s10.7-24 24-24zm8 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-32-72c0-13.3 10.7-24 24-24c75.1 0 136 60.9 136 136c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-48.6-39.4-88-88-88c-13.3 0-24-10.7-24-24zM117.5 1.4c19.4-5.3 39.7 4.6 47.4 23.2l40 96c6.8 16.3 2.1 35.2-11.6 46.3L144 207.3c33.3 70.4 90.3 127.4 160.7 160.7L345 318.7c11.2-13.7 30-18.4 46.3-11.6l96 40c18.6 7.7 28.5 28 23.2 47.4l-24 88C481.8 499.9 466 512 448 512C200.6 512 0 311.4 0 64C0 46 12.1 30.2 29.5 25.4l88-24z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M280 0C408.1 0 512 103.9 512 232c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-101.6-82.4-184-184-184c-13.3 0-24-10.7-24-24s10.7-24 24-24zm8 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-32-72c0-13.3 10.7-24 24-24c75.1 0 136 60.9 136 136c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-48.6-39.4-88-88-88c-13.3 0-24-10.7-24-24zM117.5 1.4c19.4-5.3 39.7 4.6 47.4 23.2l40 96c6.8 16.3 2.1 35.2-11.6 46.3L144 207.3c33.3 70.4 90.3 127.4 160.7 160.7L345 318.7c11.2-13.7 30-18.4 46.3-11.6l96 40c18.6 7.7 28.5 28 23.2 47.4l-24 88C481.8 499.9 466 512 448 512C200.6 512 0 311.4 0 64C0 46 12.1 30.2 29.5 25.4l88-24z'/%3E%3C/svg%3E"); }
.fa-location-dot { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%23000' d='M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM192 128a64 64 0 1 1 0 128 64 64 0 1 1 0-128z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%23000' d='M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM192 128a64 64 0 1 1 0 128 64 64 0 1 1 0-128z'/%3E%3C/svg%3E"); }
.fa-location-crosshairs { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 0c17.7 0 32 14.3 32 32l0 34.7C368.4 80.1 431.9 143.6 445.3 224l34.7 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-34.7 0C431.9 368.4 368.4 431.9 288 445.3l0 34.7c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-34.7C143.6 431.9 80.1 368.4 66.7 288L32 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l34.7 0C80.1 143.6 143.6 80.1 224 66.7L224 32c0-17.7 14.3-32 32-32zM128 256a128 128 0 1 0 256 0 128 128 0 1 0 -256 0zm128-80a80 80 0 1 1 0 160 80 80 0 1 1 0-160z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 0c17.7 0 32 14.3 32 32l0 34.7C368.4 80.1 431.9 143.6 445.3 224l34.7 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-34.7 0C431.9 368.4 368.4 431.9 288 445.3l0 34.7c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-34.7C143.6 431.9 80.1 368.4 66.7 288L32 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l34.7 0C80.1 143.6 143.6 80.1 224 66.7L224 32c0-17.7 14.3-32 32-32zM128 256a128 128 0 1 0 256 0 128 128 0 1 0 -256 0zm128-80a80 80 0 1 1 0 160 80 80 0 1 1 0-160z'/%3E%3C/svg%3E"); }
.fa-diamond-turn-right { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M227.7 11.7c15.6-15.6 40.9-15.6 56.6 0l216 216c15.6 15.6 15.6 40.9 0 56.6l-216 216c-15.6 15.6-40.9 15.6-56.6 0l-216-216c-15.6-15.6-15.6-40.9 0-56.6l216-216zm87.6 137c-4.6-4.6-11.5-5.9-17.4-3.5s-9.9 8.3-9.9 14.8l0 56-64 0c-35.3 0-64 28.7-64 64l0 48c0 13.3 10.7 24 24 24s24-10.7 24-24l0-48c0-8.8 7.2-16 16-16l64 0 0 56c0 6.5 3.9 12.3 9.9 14.8s12.9 1.1 17.4-3.5l80-80c6.2-6.2 6.2-16.4 0-22.6l-80-80z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M227.7 11.7c15.6-15.6 40.9-15.6 56.6 0l216 216c15.6 15.6 15.6 40.9 0 56.6l-216 216c-15.6 15.6-40.9 15.6-56.6 0l-216-216c-15.6-15.6-15.6-40.9 0-56.6l216-216zm87.6 137c-4.6-4.6-11.5-5.9-17.4-3.5s-9.9 8.3-9.9 14.8l0 56-64 0c-35.3 0-64 28.7-64 64l0 48c0 13.3 10.7 24 24 24s24-10.7 24-24l0-48c0-8.8 7.2-16 16-16l64 0 0 56c0 6.5 3.9 12.3 9.9 14.8s12.9 1.1 17.4-3.5l80-80c6.2-6.2 6.2-16.4 0-22.6l-80-80z'/%3E%3C/svg%3E"); }
.fa-clock { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120l0 136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2 280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120l0 136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2 280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24z'/%3E%3C/svg%3E"); }
.fa-compass { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm50.7-186.9L162.4 380.6c-19.4 7.5-38.5-11.6-31-31l55.5-144.3c3.3-8.5 9.9-15.1 18.4-18.4l144.3-55.5c19.4-7.5 38.5 11.6 31 31L325.1 306.7c-3.2 8.5-9.9 15.1-18.4 18.4zM288 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm50.7-186.9L162.4 380.6c-19.4 7.5-38.5-11.6-31-31l55.5-144.3c3.3-8.5 9.9-15.1 18.4-18.4l144.3-55.5c19.4-7.5 38.5 11.6 31 31L325.1 306.7c-3.2 8.5-9.9 15.1-18.4 18.4zM288 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z'/%3E%3C/svg%3E"); }
.fa-chevron-right { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath fill='%23000' d='M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath fill='%23000' d='M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z'/%3E%3C/svg%3E"); }
.fa-chevron-left { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath fill='%23000' d='M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath fill='%23000' d='M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z'/%3E%3C/svg%3E"); }
.fa-chevron-down { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z'/%3E%3C/svg%3E"); }
.fa-chevron-up { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M233.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 173.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M233.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 173.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z'/%3E%3C/svg%3E"); }
.fa-shield-halved { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0zm0 66.8l0 378.1C394 378 431.1 230.1 432 141.4L256 66.8s0 0 0 0z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0zm0 66.8l0 378.1C394 378 431.1 230.1 432 141.4L256 66.8s0 0 0 0z'/%3E%3C/svg%3E"); }
.fa-circle-check { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z'/%3E%3C/svg%3E"); }
.fa-circle-exclamation { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c13.3 0 24 10.7 24 24l0 112c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-112c0-13.3 10.7-24 24-24zm32 224a32 32 0 1 1 -64 0 32 32 0 1 1 64 0z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c13.3 0 24 10.7 24 24l0 112c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-112c0-13.3 10.7-24 24-24zm32 224a32 32 0 1 1 -64 0 32 32 0 1 1 64 0z'/%3E%3C/svg%3E"); }
.fa-user-tie { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3zM272 368l-16 112-64 0-16-112 32-16 32 0 32 16z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3zM272 368l-16 112-64 0-16-112 32-16 32 0 32 16z'/%3E%3C/svg%3E"); }
.fa-user-pen { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath fill='%23000' d='M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512l294.6 0c-4.4-10.3-6.3-21.6-4.6-33.3l7.9-55.5c2.3-16.1 10.3-30.8 22.8-41.2l-22.1-22.1c-13.4-13.4-20.9-31.5-20.9-50.5c0-10.4 2.2-20.5 6.4-29.7C288.6 307.7 257.6 304 224 304l-45.7 0zM512.4 274.6c-7.8-7.8-20.5-7.8-28.3 0l-19 19 47.3 47.3 19-19c7.8-7.8 7.8-20.5 0-28.3L512.4 274.6zM446.8 312.9L391.1 368.6l47.3 47.3 55.7-55.7-47.3-47.3zm-74.5 74.5l-12.7 89 89-12.7 18.8-18.8-47.3-47.3-47.8-9.2z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath fill='%23000' d='M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512l294.6 0c-4.4-10.3-6.3-21.6-4.6-33.3l7.9-55.5c2.3-16.1 10.3-30.8 22.8-41.2l-22.1-22.1c-13.4-13.4-20.9-31.5-20.9-50.5c0-10.4 2.2-20.5 6.4-29.7C288.6 307.7 257.6 304 224 304l-45.7 0zM512.4 274.6c-7.8-7.8-20.5-7.8-28.3 0l-19 19 47.3 47.3 19-19c7.8-7.8 7.8-20.5 0-28.3L512.4 274.6zM446.8 312.9L391.1 368.6l47.3 47.3 55.7-55.7-47.3-47.3zm-74.5 74.5l-12.7 89 89-12.7 18.8-18.8-47.3-47.3-47.8-9.2z'/%3E%3C/svg%3E"); }
.fa-check { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z'/%3E%3C/svg%3E"); }
.fa-calendar-xmark { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zm175 113c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zm175 113c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47z'/%3E%3C/svg%3E"); }
.fa-trash-can { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M135.2 17.7L128 32 32 32C14.3 32 0 46.3 0 64S14.3 96 32 96l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 0-7.2-14.3C307.4 6.8 296.3 0 284.2 0L163.8 0c-12.1 0-23.2 6.8-28.6 17.7zM416 128L32 128 53.2 467c1.6 25.3 22.6 45 47.9 45l245.8 0c25.3 0 46.3-19.7 47.9-45L416 128z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M135.2 17.7L128 32 32 32C14.3 32 0 46.3 0 64S14.3 96 32 96l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 0-7.2-14.3C307.4 6.8 296.3 0 284.2 0L163.8 0c-12.1 0-23.2 6.8-28.6 17.7zM416 128L32 128 53.2 467c1.6 25.3 22.6 45 47.9 45l245.8 0c25.3 0 46.3-19.7 47.9-45L416 128z'/%3E%3C/svg%3E"); }
.fa-triangle-exclamation { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480L40 480c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480L40 480c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z'/%3E%3C/svg%3E"); }
.fa-hourglass-half { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%23000' d='M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64l0 45.3c0 42.4 16.9 83.1 46.9 113.1L143 286.6c2.7 2.7 4.2 6.4 4.2 10.2s-1.5 7.5-4.2 10.2L78.9 371.1C48.9 401.1 32 441.8 32 484.2l0 27.8c0 17.7 14.3 32 32 32s32-14.3 32-32l0-27.8c0-25.5 10.1-49.9 28.1-67.9L188.2 324c17.5-17.5 27.8-41.2 27.8-68s-10.3-50.5-27.8-68L124.1 84.1C106.1 66.1 96 41.7 96 16.2L96 0 32 0zM352 0l-64 0 0 16.2c0 25.5-10.1 49.9-28.1 67.9L195.8 188c-17.5 17.5-27.8 41.2-27.8 68s10.3 50.5 27.8 68L259.9 427.9c18 18 28.1 42.4 28.1 67.9l0 27.8c0 17.7 14.3 32 32 32s32-14.3 32-32l0-27.8c0-42.4-16.9-83.1-46.9-113.1L241 307.4c-2.7-2.7-4.2-6.4-4.2-10.2s1.5-7.5 4.2-10.2L305.1 222.9C335.1 192.9 352 152.2 352 109.8L352 64c17.7 0 32-14.3 32-32s-14.3-32-32-32z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%23000' d='M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64l0 45.3c0 42.4 16.9 83.1 46.9 113.1L143 286.6c2.7 2.7 4.2 6.4 4.2 10.2s-1.5 7.5-4.2 10.2L78.9 371.1C48.9 401.1 32 441.8 32 484.2l0 27.8c0 17.7 14.3 32 32 32s32-14.3 32-32l0-27.8c0-25.5 10.1-49.9 28.1-67.9L188.2 324c17.5-17.5 27.8-41.2 27.8-68s-10.3-50.5-27.8-68L124.1 84.1C106.1 66.1 96 41.7 96 16.2L96 0 32 0zM352 0l-64 0 0 16.2c0 25.5-10.1 49.9-28.1 67.9L195.8 188c-17.5 17.5-27.8 41.2-27.8 68s10.3 50.5 27.8 68L259.9 427.9c18 18 28.1 42.4 28.1 67.9l0 27.8c0 17.7 14.3 32 32 32s32-14.3 32-32l0-27.8c0-42.4-16.9-83.1-46.9-113.1L241 307.4c-2.7-2.7-4.2-6.4-4.2-10.2s1.5-7.5 4.2-10.2L305.1 222.9C335.1 192.9 352 152.2 352 109.8L352 64c17.7 0 32-14.3 32-32s-14.3-32-32-32z'/%3E%3C/svg%3E"); }
.fa-lock { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M144 144l0 48 160 0 0-48c0-44.2-35.8-80-80-80s-80 35.8-80 80zM80 192l0-48C80 64.5 144.5 0 224 0s144 64.5 144 144l0 48 16 0c35.3 0 64 28.7 64 64l0 192c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 256c0-35.3 28.7-64 64-64l16 0z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M144 144l0 48 160 0 0-48c0-44.2-35.8-80-80-80s-80 35.8-80 80zM80 192l0-48C80 64.5 144.5 0 224 0s144 64.5 144 144l0 48 16 0c35.3 0 64 28.7 64 64l0 192c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 256c0-35.3 28.7-64 64-64l16 0z'/%3E%3C/svg%3E"); }
.fa-gear { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M495.9 166.6c3.2 8.7 .5 18.4-6.4 24.6l-43.3 39.4c1.1 8.3 1.7 16.8 1.7 25.4s-.6 17.1-1.7 25.4l43.3 39.4c6.9 6.2 9.6 15.9 6.4 24.6c-4.4 11.9-9.7 23.3-15.8 34.3l-4.7 8.1c-6.6 11-14 21.4-22.1 31.2c-5.9 7.2-15.7 9.6-24.5 6.8l-55.7-17.7c-13.4 10.3-28.2 18.9-44 25.4l-12.5 57.1c-2 9.1-9 16.3-18.2 17.8c-13.8 2.3-28 3.5-42.5 3.5s-28.7-1.2-42.5-3.5c-9.2-1.5-16.2-8.7-18.2-17.8l-12.5-57.1c-15.8-6.5-30.6-15.1-44-25.4L83.1 425.9c-8.8 2.8-18.6 .3-24.5-6.8c-8.1-9.8-15.5-20.2-22.1-31.2l-4.7-8.1c-6.1-11-11.4-22.4-15.8-34.3c-3.2-8.7-.5-18.4 6.4-24.6l43.3-39.4C64.6 273.1 64 264.6 64 256s.6-17.1 1.7-25.4L22.4 191.2c-6.9-6.2-9.6-15.9-6.4-24.6c4.4-11.9 9.7-23.3 15.8-34.3l4.7-8.1c6.6-11 14-21.4 22.1-31.2c5.9-7.2 15.7-9.6 24.5-6.8l55.7 17.7c13.4-10.3 28.2-18.9 44-25.4l12.5-57.1c2-9.1 9-16.3 18.2-17.8C227.3 1.2 241.5 0 256 0s28.7 1.2 42.5 3.5c9.2 1.5 16.2 8.7 18.2 17.8l12.5 57.1c15.8 6.5 30.6 15.1 44 25.4l55.7-17.7c8.8-2.8 18.6-.3 24.5 6.8c8.1 9.8 15.5 20.2 22.1 31.2l4.7 8.1c6.1 11 11.4 22.4 15.8 34.3zM256 336a80 80 0 1 0 0-160 80 80 0 1 0 0 160z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M495.9 166.6c3.2 8.7 .5 18.4-6.4 24.6l-43.3 39.4c1.1 8.3 1.7 16.8 1.7 25.4s-.6 17.1-1.7 25.4l43.3 39.4c6.9 6.2 9.6 15.9 6.4 24.6c-4.4 11.9-9.7 23.3-15.8 34.3l-4.7 8.1c-6.6 11-14 21.4-22.1 31.2c-5.9 7.2-15.7 9.6-24.5 6.8l-55.7-17.7c-13.4 10.3-28.2 18.9-44 25.4l-12.5 57.1c-2 9.1-9 16.3-18.2 17.8c-13.8 2.3-28 3.5-42.5 3.5s-28.7-1.2-42.5-3.5c-9.2-1.5-16.2-8.7-18.2-17.8l-12.5-57.1c-15.8-6.5-30.6-15.1-44-25.4L83.1 425.9c-8.8 2.8-18.6 .3-24.5-6.8c-8.1-9.8-15.5-20.2-22.1-31.2l-4.7-8.1c-6.1-11-11.4-22.4-15.8-34.3c-3.2-8.7-.5-18.4 6.4-24.6l43.3-39.4C64.6 273.1 64 264.6 64 256s.6-17.1 1.7-25.4L22.4 191.2c-6.9-6.2-9.6-15.9-6.4-24.6c4.4-11.9 9.7-23.3 15.8-34.3l4.7-8.1c6.6-11 14-21.4 22.1-31.2c5.9-7.2 15.7-9.6 24.5-6.8l55.7 17.7c13.4-10.3 28.2-18.9 44-25.4l12.5-57.1c2-9.1 9-16.3 18.2-17.8C227.3 1.2 241.5 0 256 0s28.7 1.2 42.5 3.5c9.2 1.5 16.2 8.7 18.2 17.8l12.5 57.1c15.8 6.5 30.6 15.1 44 25.4l55.7-17.7c8.8-2.8 18.6-.3 24.5 6.8c8.1 9.8 15.5 20.2 22.1 31.2l4.7 8.1c6.1 11 11.4 22.4 15.8 34.3zM256 336a80 80 0 1 0 0-160 80 80 0 1 0 0 160z'/%3E%3C/svg%3E"); }
.fa-circle-info { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336l24 0 0-64-24 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l48 0c13.3 0 24 10.7 24 24l0 88 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336l24 0 0-64-24 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l48 0c13.3 0 24 10.7 24 24l0 88 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z'/%3E%3C/svg%3E"); }
.fa-star { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23000' d='M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23000' d='M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z'/%3E%3C/svg%3E"); }
.fa-crown { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23000' d='M309 106c11.4-7 19-19.7 19-34c0-22.1-17.9-40-40-40s-40 17.9-40 40c0 14.4 7.6 27 19 34L209.7 220.6c-9.1 18.2-32.7 23.4-48.6 10.7L72 160c5-6.7 8-15 8-24c0-22.1-17.9-40-40-40S0 113.9 0 136s17.9 40 40 40c.2 0 .5 0 .7 0L86.4 427.4c5.5 30.4 32 52.6 63 52.6l277.2 0c30.9 0 57.4-22.1 63-52.6L535.3 176c.2 0 .5 0 .7 0c22.1 0 40-17.9 40-40s-17.9-40-40-40s-40 17.9-40 40c0 9 3 17.3 8 24l-89.1 71.3c-15.9 12.7-39.5 7.5-48.6-10.7L309 106z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23000' d='M309 106c11.4-7 19-19.7 19-34c0-22.1-17.9-40-40-40s-40 17.9-40 40c0 14.4 7.6 27 19 34L209.7 220.6c-9.1 18.2-32.7 23.4-48.6 10.7L72 160c5-6.7 8-15 8-24c0-22.1-17.9-40-40-40S0 113.9 0 136s17.9 40 40 40c.2 0 .5 0 .7 0L86.4 427.4c5.5 30.4 32 52.6 63 52.6l277.2 0c30.9 0 57.4-22.1 63-52.6L535.3 176c.2 0 .5 0 .7 0c22.1 0 40-17.9 40-40s-17.9-40-40-40s-40 17.9-40 40c0 9 3 17.3 8 24l-89.1 71.3c-15.9 12.7-39.5 7.5-48.6-10.7L309 106z'/%3E%3C/svg%3E"); }
.fa-quote-right { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M448 296c0 66.3-53.7 120-120 120l-8 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l8 0c30.9 0 56-25.1 56-56l0-8-64 0c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l64 0c35.3 0 64 28.7 64 64l0 32 0 32 0 72zm-256 0c0 66.3-53.7 120-120 120l-8 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l8 0c30.9 0 56-25.1 56-56l0-8-64 0c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l64 0c35.3 0 64 28.7 64 64l0 32 0 32 0 72z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M448 296c0 66.3-53.7 120-120 120l-8 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l8 0c30.9 0 56-25.1 56-56l0-8-64 0c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l64 0c35.3 0 64 28.7 64 64l0 32 0 32 0 72zm-256 0c0 66.3-53.7 120-120 120l-8 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l8 0c30.9 0 56-25.1 56-56l0-8-64 0c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l64 0c35.3 0 64 28.7 64 64l0 32 0 32 0 72z'/%3E%3C/svg%3E"); }
.fa-calendar { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M96 32l0 32L48 64C21.5 64 0 85.5 0 112l0 48 448 0 0-48c0-26.5-21.5-48-48-48l-48 0 0-32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 32L160 64l0-32c0-17.7-14.3-32-32-32S96 14.3 96 32zM448 192L0 192 0 464c0 26.5 21.5 48 48 48l352 0c26.5 0 48-21.5 48-48l0-272z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M96 32l0 32L48 64C21.5 64 0 85.5 0 112l0 48 448 0 0-48c0-26.5-21.5-48-48-48l-48 0 0-32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 32L160 64l0-32c0-17.7-14.3-32-32-32S96 14.3 96 32zM448 192L0 192 0 464c0 26.5 21.5 48 48 48l352 0c26.5 0 48-21.5 48-48l0-272z'/%3E%3C/svg%3E"); }
.fa-xmark { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%23000' d='M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%23000' d='M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z'/%3E%3C/svg%3E"); }
.fa-bars { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M0 96C0 78.3 14.3 64 32 64l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 128C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32L32 448c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M0 96C0 78.3 14.3 64 32 64l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 128C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32L32 448c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z'/%3E%3C/svg%3E"); }
.fa-globe { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M352 256c0 22.2-1.2 43.6-3.3 64l-185.3 0c-2.2-20.4-3.3-41.8-3.3-64s1.2-43.6 3.3-64l185.3 0c2.2 20.4 3.3 41.8 3.3 64zm28.8-64l123.1 0c5.3 20.5 8.1 41.9 8.1 64s-2.8 43.5-8.1 64l-123.1 0c2.1-20.6 3.2-42 3.2-64s-1.1-43.4-3.2-64zm112.6-32l-116.7 0c-10-63.9-29.8-117.4-55.3-151.6c78.3 20.7 142 77.5 171.9 151.6zm-149.1 0l-176.6 0c6.1-36.4 15.5-68.6 27-94.7c10.5-23.6 22.2-40.7 33.5-51.5C239.4 3.2 248.7 0 256 0s16.6 3.2 27.8 13.8c11.3 10.8 23 27.9 33.5 51.5c11.6 26 20.9 58.2 27 94.7zm-209 0L18.6 160C48.6 85.9 112.2 29.1 190.6 8.4C165.1 42.6 145.3 96.1 135.3 160zM8.1 192l123.1 0c-2.1 20.6-3.2 42-3.2 64s1.1 43.4 3.2 64L8.1 320C2.8 299.5 0 278.1 0 256s2.8-43.5 8.1-64zM194.7 446.6c-11.6-26-20.9-58.2-27-94.6l176.6 0c-6.1 36.4-15.5 68.6-27 94.6c-10.5 23.6-22.2 40.7-33.5 51.5C272.6 508.8 263.3 512 256 512s-16.6-3.2-27.8-13.8c-11.3-10.8-23-27.9-33.5-51.5zM135.3 352c10 63.9 29.8 117.4 55.3 151.6C112.2 482.9 48.6 426.1 18.6 352l116.7 0zm358.1 0c-30 74.1-93.6 130.9-171.9 151.6c25.5-34.2 45.2-87.7 55.3-151.6l116.7 0z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M352 256c0 22.2-1.2 43.6-3.3 64l-185.3 0c-2.2-20.4-3.3-41.8-3.3-64s1.2-43.6 3.3-64l185.3 0c2.2 20.4 3.3 41.8 3.3 64zm28.8-64l123.1 0c5.3 20.5 8.1 41.9 8.1 64s-2.8 43.5-8.1 64l-123.1 0c2.1-20.6 3.2-42 3.2-64s-1.1-43.4-3.2-64zm112.6-32l-116.7 0c-10-63.9-29.8-117.4-55.3-151.6c78.3 20.7 142 77.5 171.9 151.6zm-149.1 0l-176.6 0c6.1-36.4 15.5-68.6 27-94.7c10.5-23.6 22.2-40.7 33.5-51.5C239.4 3.2 248.7 0 256 0s16.6 3.2 27.8 13.8c11.3 10.8 23 27.9 33.5 51.5c11.6 26 20.9 58.2 27 94.7zm-209 0L18.6 160C48.6 85.9 112.2 29.1 190.6 8.4C165.1 42.6 145.3 96.1 135.3 160zM8.1 192l123.1 0c-2.1 20.6-3.2 42-3.2 64s1.1 43.4 3.2 64L8.1 320C2.8 299.5 0 278.1 0 256s2.8-43.5 8.1-64zM194.7 446.6c-11.6-26-20.9-58.2-27-94.6l176.6 0c-6.1 36.4-15.5 68.6-27 94.6c-10.5 23.6-22.2 40.7-33.5 51.5C272.6 508.8 263.3 512 256 512s-16.6-3.2-27.8-13.8c-11.3-10.8-23-27.9-33.5-51.5zM135.3 352c10 63.9 29.8 117.4 55.3 151.6C112.2 482.9 48.6 426.1 18.6 352l116.7 0zm358.1 0c-30 74.1-93.6 130.9-171.9 151.6c25.5-34.2 45.2-87.7 55.3-151.6l116.7 0z'/%3E%3C/svg%3E"); }
.fa-facebook-f { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath fill='%23000' d='M80 299.3V512H196V299.3h86.5l18-97.8H196V166.9c0-51.7 20.3-71.5 72.7-71.5c16.3 0 29.4 .4 37 1.2V7.9C291.4 4 256.4 0 236.2 0C129.3 0 80 50.5 80 159.4v42.1H14v97.8H80z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath fill='%23000' d='M80 299.3V512H196V299.3h86.5l18-97.8H196V166.9c0-51.7 20.3-71.5 72.7-71.5c16.3 0 29.4 .4 37 1.2V7.9C291.4 4 256.4 0 236.2 0C129.3 0 80 50.5 80 159.4v42.1H14v97.8H80z'/%3E%3C/svg%3E"); }
.fa-instagram { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z'/%3E%3C/svg%3E"); }
.fa-google { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 488 512'%3E%3Cpath fill='%23000' d='M488 261.8C488 403.3 391.1 504 248 504 110.8 504 0 393.2 0 256S110.8 8 248 8c66.8 0 123 24.5 166.3 64.9l-67.5 64.9C258.5 52.6 94.3 116.6 94.3 256c0 86.5 69.1 156.6 153.7 156.6 98.2 0 135-70.4 140.8-106.9H248v-85.3h236.1c2.3 12.7 3.9 24.9 3.9 41.4z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 488 512'%3E%3Cpath fill='%23000' d='M488 261.8C488 403.3 391.1 504 248 504 110.8 504 0 393.2 0 256S110.8 8 248 8c66.8 0 123 24.5 166.3 64.9l-67.5 64.9C258.5 52.6 94.3 116.6 94.3 256c0 86.5 69.1 156.6 153.7 156.6 98.2 0 135-70.4 140.8-106.9H248v-85.3h236.1c2.3 12.7 3.9 24.9 3.9 41.4z'/%3E%3C/svg%3E"); }
.fa-whatsapp { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z'/%3E%3C/svg%3E"); }
.fa-tiktok { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M448,209.91a210.06,210.06,0,0,1-122.77-39.25V349.38A162.55,162.55,0,1,1,185,188.31V278.2a74.62,74.62,0,1,0,52.23,71.18V0l88,0a121.18,121.18,0,0,0,1.86,22.17h0A122.18,122.18,0,0,0,381,102.39a121.43,121.43,0,0,0,67,20.14Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M448,209.91a210.06,210.06,0,0,1-122.77-39.25V349.38A162.55,162.55,0,1,1,185,188.31V278.2a74.62,74.62,0,1,0,52.23,71.18V0l88,0a121.18,121.18,0,0,0,1.86,22.17h0A122.18,122.18,0,0,0,381,102.39a121.43,121.43,0,0,0,67,20.14Z'/%3E%3C/svg%3E"); }
.fa-youtube { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23000' d='M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23000' d='M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z'/%3E%3C/svg%3E"); }
.fa-x-twitter { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z'/%3E%3C/svg%3E"); }

/* ==========================================================================
   BRAND WEBFONTS (SWAP MODE)
   ========================================================================== */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url('../fonts/outfit.woff2') format('woff2');
}

@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url('../fonts/cinzel.woff2') format('woff2');
}
/* ==========================================================================
   BRAND WEBFONTS (SWAP MODE)
   ========================================================================== */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url('../fonts/outfit.woff2') format('woff2');
}

@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url('../fonts/cinzel.woff2') format('woff2');
}

/* --- CSS Block 2 --- */
:root {
      --brand-color: #fdd835;
      --brand-dark: #c6a700;
      --bg-base: #030305;
      --bg-surface: #0a0a0f;
      --bg-card: rgba(14, 14, 20, 0.94);
      --gold-gradient: linear-gradient(135deg, #fffde7 0%, #fdd835 45%, #c69214 100%);
      --gold-border: rgba(253, 216, 53, 0.32);
      --gold-border-bright: rgba(253, 216, 53, 0.75);
      --text-main: #ffffff;
      --text-secondary: #94a3b8;
      --font-brand: 'Outfit', sans-serif;
      --font-display: 'Cinzel', serif;
      --transition-smooth: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
      --scrollbar-track-bg: #030305;
      --scrollbar-thumb-bg: linear-gradient(180deg, #fdd835 0%, #c6a700 100%);
      --scrollbar-thumb-hover: #fff59d;
      --scrollbar-thumb-shadow: none;
      scrollbar-color: #fdd835 #030305;
    }

    /* ==========================================================================
       MODO FALLAS DE VALENCIA (REAL SENYERA CORONADA, PÓLVORA Y CREMÀ)
       ========================================================================== */
    html.theme-fallas,
    body.theme-fallas,
    html:has(body.theme-fallas) {
      --brand-color: #2563eb;
      --brand-dark: #dc2626;
      --gold-gradient: linear-gradient(135deg, #ffffff 0%, #fef08a 25%, #facc15 55%, #dc2626 85%, #991b1b 100%);
      --gold-border: rgba(250, 204, 21, 0.45);
      --gold-border-bright: rgba(250, 204, 21, 0.85);
      --scrollbar-track-bg: #080403;
      --scrollbar-thumb-bg: #2563eb;
      --scrollbar-thumb-hover: #3b82f6;
      --scrollbar-thumb-shadow: 0 0 10px rgba(37, 99, 235, 0.8), inset 0 0 4px rgba(254, 240, 138, 0.4);
      scrollbar-color: #2563eb #080403 !important;
    }
    body.theme-fallas {
      background: radial-gradient(circle at 50% 12%, rgba(220, 38, 38, 0.16) 0%, rgba(37, 99, 235, 0.08) 25%, #0c0604 45%, #050302 85%) fixed !important;
    }
    body.theme-fallas ::selection {
      background: #dc2626 !important;
      color: #ffffff !important;
    }
    body.theme-fallas::-webkit-scrollbar-thumb {
      background: #2563eb !important;
      border-radius: 6px !important;
      box-shadow: 0 0 10px rgba(37, 99, 235, 0.8) !important;
    }
    body.theme-fallas::-webkit-scrollbar-thumb:hover {
      background: #3b82f6 !important;
      box-shadow: 0 0 15px rgba(59, 130, 246, 1) !important;
    }
    body.theme-fallas::-webkit-scrollbar-track {
      background: #080403 !important;
    }

    /* ==========================================================================
       MODO HALLOWEEN & NOCHE TENEBROSA (CALABAZA, BRUJA, ECTOPLASMA Y SANGRE)
       ========================================================================== */
    html.theme-halloween,
    body.theme-halloween,
    html:has(body.theme-halloween) {
      --brand-color: #fb923c;
      --brand-dark: #c2410c;
      --gold-gradient: linear-gradient(135deg, #fed7aa 0%, #f97316 45%, #c2410c 80%, #7c2d12 100%);
      --gold-border: rgba(249, 115, 22, 0.4);
      --gold-border-bright: rgba(249, 115, 22, 0.85);
      --scrollbar-track-bg: #09060f;
      --scrollbar-thumb-bg: linear-gradient(180deg, #ea580c 0%, #c2410c 50%, #7c2d12 100%);
      --scrollbar-thumb-hover: linear-gradient(180deg, #f97316 0%, #ea580c 50%, #c2410c 100%);
      --scrollbar-thumb-shadow: 0 0 10px rgba(234, 88, 12, 0.6), inset 0 0 4px rgba(254, 215, 170, 0.4);
      scrollbar-color: #ea580c #09060f !important;
    }
    body.theme-halloween {
      background: radial-gradient(circle at 50% 12%, rgba(124, 45, 18, 0.16) 0%, #0c0814 35%, #050308 85%) fixed !important;
    }
    body.theme-halloween ::selection {
      background: #ea580c !important;
      color: #ffffff !important;
    }

    /* ==========================================================================
       MODO SAN VALENTÍN & ENAMÓRATE (ROJO PASIÓN, ORO RADIANTE Y CORAZONES)
       ========================================================================== */
    html.theme-sanvalentin,
    body.theme-sanvalentin,
    html:has(body.theme-sanvalentin) {
      --brand-color: #ff4d6d;
      --brand-dark: #be123c;
      --gold-gradient: linear-gradient(135deg, #ffffff 0%, #ffd700 25%, #ff4d6d 55%, #be123c 85%, #881337 100%);
      --gold-border: rgba(255, 77, 109, 0.45);
      --gold-border-bright: rgba(255, 215, 0, 0.85);
      --scrollbar-track-bg: #0d0205;
      --scrollbar-thumb-bg: linear-gradient(180deg, #ff4d6d 0%, #e11d48 50%, #9f1239 100%);
      --scrollbar-thumb-hover: linear-gradient(180deg, #ffd700 0%, #ff4d6d 50%, #e11d48 100%);
      --scrollbar-thumb-shadow: 0 0 10px rgba(255, 77, 109, 0.8), inset 0 0 4px rgba(255, 215, 0, 0.4);
      scrollbar-color: #e11d48 #0d0205 !important;
    }
    body.theme-sanvalentin {
      background: radial-gradient(circle at 50% 12%, rgba(225, 29, 72, 0.20) 0%, rgba(190, 18, 60, 0.10) 28%, #100407 48%, #060203 85%) fixed !important;
    }
    body.theme-sanvalentin ::selection {
      background: #e11d48 !important;
      color: #ffffff !important;
    }
    body.theme-sanvalentin .scroll-progress-laser {
      background: linear-gradient(90deg, #ff4d6d, #ffd700, #e11d48, #ffd700) !important;
      box-shadow: 0 0 12px #ff4d6d !important;
    }

    /* Listón Superior San Valentín */
    .sanvalentin-top-greeting-strip {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 32px;
      background: linear-gradient(90deg, rgba(136, 19, 55, 0.96) 0%, rgba(190, 18, 60, 0.96) 25%, rgba(217, 119, 6, 0.95) 50%, rgba(190, 18, 60, 0.96) 75%, rgba(136, 19, 55, 0.96) 100%);
      border-bottom: 1px solid rgba(255, 215, 0, 0.7);
      box-shadow: 0 4px 15px rgba(0, 0, 0, 0.75), 0 0 14px rgba(225, 29, 72, 0.45);
      z-index: 1001;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      font-size: 0.84rem;
      font-weight: 700;
      color: #ffffff;
      letter-spacing: 0.4px;
      text-shadow: 0 1px 4px rgba(0, 0, 0, 0.8);
      padding: 0 16px;
      box-sizing: border-box;
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis;
    }
    .sanvalentin-top-greeting-strip strong {
      color: #ffd700;
      font-weight: 800;
      text-shadow: 0 0 8px rgba(255, 215, 0, 0.6);
    }

    body.theme-sanvalentin.has-sanvalentin-greeting .luxury-navbar {
      top: 44px !important;
    }
    body.theme-sanvalentin.has-sanvalentin-greeting .mobile-nav-dropdown {
      top: 104px !important;
    }

    /* ══════════════════════════════════════════════════════════════════════
       ESTILOS INTEGRALES DEL MODO SAN VALENTÍN (ROMÁNTICO, ROJO RUBÍ & ORO DE LUJO)
       ══════════════════════════════════════════════════════════════════════ */
    body.theme-sanvalentin .brand-gold,
    body.theme-sanvalentin .gold-gradient-text,
    body.theme-sanvalentin .portal-brand-highlight,
    body.theme-sanvalentin .pin-brand-gold,
    body.theme-sanvalentin .hero-title-main,
    body.theme-sanvalentin .nav-brand-title,
    body.theme-sanvalentin .team-signature-name,
    body.theme-sanvalentin .section-title,
    body.theme-sanvalentin .section-title span {
      background: linear-gradient(180deg, #ffffff 0%, #fff6d9 18%, #ffd700 50%, #f59e0b 78%, #d97706 100%) !important;
      -webkit-background-clip: text !important;
      -webkit-text-fill-color: transparent !important;
      filter: drop-shadow(0 2px 10px rgba(0, 0, 0, 0.95)) drop-shadow(0 0 20px rgba(255, 215, 0, 0.50)) drop-shadow(0 0 35px rgba(220, 38, 38, 0.25)) !important;
    }
    body.theme-sanvalentin .hero-subtitle {
      color: #f3f4f6 !important;
      text-shadow: 0 2px 10px rgba(0, 0, 0, 0.95), 0 0 20px rgba(0, 0, 0, 0.8) !important;
    }
    body.theme-sanvalentin .hero-subtitle strong {
      color: #ff2a55 !important;
      text-shadow: 0 0 12px rgba(220, 38, 38, 0.75), 0 0 20px rgba(255, 30, 86, 0.40) !important;
      font-weight: 700;
    }
    body.theme-sanvalentin .nav-brand-sub {
      color: #ffd700 !important;
      text-shadow: 0 0 8px rgba(255, 215, 0, 0.6) !important;
    }
    body.theme-sanvalentin .hero-brand-logo,
    body.theme-sanvalentin .nav-logo-img,
    body.theme-sanvalentin .portal-logo-img {
      filter: drop-shadow(0 0 22px rgba(255, 215, 0, 0.55)) drop-shadow(0 0 35px rgba(220, 38, 38, 0.45)) !important;
    }

    /* Barra de Navegación San Valentín */
    body.theme-sanvalentin .luxury-navbar {
      border: 1.5px solid rgba(220, 38, 38, 0.65) !important;
      background: rgba(20, 5, 10, 0.95) !important;
      box-shadow: 0 12px 35px rgba(0, 0, 0, 0.95), 0 0 25px rgba(220, 38, 38, 0.35), 0 0 10px rgba(255, 215, 0, 0.2) !important;
    }
    body.theme-sanvalentin .nav-tabs-group {
      border: 1px solid rgba(220, 38, 38, 0.4) !important;
      background: rgba(10, 3, 6, 0.85) !important;
    }
    body.theme-sanvalentin .nav-tab-btn {
      color: #ffe4e6 !important;
      border: 1px solid transparent !important;
    }
    body.theme-sanvalentin .nav-tab-btn:hover {
      color: #ffffff !important;
      background: rgba(220, 38, 38, 0.35) !important;
      border-color: rgba(255, 215, 0, 0.4) !important;
    }
    body.theme-sanvalentin .nav-tab-btn.active {
      background: #b91c1c !important;
      color: #ffffff !important;
      border: 1.5px solid #ffd700 !important;
      box-shadow: 0 0 16px rgba(220, 38, 38, 0.8), 0 0 8px rgba(255, 215, 0, 0.5) !important;
    }
    body.theme-sanvalentin .nav-cta-btn {
      background: linear-gradient(135deg, #fff275 0%, #facc15 35%, #ef4444 75%, #b91c1c 100%) !important;
      color: #0b0505 !important;
      font-weight: 850 !important;
      letter-spacing: 0.6px !important;
      border: 1.5px solid #ffd700 !important;
      box-shadow: 0 0 24px rgba(250, 204, 21, 0.75), 0 0 14px rgba(220, 38, 38, 0.55), inset 0 1px 1px rgba(255, 255, 255, 0.8) !important;
    }
    body.theme-sanvalentin .nav-cta-btn:hover {
      background: linear-gradient(135deg, #ffffff 0%, #fef08a 35%, #f87171 70%, #dc2626 100%) !important;
      border-color: #ffffff !important;
      box-shadow: 0 0 35px rgba(250, 204, 21, 0.95), 0 0 18px rgba(220, 38, 38, 0.75), inset 0 1px 2px #ffffff !important;
      transform: translateY(-1px);
    }
    body.theme-sanvalentin .nav-cta-btn.has-active-appointment {
      background: #b91c1c !important;
      color: #ffffff !important;
      font-weight: 750 !important;
      border: 1.5px solid #ffd700 !important;
      box-shadow: 0 0 16px rgba(220, 38, 38, 0.8), 0 0 8px rgba(255, 215, 0, 0.5) !important;
    }
    body.theme-sanvalentin .nav-cta-btn.has-active-appointment:hover {
      background: #dc2626 !important;
      border-color: #ffe066 !important;
      box-shadow: 0 0 25px rgba(220, 38, 38, 0.95), 0 0 12px rgba(255, 215, 0, 0.7) !important;
      transform: translateY(-1px);
    }
    body.theme-sanvalentin .nav-mobile-toggle {
      color: #ffd700 !important;
      border-color: rgba(220, 38, 38, 0.6) !important;
      background: rgba(20, 5, 10, 0.8) !important;
    }
    body.theme-sanvalentin .mobile-nav-dropdown {
      border: 1.5px solid rgba(220, 38, 38, 0.6) !important;
      background: rgba(18, 5, 10, 0.98) !important;
      box-shadow: 0 20px 60px rgba(0,0,0,0.95), 0 0 35px rgba(220, 38, 38, 0.4) !important;
    }
    body.theme-sanvalentin .mobile-nav-btn.active,
    body.theme-sanvalentin .mobile-nav-item.active {
      background: #b91c1c !important;
      color: #ffffff !important;
      border-left: 3px solid #ffd700 !important;
    }
    body.theme-sanvalentin .mobile-nav-btn:hover,
    body.theme-sanvalentin .mobile-nav-item:hover {
      color: #ffd700 !important;
      background: rgba(220, 38, 38, 0.3) !important;
    }

    /* Hero & Halo de Amor */
    body.theme-sanvalentin .hero-grand-logo-wrap {
      position: relative;
    }
    body.theme-sanvalentin .hero-grand-logo-wrap::before {
      content: '';
      position: absolute;
      inset: -25%;
      border-radius: 50%;
      background: radial-gradient(circle at 50% 50%, rgba(220, 38, 38, 0.35) 0%, rgba(185, 28, 28, 0.20) 35%, rgba(255, 215, 0, 0.12) 60%, transparent 75%) !important;
      filter: blur(50px);
      pointer-events: none;
      z-index: -1;
    }

    /* Badges & Marcas de Agua San Valentín (Dorado Imperial & Halo Cálido) */
    body.theme-sanvalentin .section-tag,
    body.theme-sanvalentin .section-sub-badge,
    body.theme-sanvalentin .spotlight-badge {
      color: #ffd700 !important;
      border: none !important;
      background: none !important;
      box-shadow: none !important;
      padding: 0 !important;
      letter-spacing: 0.18em !important;
      text-transform: uppercase !important;
      text-shadow: 0 0 16px rgba(255, 215, 0, 0.7), 0 0 28px rgba(220, 38, 38, 0.35) !important;
    }
    body.theme-sanvalentin .section-floating-watermark,
    body.theme-sanvalentin .team-watermark-text,
    body.theme-sanvalentin .section-watermark-title {
      -webkit-text-stroke: 1.5px rgba(255, 215, 0, 0.20) !important;
      color: rgba(255, 215, 0, 0.02) !important;
      text-shadow: 0 0 35px rgba(255, 215, 0, 0.15), 0 0 15px rgba(220, 38, 38, 0.10) !important;
    }

    /* ==========================================================================
       REDES SOCIALES SAN VALENTÍN (JOYAS 3D EN FORMA DE CORAZÓN DE RUBÍ Y ORO)
       ========================================================================== */
    body.theme-sanvalentin .portal-social-row {
      position: relative;
    }
    body.theme-sanvalentin .portal-social-row::before {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 320px;
      height: 90px;
      background: radial-gradient(ellipse at center, rgba(220, 38, 38, 0.25) 0%, rgba(255, 215, 0, 0.10) 50%, transparent 75%);
      filter: blur(15px);
      pointer-events: none;
      z-index: 0;
    }

    /* 1. BOTONES HERO/PORTADA (ARRIBA): JOYAS EN FORMA DE CORAZÓN 3D */
    body.theme-sanvalentin .portal-social-row a.portal-social-btn {
      position: relative !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      width: 74px !important;
      height: 74px !important;
      background: linear-gradient(135deg, #fff2a8 0%, #ffd700 35%, #b8860b 70%, #ffd700 100%) !important;
      clip-path: path('M 37 15 C 37 6.5, 28 0, 18.5 0 C 8.2 0, 0 8.2, 0 20 C 0 37.5, 22.5 54.5, 37 70 C 51.5 54.5, 74 37.5, 74 20 C 74 8.2, 65.8 0, 55.5 0 C 46 0, 37 6.5, 37 15 Z') !important;
      filter: drop-shadow(0 4px 15px rgba(0, 0, 0, 0.85)) drop-shadow(0 0 16px rgba(220, 38, 38, 0.75)) drop-shadow(0 0 8px rgba(255, 215, 0, 0.6)) !important;
      border: none !important;
      border-radius: 0 !important;
      box-shadow: none !important;
      padding: 0 !important;
      transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), filter 0.35s ease !important;
      text-decoration: none !important;
      z-index: 1;
    }

    body.theme-sanvalentin .portal-social-row a.portal-social-btn::before {
      content: '' !important;
      position: absolute !important;
      top: 3px !important;
      left: 3px !important;
      width: 68px !important;
      height: 68px !important;
      background: radial-gradient(circle at 35% 25%, #e11d48 0%, #b91c1c 50%, #7f1d1d 90%, #450a0a 100%) !important;
      clip-path: path('M 34 14 C 34 6, 25.8 0, 17 0 C 7.5 0, 0 7.5, 0 18.5 C 0 34.5, 20.5 50, 34 64 C 47.5 50, 68 34.5, 68 18.5 C 68 7.5, 60.5 0, 51 0 C 42.2 0, 34 6, 34 14 Z') !important;
      z-index: 1 !important;
      pointer-events: none !important;
      transition: background 0.3s ease !important;
    }

    body.theme-sanvalentin .portal-social-row a.portal-social-btn::after {
      content: '' !important;
      position: absolute !important;
      top: 10px !important;
      left: 14px !important;
      width: 16px !important;
      height: 10px !important;
      background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0.65) 0%, transparent 80%) !important;
      border-radius: 50% !important;
      transform: rotate(-30deg) !important;
      z-index: 2 !important;
      pointer-events: none !important;
    }

    body.theme-sanvalentin .portal-social-row svg {
      width: 30px !important;
      height: 30px !important;
      fill: #ffffff !important;
      background: transparent !important;
      border: none !important;
      border-radius: 0 !important;
      box-shadow: none !important;
      padding: 0 !important;
      position: relative !important;
      z-index: 3 !important;
      transform: translateY(-2px) !important;
      filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.8)) drop-shadow(0 0 6px rgba(255, 215, 0, 0.4)) !important;
      transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), fill 0.3s ease !important;
    }

    body.theme-sanvalentin .portal-social-row a.portal-social-btn:hover {
      transform: scale(1.18) translateY(-4px) !important;
      filter: drop-shadow(0 6px 20px rgba(0, 0, 0, 0.9)) drop-shadow(0 0 24px rgba(255, 30, 86, 0.95)) drop-shadow(0 0 14px rgba(255, 215, 0, 0.90)) !important;
    }

    body.theme-sanvalentin .portal-social-row a.portal-social-btn:hover::before {
      background: radial-gradient(circle at 35% 25%, #ff1e56 0%, #dc2626 55%, #991b1b 100%) !important;
    }

    body.theme-sanvalentin .portal-social-row a.portal-social-btn:hover svg {
      transform: translateY(-3px) scale(1.12) !important;
      fill: #ffffff !important;
      filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.9)) drop-shadow(0 0 10px rgba(255, 255, 255, 0.9)) !important;
    }

    /* 2. BOTONES BARRA DE CONTACTO (ABAJO): CÍRCULOS ELEGANTES ROJO RUBÍ */
    body.theme-sanvalentin .contact-social-inline-group a.contact-social-btn,
    body.theme-sanvalentin .contact-social-btn {
      position: relative !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      width: 44px !important;
      height: 44px !important;
      border-radius: 50% !important;
      background: radial-gradient(circle at 35% 30%, #e11d48 0%, #b91c1c 65%, #7f1d1d 100%) !important;
      border: 1.5px solid rgba(255, 215, 0, 0.85) !important;
      box-shadow: 0 4px 15px rgba(0, 0, 0, 0.7), 0 0 12px rgba(225, 29, 72, 0.45), inset 0 1px 2px rgba(255, 255, 255, 0.4) !important;
      clip-path: none !important;
      padding: 0 !important;
      transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease, border-color 0.3s ease !important;
      text-decoration: none !important;
      z-index: 1;
    }

    body.theme-sanvalentin .contact-social-inline-group a.contact-social-btn::before,
    body.theme-sanvalentin .contact-social-btn::before,
    body.theme-sanvalentin .contact-social-inline-group a.contact-social-btn::after,
    body.theme-sanvalentin .contact-social-btn::after {
      display: none !important;
    }

    body.theme-sanvalentin .contact-social-btn svg,
    body.theme-sanvalentin .contact-social-inline-group a svg {
      width: 20px !important;
      height: 20px !important;
      fill: #ffffff !important;
      background: transparent !important;
      border: none !important;
      border-radius: 0 !important;
      box-shadow: none !important;
      padding: 0 !important;
      position: relative !important;
      z-index: 3 !important;
      transform: none !important;
      filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.8)) !important;
      transition: transform 0.3s ease, fill 0.3s ease !important;
    }

    body.theme-sanvalentin .contact-social-inline-group a.contact-social-btn:hover,
    body.theme-sanvalentin .contact-social-btn:hover {
      transform: translateY(-3px) scale(1.08) !important;
      background: radial-gradient(circle at 35% 30%, #ff1e56 0%, #dc2626 65%, #991b1b 100%) !important;
      border-color: #ffd700 !important;
      box-shadow: 0 6px 20px rgba(0, 0, 0, 0.8), 0 0 20px rgba(255, 30, 86, 0.85), 0 0 10px rgba(255, 215, 0, 0.7) !important;
    }

    body.theme-sanvalentin .contact-social-inline-group a.contact-social-btn:hover svg,
    body.theme-sanvalentin .contact-social-btn:hover svg {
      transform: scale(1.1) !important;
      fill: #ffffff !important;
      filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.9)) drop-shadow(0 0 8px rgba(255, 255, 255, 0.9)) !important;
    }

    @media (max-width: 480px) {
      body.theme-sanvalentin .portal-social-row a.portal-social-btn {
        width: 60px !important;
        height: 60px !important;
        clip-path: path('M 30 12 C 30 5, 23 0, 15 0 C 6.7 0, 0 6.7, 0 16.2 C 0 30.4, 18 44.2, 30 56.8 C 42 44.2, 60 30.4, 60 16.2 C 60 6.7, 53.3 0, 45 0 C 37 0, 30 5, 30 12 Z') !important;
      }
      body.theme-sanvalentin .portal-social-row a.portal-social-btn::before {
        width: 55px !important;
        height: 55px !important;
        top: 2.5px !important;
        left: 2.5px !important;
        clip-path: path('M 27.5 11 C 27.5 4.5, 21 0, 13.7 0 C 6.1 0, 0 6.1, 0 14.8 C 0 27.8, 16.5 40.5, 27.5 52 C 38.5 40.5, 55 27.8, 55 14.8 C 55 6.1, 48.9 0, 41.3 0 C 34 0, 27.5 4.5, 27.5 11 Z') !important;
      }
      body.theme-sanvalentin .portal-social-row svg {
        width: 24px !important;
        height: 24px !important;
      }
    }

    body.theme-sanvalentin .social-hover-chip {
      background: rgba(20, 5, 10, 0.95) !important;
      border: 1px solid #dc2626 !important;
      color: #ffffff !important;
      text-shadow: 0 0 10px rgba(220, 38, 38, 0.8) !important;
      box-shadow: 0 10px 25px rgba(0, 0, 0, 0.85), 0 0 20px rgba(220, 38, 38, 0.5) !important;
    }

    body.theme-sanvalentin .social-hover-chip {
      background: rgba(20, 5, 10, 0.95) !important;
      border: 1px solid #dc2626 !important;
      color: #ffffff !important;
      text-shadow: 0 0 10px rgba(220, 38, 38, 0.8) !important;
      box-shadow: 0 10px 25px rgba(0, 0, 0, 0.85), 0 0 20px rgba(220, 38, 38, 0.5) !important;
    }

    /* Tarjetas de Estadísticas San Valentín */
    body.theme-sanvalentin .stat-card-glass {
      border-color: rgba(255, 77, 109, 0.35) !important;
      box-shadow: 0 20px 50px rgba(0, 0, 0, 0.95), 0 0 30px rgba(225, 29, 72, 0.2), inset 0 1px 0 rgba(255, 215, 0, 0.15) !important;
    }
    body.theme-sanvalentin .stat-card-glass::before {
      background: linear-gradient(90deg, transparent, #ff4d6d, transparent) !important;
      box-shadow: 0 0 14px #ff4d6d !important;
    }
    body.theme-sanvalentin .stat-card-glass:hover {
      border-color: #ffd700 !important;
      box-shadow: 0 28px 70px rgba(0, 0, 0, 0.98), 0 0 45px rgba(225, 29, 72, 0.45), inset 0 1px 0 rgba(255, 215, 0, 0.25) !important;
    }
    body.theme-sanvalentin .stat-card-glass:hover::before {
      background: linear-gradient(90deg, transparent, #ffd700, transparent) !important;
      box-shadow: 0 0 18px #ffd700 !important;
    }
    body.theme-sanvalentin .stat-card-glare {
      background: radial-gradient(circle 200px at var(--glare-x, 50%) var(--glare-y, 50%), rgba(225, 29, 72, 0.22) 0%, transparent 80%) !important;
    }
    body.theme-sanvalentin .stat-icon-wrap {
      border-color: rgba(255, 77, 109, 0.7) !important;
      background: radial-gradient(circle at 35% 35%, rgba(225, 29, 72, 0.45) 0%, rgba(20, 5, 10, 0.95) 100%) !important;
      color: #ffd700 !important;
      box-shadow: 0 4px 18px rgba(0, 0, 0, 0.7), 0 0 22px rgba(225, 29, 72, 0.45) !important;
    }
    body.theme-sanvalentin .stat-card-glass:hover .stat-icon-wrap {
      border-color: #ffd700 !important;
      box-shadow: 0 0 30px rgba(255, 215, 0, 0.75) !important;
    }
    body.theme-sanvalentin .stat-icon-wrap svg,
    body.theme-sanvalentin .stat-icon-wrap path,
    body.theme-sanvalentin .stat-icon-wrap i {
      color: #ffd700 !important;
      fill: #ffd700 !important;
    }
    body.theme-sanvalentin .stat-pill-badge {
      border-color: rgba(255, 77, 109, 0.5) !important;
      background: rgba(225, 29, 72, 0.22) !important;
      color: #ffe4e6 !important;
      box-shadow: 0 0 12px rgba(225, 29, 72, 0.3) !important;
    }
    body.theme-sanvalentin .stat-card-glass:hover .stat-pill-badge {
      background: rgba(255, 77, 109, 0.35) !important;
      border-color: #ffd700 !important;
      box-shadow: 0 0 16px rgba(255, 215, 0, 0.5) !important;
    }

    /* Servicios San Valentín (Pillars) */
    body.theme-sanvalentin .service-pillar-card {
      border: 1.5px solid rgba(255, 77, 109, 0.5) !important;
      background: radial-gradient(circle at 75% 35%, rgba(225, 29, 72, 0.2) 0%, rgba(18, 5, 10, 0.96) 70%, #0a0306 100%) !important;
      box-shadow: 0 16px 45px rgba(0, 0, 0, 0.95), 0 0 20px rgba(225, 29, 72, 0.2) !important;
    }
    body.theme-sanvalentin .service-pillar-card:hover {
      border-color: #ffd700 !important;
      box-shadow: 0 30px 70px rgba(0, 0, 0, 0.98), 0 0 35px rgba(225, 29, 72, 0.45), 0 0 15px rgba(255, 215, 0, 0.3) !important;
    }
    body.theme-sanvalentin .pillar-num,
    body.theme-sanvalentin .service-pillar-num,
    body.theme-sanvalentin .pillar-number {
      color: #ffd700 !important;
      text-shadow: 0 0 12px rgba(255, 215, 0, 0.6) !important;
    }
    body.theme-sanvalentin .pillar-badge,
    body.theme-sanvalentin .service-pillar-badge,
    body.theme-sanvalentin .pillar-tag {
      color: #ffe4e6 !important;
      border: 1px solid rgba(255, 77, 109, 0.55) !important;
      background: rgba(225, 29, 72, 0.25) !important;
    }
    body.theme-sanvalentin .pillar-subtitle,
    body.theme-sanvalentin .service-pillar-subtitle,
    body.theme-sanvalentin .pillar-tagline {
      color: #fed7aa !important;
      text-shadow: 0 0 8px rgba(255, 77, 109, 0.4) !important;
    }
    body.theme-sanvalentin .pillar-media-col {
      border: 1.5px solid rgba(255, 77, 109, 0.45) !important;
      background: radial-gradient(circle at center, rgba(225, 29, 72, 0.25) 0%, rgba(15, 4, 8, 0.95) 100%) !important;
    }
    body.theme-sanvalentin .pillar-emblem-icon-wrap,
    body.theme-sanvalentin .service-pillar-icon,
    body.theme-sanvalentin .pillar-icon-circle {
      border: 2px solid #ffd700 !important;
      background: rgba(225, 29, 72, 0.4) !important;
      box-shadow: 0 0 25px rgba(225, 29, 72, 0.5), 0 0 10px rgba(255, 215, 0, 0.4) !important;
    }
    body.theme-sanvalentin .pillar-emblem-icon-wrap i,
    body.theme-sanvalentin .pillar-emblem-icon-wrap svg,
    body.theme-sanvalentin .pillar-emblem-icon-wrap path,
    body.theme-sanvalentin .service-pillar-icon i,
    body.theme-sanvalentin .service-pillar-icon svg,
    body.theme-sanvalentin .service-pillar-icon path {
      color: #ffd700 !important;
      fill: #ffd700 !important;
    }
    body.theme-sanvalentin .pillar-emblem-title,
    body.theme-sanvalentin .service-pillar-emblem {
      color: #ffd700 !important;
    }
    body.theme-sanvalentin .service-pillar-item {
      border: 1px solid rgba(255, 77, 109, 0.4) !important;
      background: rgba(18, 5, 10, 0.8) !important;
      color: #ffe4e6 !important;
    }
    body.theme-sanvalentin .service-pillar-item i {
      color: #ffd700 !important;
    }
    body.theme-sanvalentin .btn-pillar-reserve {
      background: #dc2626 !important;
      border: 1.5px solid #ffd700 !important;
      color: #ffffff !important;
      font-weight: 800 !important;
      box-shadow: 0 4px 18px rgba(220, 38, 38, 0.65), 0 0 10px rgba(255, 215, 0, 0.3) !important;
    }
    body.theme-sanvalentin .btn-pillar-reserve:hover {
      background: #b91c1c !important;
      border-color: #ffe066 !important;
      box-shadow: 0 6px 25px rgba(220, 38, 38, 0.9), 0 0 16px rgba(255, 215, 0, 0.6) !important;
    }

    /* Equipo San Valentín */
    body.theme-sanvalentin .team-sculpture-frame {
      border: 1.5px solid rgba(255, 77, 109, 0.55) !important;
      box-shadow: 0 35px 90px rgba(0, 0, 0, 0.95), 0 0 30px rgba(225, 29, 72, 0.35) !important;
      background: radial-gradient(circle at 50% 30%, rgba(225, 29, 72, 0.22) 0%, rgba(16, 4, 8, 0.96) 80%) !important;
    }
    body.theme-sanvalentin .team-floating-badge {
      background: rgba(20, 5, 10, 0.95) !important;
      border: 1.5px solid rgba(255, 77, 109, 0.55) !important;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.8), 0 0 20px rgba(225, 29, 72, 0.35) !important;
    }
    body.theme-sanvalentin .team-badge-role,
    body.theme-sanvalentin .team-role-badge,
    body.theme-sanvalentin .team-editorial-role-badge,
    body.theme-sanvalentin #showcaseBadgeRoleWrap {
      color: #ffe4e6 !important;
    }
    body.theme-sanvalentin .team-badge-gem,
    body.theme-sanvalentin .team-badge-role svg,
    body.theme-sanvalentin .team-role-badge i,
    body.theme-sanvalentin #showcaseBadgeRoleWrap svg {
      color: #ffd700 !important;
      fill: #ffd700 !important;
    }
    body.theme-sanvalentin .team-signature-title {
      color: #ffd700 !important;
    }
    body.theme-sanvalentin .team-spec-capsule {
      border: 1.5px solid rgba(255, 77, 109, 0.45) !important;
      background: rgba(18, 5, 10, 0.92) !important;
    }
    body.theme-sanvalentin .team-spec-capsule:hover {
      background: rgba(225, 29, 72, 0.25) !important;
      border-color: #ffd700 !important;
    }
    body.theme-sanvalentin .team-spec-icon-wrap,
    body.theme-sanvalentin .team-spec-icon-wrap svg,
    body.theme-sanvalentin .team-spec-icon-wrap i {
      color: #ffd700 !important;
      fill: #ffd700 !important;
    }
    body.theme-sanvalentin .team-spec-label {
      color: #ffe4e6 !important;
    }
    body.theme-sanvalentin .team-spec-card {
      border: 1.5px solid rgba(255, 77, 109, 0.45) !important;
      background: rgba(18, 5, 10, 0.92) !important;
    }
    body.theme-sanvalentin .team-spec-card-icon,
    body.theme-sanvalentin .team-editorial-specs-title,
    body.theme-sanvalentin .team-editorial-specs-title i {
      color: #ffd700 !important;
      fill: #ffd700 !important;
    }
    body.theme-sanvalentin .team-spec-card-label {
      color: #ffd700 !important;
    }
    body.theme-sanvalentin .team-spec-tag,
    body.theme-sanvalentin .team-spec-pill {
      background: rgba(225, 29, 72, 0.22) !important;
      border: 1px solid rgba(255, 77, 109, 0.5) !important;
      color: #ffe4e6 !important;
    }
    body.theme-sanvalentin .team-side-nav-btn {
      background: rgba(20, 5, 10, 0.95) !important;
      border-color: rgba(255, 77, 109, 0.55) !important;
      color: #ffd700 !important;
      box-shadow: 0 4px 18px rgba(0, 0, 0, 0.7), 0 0 14px rgba(225, 29, 72, 0.3) !important;
    }
    body.theme-sanvalentin .team-side-nav-btn:hover {
      border-color: #ffd700 !important;
      background: rgba(225, 29, 72, 0.4) !important;
      color: #ffffff !important;
      box-shadow: 0 0 22px rgba(255, 77, 109, 0.7) !important;
    }
    body.theme-sanvalentin .team-nav-dot.active {
      background: #ff4d6d !important;
      border-color: #ffd700 !important;
      box-shadow: 0 0 12px #ff4d6d !important;
    }
    body.theme-sanvalentin .team-dock-btn.active {
      border-color: #ffd700 !important;
      background: rgba(225, 29, 72, 0.35) !important;
      color: #ffffff !important;
      box-shadow: 0 0 18px rgba(225, 29, 72, 0.6) !important;
    }

    /* Galería San Valentín */
    body.theme-sanvalentin .comparison-container {
      border-color: rgba(220, 38, 38, 0.85) !important;
      box-shadow: 0 25px 70px rgba(0, 0, 0, 0.95), 0 0 35px rgba(220, 38, 38, 0.35) !important;
    }
    body.theme-sanvalentin .gallery-cat-card {
      border: 1.5px solid rgba(220, 38, 38, 0.45) !important;
    }
    body.theme-sanvalentin .gallery-cat-card:hover {
      border-color: #ffd700 !important;
      box-shadow: 0 22px 55px rgba(0, 0, 0, 0.95), 0 0 35px rgba(220, 38, 38, 0.65) !important;
    }
    body.theme-sanvalentin .gallery-cat-gold-frame {
      border-color: rgba(255, 215, 0, 0.4) !important;
    }

    /* Contacto & Botones Sólidos de Lujo San Valentín (Sin degradados horizontales) */
    body.theme-sanvalentin .contact-map-hud-bar {
      border: 1.5px solid rgba(220, 38, 38, 0.55) !important;
      background: rgba(18, 5, 10, 0.96) !important;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.9), 0 0 20px rgba(220, 38, 38, 0.35) !important;
    }
    body.theme-sanvalentin .map-hud-text {
      color: #ffe4e6 !important;
    }
    body.theme-sanvalentin .map-hud-text strong {
      color: #ffd700 !important;
      text-shadow: 0 0 8px rgba(255, 215, 0, 0.6) !important;
    }
    body.theme-sanvalentin .map-hud-action-btn {
      background: #dc2626 !important;
      border: 1.5px solid #ffd700 !important;
      color: #ffffff !important;
      font-weight: 800 !important;
      box-shadow: 0 4px 15px rgba(0, 0, 0, 0.6), 0 0 14px rgba(220, 38, 38, 0.65) !important;
    }
    body.theme-sanvalentin .map-hud-action-btn i,
    body.theme-sanvalentin .map-hud-action-btn svg {
      color: #ffd700 !important;
      fill: #ffd700 !important;
    }
    body.theme-sanvalentin .contact-map-hud-bar:hover .map-hud-action-btn {
      background: #b91c1c !important;
      border-color: #ffe066 !important;
      box-shadow: 0 6px 20px rgba(220, 38, 38, 0.85), 0 0 16px rgba(255, 215, 0, 0.6) !important;
      transform: scale(1.05);
    }
    body.theme-sanvalentin .contact-access-capsule {
      border: 1.5px solid rgba(220, 38, 38, 0.45) !important;
      background: rgba(18, 5, 10, 0.94) !important;
      box-shadow: 0 8px 25px rgba(0, 0, 0, 0.8), 0 0 15px rgba(220, 38, 38, 0.25) !important;
    }
    body.theme-sanvalentin .contact-access-capsule:hover {
      border-color: #ffd700 !important;
      box-shadow: 0 12px 30px rgba(0, 0, 0, 0.9), 0 0 22px rgba(220, 38, 38, 0.5) !important;
    }
    body.theme-sanvalentin .capsule-content-title {
      color: #ff2a55 !important;
      font-weight: 800 !important;
      text-shadow: 0 0 8px rgba(220, 38, 38, 0.6) !important;
    }
    body.theme-sanvalentin .capsule-content-desc {
      color: #ffe4e6 !important;
    }
    body.theme-sanvalentin .capsule-icon-wrap {
      border-color: #ffd700 !important;
      background: rgba(220, 38, 38, 0.3) !important;
      box-shadow: 0 0 15px rgba(220, 38, 38, 0.45), 0 0 8px rgba(255, 215, 0, 0.35) !important;
    }
    body.theme-sanvalentin .capsule-icon-wrap svg,
    body.theme-sanvalentin .capsule-icon-wrap i {
      color: #ffd700 !important;
      fill: #ffd700 !important;
    }
    body.theme-sanvalentin .contact-cta-dock {
      border: 1.5px solid rgba(220, 38, 38, 0.45) !important;
      background: rgba(18, 5, 10, 0.96) !important;
      box-shadow: 0 12px 35px rgba(0, 0, 0, 0.9), 0 0 20px rgba(220, 38, 38, 0.35) !important;
    }
    body.theme-sanvalentin .btn-call-monolith {
      background: #dc2626 !important;
      border: 1.5px solid #ffd700 !important;
      color: #ffffff !important;
      font-weight: 800 !important;
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.7), 0 0 20px rgba(220, 38, 38, 0.65) !important;
    }
    body.theme-sanvalentin .btn-call-monolith svg,
    body.theme-sanvalentin .btn-call-monolith i {
      color: #ffd700 !important;
      fill: #ffd700 !important;
    }
    body.theme-sanvalentin .btn-call-monolith:hover {
      background: #b91c1c !important;
      border-color: #ffe066 !important;
      box-shadow: 0 8px 30px rgba(220, 38, 38, 0.9), 0 0 25px rgba(255, 215, 0, 0.7) !important;
    }
    body.theme-sanvalentin .contact-route-btn {
      background: rgba(220, 38, 38, 0.3) !important;
      border: 1.5px solid #ffd700 !important;
      color: #ffd700 !important;
    }
    body.theme-sanvalentin .contact-route-btn:hover {
      background: #dc2626 !important;
      color: #ffffff !important;
      box-shadow: 0 0 18px rgba(220, 38, 38, 0.8) !important;
    }

    /* ==========================================================================
       MODO NAVIDAD & TEMPORADA DE INVIERNO (HIELO, PLATA Y NIEVE TOTAL)
       ========================================================================== */
    html.theme-christmas,
    body.theme-christmas,
    html:has(body.theme-christmas) {
      --brand-color: #fde047;
      --brand-dark: #e11d48;
      --gold-gradient: linear-gradient(135deg, #ffffff 0%, #fef08a 25%, #eab308 55%, #ca8a04 80%, #fef08a 100%);
      --gold-border: rgba(253, 224, 71, 0.35);
      --gold-border-bright: rgba(253, 224, 71, 0.85);
      --scrollbar-track-bg: #08060c;
      --scrollbar-thumb-bg: linear-gradient(180deg, #be123c 0%, #9f1239 50%, #881337 100%);
      --scrollbar-thumb-hover: linear-gradient(180deg, #e11d48 0%, #be123c 50%, #9f1239 100%);
      --scrollbar-thumb-shadow: 0 0 10px rgba(159, 18, 57, 0.6), inset 0 0 4px rgba(254, 240, 138, 0.4);
      scrollbar-color: #9f1239 #08060c !important;
    }
    body.theme-christmas {
      background: radial-gradient(circle at 50% 12%, rgba(225, 29, 72, 0.12) 0%, #0c0a10 35%, #050408 85%) fixed !important;
    }

    body.theme-christmas ::selection {
      background: #e11d48 !important;
      color: #ffffff !important;
    }

    /* 1. Guirnaldas de Micro-Luces Navideñas (Navbar, Footer y Modales) */
    .navbar-christmas-garland {
      position: absolute;
      top: -5px;
      left: 20px;
      right: 20px;
      height: 12px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      pointer-events: none;
      z-index: 10;
    }
    .footer-christmas-garland {
      width: 100%;
      max-width: 100%;
      margin: 0 auto 20px auto;
      height: 14px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 0 16px;
      border-bottom: 1px dashed rgba(253, 224, 71, 0.25);
      pointer-events: none;
      box-sizing: border-box;
      overflow: hidden;
      padding: 0 16px;
    }
    .christmas-top-greeting-strip {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 32px;
      background: linear-gradient(90deg, rgba(159, 18, 57, 0.95) 0%, rgba(225, 29, 72, 0.95) 30%, rgba(202, 138, 4, 0.95) 50%, rgba(225, 29, 72, 0.95) 70%, rgba(159, 18, 57, 0.95) 100%);
      border-bottom: 1px solid rgba(254, 240, 138, 0.6);
      box-shadow: 0 4px 15px rgba(0, 0, 0, 0.7), 0 0 12px rgba(225, 29, 72, 0.4);
      z-index: 1001;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      font-size: 0.84rem;
      font-weight: 700;
      color: #ffffff;
      letter-spacing: 0.4px;
      text-shadow: 0 1px 4px rgba(0, 0, 0, 0.8);
      padding: 0 16px;
      box-sizing: border-box;
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis;
    }
    .christmas-top-greeting-strip strong {
      color: #fef08a;
      font-weight: 800;
      text-shadow: 0 0 8px rgba(253, 224, 71, 0.6);
    }
    .greeting-ornament {
      font-size: 0.95rem;
      flex-shrink: 0;
    }
    .greeting-text-desktop {
      display: inline;
    }
    .greeting-text-mobile {
      display: none;
    }
    body.theme-halloween.has-halloween-greeting .luxury-navbar,
    body.theme-christmas.has-christmas-greeting .luxury-navbar,
    body.theme-fallas.has-fallas-greeting .luxury-navbar {
      top: 44px !important;
    }
    body.theme-halloween.has-halloween-greeting .mobile-nav-dropdown,
    body.theme-christmas.has-christmas-greeting .mobile-nav-dropdown,
    body.theme-fallas.has-fallas-greeting .mobile-nav-dropdown {
      top: 104px !important;
    }
    .halloween-top-greeting-strip {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 32px;
      background: linear-gradient(90deg, rgba(88, 28, 135, 0.95) 0%, rgba(194, 65, 12, 0.95) 30%, rgba(234, 88, 12, 0.95) 50%, rgba(194, 65, 12, 0.95) 70%, rgba(88, 28, 135, 0.95) 100%);
      border-bottom: 1px solid rgba(251, 146, 60, 0.6);
      box-shadow: 0 4px 15px rgba(0, 0, 0, 0.8), 0 0 12px rgba(234, 88, 12, 0.45);
      z-index: 1001;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      font-size: 0.84rem;
      font-weight: 700;
      color: #ffffff;
      letter-spacing: 0.4px;
      text-shadow: 0 1px 4px rgba(0, 0, 0, 0.9);
      padding: 0 16px;
      box-sizing: border-box;
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis;
    }
    .halloween-top-greeting-strip strong {
      color: #fed7aa;
      font-weight: 800;
      text-shadow: 0 0 8px rgba(251, 146, 60, 0.8);
    }
    @media (max-width: 900px) {
      .sanvalentin-top-greeting-strip,
      .halloween-top-greeting-strip,
      .christmas-top-greeting-strip,
      .fallas-top-greeting-strip {
        font-size: 0.70rem;
        height: 28px;
        padding: 0 8px;
        gap: 4px;
      }
      .greeting-text-desktop {
        display: none;
      }
      .greeting-text-mobile {
        display: inline;
        font-size: 0.70rem;
        font-weight: 700;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
      }
      .greeting-ornament {
        font-size: 0.82rem;
      }
      body.theme-sanvalentin.has-sanvalentin-greeting .luxury-navbar,
      body.theme-halloween.has-halloween-greeting .luxury-navbar,
      body.theme-christmas.has-christmas-greeting .luxury-navbar,
      body.theme-fallas.has-fallas-greeting .luxury-navbar {
        top: 36px !important;
      }
      body.theme-sanvalentin.has-sanvalentin-greeting .mobile-nav-dropdown,
      body.theme-halloween.has-halloween-greeting .mobile-nav-dropdown,
      body.theme-christmas.has-christmas-greeting .mobile-nav-dropdown,
      body.theme-fallas.has-fallas-greeting .mobile-nav-dropdown {
        top: 94px !important;
      }
    }
    @media (max-width: 600px) {
      body.theme-sanvalentin.has-sanvalentin-greeting .luxury-navbar,
      body.theme-halloween.has-halloween-greeting .luxury-navbar,
      body.theme-christmas.has-christmas-greeting .luxury-navbar,
      body.theme-fallas.has-fallas-greeting .luxury-navbar {
        top: 34px !important;
      }
      body.theme-sanvalentin.has-sanvalentin-greeting .mobile-nav-dropdown,
      body.theme-halloween.has-halloween-greeting .mobile-nav-dropdown,
      body.theme-christmas.has-christmas-greeting .mobile-nav-dropdown,
      body.theme-fallas.has-fallas-greeting .mobile-nav-dropdown {
        top: 92px !important;
      }
    }
    .hero-christmas-garland {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 12px;
      width: 100%;
      max-width: 820px;
      margin: -6px auto 16px auto;
      padding: 0 12px;
      position: relative;
      pointer-events: none;
      box-sizing: border-box;
    }
    .garland-wire-bulbs {
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex: 1;
      position: relative;
      padding: 6px 0;
    }
    .garland-wire-bulbs::before {
      content: '';
      position: absolute;
      top: 6px;
      left: 0;
      right: 0;
      height: 2px;
      background: radial-gradient(ellipse at 50% 50%, rgba(253, 224, 71, 0.75) 0%, rgba(225, 29, 72, 0.55) 50%, rgba(253, 224, 71, 0.3) 100%);
      box-shadow: 0 0 6px rgba(253, 224, 71, 0.45);
      border-radius: 50%;
      pointer-events: none;
    }
    .garland-end-sparkle {
      font-size: 1.05rem;
      filter: drop-shadow(0 0 8px rgba(253, 224, 71, 0.95)) drop-shadow(0 0 15px rgba(225, 29, 72, 0.6));
      animation: starSparkleFloat 3s ease-in-out infinite alternate;
      user-select: none;
    }
    @keyframes starSparkleFloat {
      0% { transform: scale(0.85) rotate(-8deg); opacity: 0.8; }
      100% { transform: scale(1.2) rotate(12deg); opacity: 1; }
    }
    .hero-christmas-garland .c-bulb:nth-child(even) {
      transform: translateY(3px);
    }
    .hero-christmas-garland .c-bulb:nth-child(3n) {
      transform: translateY(5px);
    }
    .hero-christmas-garland .c-bulb:nth-child(4n) {
      transform: translateY(1px);
    }
    @media (max-width: 900px) {
      .hero-christmas-garland {
        max-width: 90%;
        margin: -4px auto 14px auto;
      }
    }
    @media (max-width: 600px) {
      .hero-christmas-garland {
        max-width: 96%;
        margin: -2px auto 12px auto;
        padding: 0 4px;
        gap: 6px;
      }
      .hero-christmas-garland .c-bulb:nth-child(n+14) {
        display: none;
      }
    }
    .modal-christmas-garland {
      position: absolute;
      top: -4px;
      left: 15px;
      right: 15px;
      display: flex;
      justify-content: space-between;
      pointer-events: none;
    }
    .c-bulb {
      width: 7px;
      height: 10px;
      border-radius: 50% 50% 35% 35%;
      position: relative;
      animation: bulbTwinkle 2.4s infinite ease-in-out alternate;
    }
    .c-bulb::after {
      content: '';
      position: absolute;
      top: -2px;
      left: 50%;
      transform: translateX(-50%);
      width: 3px;
      height: 3px;
      background: #475569;
      border-radius: 1px;
    }
    .c-bulb.bulb-gold {
      background: #fde047;
      box-shadow: 0 0 10px #facc15, 0 0 20px rgba(250, 204, 21, 0.85);
      animation-delay: 0s;
    }
    .c-bulb.bulb-ruby {
      background: #f43f5e;
      box-shadow: 0 0 10px #e11d48, 0 0 20px rgba(225, 29, 72, 0.9);
      animation-delay: 0.6s;
    }
    .c-bulb.bulb-emerald {
      background: #34d399;
      box-shadow: 0 0 10px #10b981, 0 0 20px rgba(16, 185, 129, 0.85);
      animation-delay: 1.2s;
    }
    .c-bulb.bulb-silver {
      background: #ffffff;
      box-shadow: 0 0 10px #ffffff, 0 0 20px rgba(255, 255, 255, 0.95);
      animation-delay: 1.8s;
    }
    @keyframes bulbTwinkle {
      0% { opacity: 0.45; filter: brightness(0.8) scale(0.9); }
      50% { opacity: 1; filter: brightness(1.35) scale(1.15); }
      100% { opacity: 0.65; filter: brightness(0.95) scale(1); }
    }

    /* Telarañas y Arañas Perimetrales del Navbar Capsule */
    .navbar-halloween-webs {
      position: absolute;
      inset: 0;
      pointer-events: none;
      z-index: 10;
      overflow: visible;
    }
    .nav-web-top {
      position: absolute;
      top: -4px;
      left: 24px;
      right: 24px;
      width: calc(100% - 48px);
      height: 24px;
      overflow: visible;
      filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.85));
    }
    .nav-web-bottom {
      position: absolute;
      bottom: -54px;
      left: 24px;
      right: 24px;
      width: calc(100% - 48px);
      height: 60px;
      overflow: visible;
      filter: drop-shadow(0 3px 12px rgba(0, 0, 0, 0.95));
    }
    @media (max-width: 900px) {
      .nav-web-top { left: 14px; right: 14px; width: calc(100% - 28px); height: 18px; top: -3px; }
      .nav-web-bottom { left: 14px; right: 14px; width: calc(100% - 28px); bottom: -42px; height: 48px; }
    }

    .hero-halloween-garland {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 12px;
      width: 100%;
      max-width: 820px;
      margin: -6px auto 16px auto;
      padding: 0 12px;
      position: relative;
      pointer-events: none;
      box-sizing: border-box;
    }
    @media (max-width: 900px) {
      .hero-halloween-garland {
        max-width: 90%;
        margin: -4px auto 14px auto;
      }
    }
    @media (max-width: 600px) {
      .hero-halloween-garland {
        max-width: 96%;
        margin: -2px auto 12px auto;
        padding: 0 4px;
        gap: 6px;
      }
      .hero-halloween-garland .h-bulb:nth-child(n+14) {
        display: none;
      }
    }
    .h-bulb {
      width: 7px;
      height: 10px;
      border-radius: 50% 50% 35% 35%;
      position: relative;
      animation: bulbTwinkle 2.4s infinite ease-in-out alternate;
    }
    .h-bulb::after {
      content: '';
      position: absolute;
      top: -2px;
      left: 50%;
      transform: translateX(-50%);
      width: 3px;
      height: 3px;
      background: #334155;
      border-radius: 1px;
    }
    .h-bulb.bulb-pumpkin {
      background: #f97316;
      box-shadow: 0 0 10px #ea580c, 0 0 20px rgba(249, 115, 22, 0.9);
      animation-delay: 0s;
    }
    .h-bulb.bulb-purple {
      background: #c084fc;
      box-shadow: 0 0 10px #9333ea, 0 0 20px rgba(168, 85, 247, 0.9);
      animation-delay: 0.6s;
    }
    .h-bulb.bulb-slime {
      background: #4ade80;
      box-shadow: 0 0 10px #16a34a, 0 0 20px rgba(34, 197, 94, 0.9);
      animation-delay: 1.2s;
    }
    .h-bulb.bulb-blood {
      background: #ef4444;
      box-shadow: 0 0 10px #b91c1c, 0 0 20px rgba(220, 38, 38, 0.9);
      animation-delay: 1.8s;
    }



    /* ==========================================================================
       TEMA OFICIAL FALLAS DE VALENCIA (1 AL 19 DE MARZO)
       Fuego de la Cremà, Pólvora de la Mascletà, Oro y Noche Festiva
       ========================================================================== */

    /* --- Marco Decorativo Fallero: Capas Fijas de Esquina --- */
    .global-fallas-festive-layer {
      position: fixed;
      inset: 0;
      width: 100vw;
      max-width: 100vw;
      height: 100vh;
      pointer-events: none;
      z-index: 5;
      overflow: hidden;
      contain: layout paint;
    }
    .global-fallas-corner {
      position: fixed;
      pointer-events: none;
      z-index: 5;
      filter: drop-shadow(0 0 10px rgba(249,115,22,0.45)) drop-shadow(0 0 18px rgba(250,204,21,0.25));
      opacity: 0.95;
    }
    .global-fallas-corner svg { width: 100%; height: 100%; display: block; }
    .fallas-screen-top-left {
      top: 32px;
      left: 0;
      width: clamp(220px, 24vw, 380px);
      height: clamp(340px, 55vh, 600px);
    }
    .fallas-screen-top-right {
      top: 32px;
      right: 0;
      width: clamp(220px, 24vw, 380px);
      height: clamp(340px, 55vh, 600px);
    }

    /* Animaciones de la Traca: chispas parpadeantes */
    @keyframes fallasSparkPulse {
      0%, 100% { opacity: 1; filter: drop-shadow(0 0 6px rgba(254, 240, 138, 0.9)); }
      50%      { opacity: 0.4; filter: drop-shadow(0 0 2px rgba(249, 115, 22, 0.5)); }
    }
    .fallas-spark-glow { animation: fallasSparkPulse 0.75s ease-in-out infinite; }

    /* Guirnalda Festiva de Senyeras y Luces bajo el Navbar */
    .navbar-fallas-garland {
      position: absolute;
      left: 14px;
      right: 14px;
      bottom: 0;
      height: 0;
      pointer-events: none;
      z-index: 20;
      overflow: visible !important;
    }

    .nav-garland-track {
      position: absolute;
      inset: 0;
      overflow: visible !important;
      pointer-events: none;
    }
    .nav-garland-desktop {
      display: block;
    }
    .nav-garland-mobile {
      display: none;
    }

    /* Animaciones de la Guirnalda: flameo de Senyeras y destello de bombillas */
    @keyframes senyeraWave {
      0%, 100% {
        transform: translateX(-50%) rotate(0deg) skewX(0deg);
      }
      25% {
        transform: translateX(-50%) rotate(5deg) skewX(-2deg) scale(1.03);
      }
      75% {
        transform: translateX(-50%) rotate(-5deg) skewX(2deg) scale(0.97);
      }
    }
    @keyframes fallasBulbGlow {
      0%, 100% {
        opacity: 0.95;
        filter: drop-shadow(0 0 8px rgba(250,204,21,0.9));
        transform: translateX(-50%) scale(1);
      }
      50% {
        opacity: 0.55;
        filter: drop-shadow(0 0 2px rgba(249,115,22,0.5));
        transform: translateX(-50%) scale(0.88);
      }
    }

    .nav-garland-flag {
      position: absolute;
      bottom: -22px;
      transform: translateX(-50%);
      transform-origin: top center;
      animation: senyeraWave 2.4s ease-in-out infinite;
      filter: drop-shadow(0 3px 6px rgba(0,0,0,0.8)) drop-shadow(0 0 5px rgba(249,115,22,0.45));
      pointer-events: none;
      display: block;
    }
    .nav-garland-flag svg {
      display: block;
      overflow: visible;
    }

    .nav-garland-bulb {
      position: absolute;
      bottom: -6px;
      transform: translateX(-50%);
      animation: fallasBulbGlow 1.8s ease-in-out infinite;
      pointer-events: none;
      display: block;
    }
    .nav-garland-bulb svg {
      display: block;
      overflow: visible;
    }

    /* Mobile y Tablet: tracas laterales y guirnalda perfectamente equilibradas */
    @media (max-width: 900px) {
      .fallas-screen-top-left {
        top: 10px;
        left: 0;
        width: clamp(65px, 18vw, 95px);
        height: clamp(260px, 45vh, 380px);
        overflow: hidden;
      }
      .fallas-screen-top-right {
        top: 10px;
        right: 0;
        width: clamp(65px, 18vw, 95px);
        height: clamp(260px, 45vh, 380px);
        overflow: hidden;
      }
      .navbar-fallas-garland {
        left: 10px;
        right: 10px;
      }
      .nav-garland-desktop {
        display: none !important;
      }
      .nav-garland-mobile {
        display: block !important;
      }
      .nav-garland-mobile .nav-garland-flag {
        bottom: -20px;
      }
      .nav-garland-mobile .nav-garland-bulb {
        bottom: -5px;
      }
    }
    @media (max-width: 600px) {
      .fallas-screen-top-left {
        top: 6px;
        left: 0;
        width: clamp(55px, 15vw, 75px);
        height: clamp(220px, 38vh, 320px);
        overflow: hidden;
      }
      .fallas-screen-top-right {
        top: 6px;
        right: 0;
        width: clamp(55px, 15vw, 75px);
        height: clamp(220px, 38vh, 320px);
        overflow: hidden;
      }
      .navbar-fallas-garland {
        left: 8px;
        right: 8px;
      }
      .nav-garland-mobile .nav-garland-flag {
        bottom: -19px;
      }
      .nav-garland-mobile .nav-garland-bulb {
        bottom: -5px;
      }
    }

    /* --- Escena Heroína Fallera: Nit del Foc / Cremà --- */
    .hero-fallas-crema-scene {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      pointer-events: none;
      z-index: 1;
      overflow: visible;
      mask-image: linear-gradient(to bottom, black 82%, transparent 100%);
      -webkit-mask-image: linear-gradient(to bottom, black 82%, transparent 100%);
    }
    .hero-fallas-crema-scene svg {
      width: 100%;
      height: 100%;
      display: block;
    }

    /* Llamas de la Cremà: movimiento orgánico */
    @keyframes fallasFlameRise {
      0%   { transform: scaleY(1) translateY(0px); opacity: 0.92; }
      33%  { transform: scaleY(1.08) translateY(-8px); opacity: 1; }
      66%  { transform: scaleY(0.96) translateY(3px); opacity: 0.88; }
      100% { transform: scaleY(1) translateY(0px); opacity: 0.92; }
    }
    @keyframes fallasFlamePulse {
      0%, 100% { opacity: 0.82; transform: scaleX(1); }
      50%       { opacity: 1;   transform: scaleX(1.08); }
    }
    @keyframes fallasFallaSway {
      0%, 100% { transform: rotate(-0.5deg); }
      50%       { transform: rotate(0.5deg); }
    }
    @keyframes fallasEmberRise {
      0%   { transform: translateY(0px) translateX(0px) scale(1); opacity: 0.9; }
      50%  { transform: translateY(-50px) translateX(10px) scale(0.7); opacity: 0.6; }
      100% { transform: translateY(-110px) translateX(-8px) scale(0.2); opacity: 0; }
    }
    .fallas-crema-monument { animation: fallasFallaSway 5s ease-in-out infinite; transform-origin: bottom center; }
    .fallas-flame-main     { animation: fallasFlameRise 1.6s ease-in-out infinite; transform-origin: bottom center; }
    .fallas-flame-side     { animation: fallasFlameRise 2.1s ease-in-out infinite alternate; transform-origin: bottom center; }
    .fallas-flame-inner    { animation: fallasFlamePulse 0.9s ease-in-out infinite; transform-origin: bottom center; }
    .fallas-ember-1        { animation: fallasEmberRise 2.4s ease-out infinite; }
    .fallas-ember-2        { animation: fallasEmberRise 3.1s ease-out infinite 0.7s; }
    .fallas-ember-3        { animation: fallasEmberRise 2.7s ease-out infinite 1.4s; }
    .fallas-ember-4        { animation: fallasEmberRise 3.5s ease-out infinite 0.3s; }
    .fallas-ember-5        { animation: fallasEmberRise 2.1s ease-out infinite 1.9s; }

    /* Fuegos Artificiales Nit del Foc: Pulsan en su sitio sin desplazarse */
    @keyframes fallasPalmeraGlow {
      0%, 100% { opacity: 0.8; filter: drop-shadow(0 0 10px rgba(250, 204, 21, 0.4)); }
      50%      { opacity: 1.0; filter: drop-shadow(0 0 24px rgba(254, 240, 138, 0.95)) drop-shadow(0 0 40px rgba(249, 115, 22, 0.7)); }
    }
    @keyframes fallasSparkleBurst {
      0%, 100% { opacity: 0.4; transform: scale(0.9); }
      50%      { opacity: 1; transform: scale(1.15); }
    }
    .fallas-palmera-burst  { animation: fallasPalmeraGlow 3.5s ease-in-out infinite; }
    .fallas-starburst-spark { animation: fallasSparkleBurst 2.2s ease-in-out infinite alternate; }

    .fallas-top-greeting-strip {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 32px;
      background: linear-gradient(90deg, rgba(30, 58, 138, 0.96) 0%, rgba(185, 28, 28, 0.96) 25%, rgba(153, 27, 27, 0.96) 50%, rgba(185, 28, 28, 0.96) 75%, rgba(30, 58, 138, 0.96) 100%);
      border-bottom: 1.5px solid rgba(250, 204, 21, 0.7);
      color: #ffffff;
      padding: 0 16px;
      font-size: 0.86rem;
      font-weight: 700;
      letter-spacing: 0.4px;
      text-shadow: 0 1px 4px rgba(0, 0, 0, 0.9);
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      box-shadow: 0 4px 15px rgba(0, 0, 0, 0.8), 0 0 12px rgba(220, 38, 38, 0.4);
      z-index: 1001;
      text-align: center;
      box-sizing: border-box;
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis;
    }
    .fallas-top-greeting-strip strong {
      color: #fef08a;
      font-weight: 800;
      text-shadow: 0 0 8px rgba(250, 204, 21, 0.6);
    }
    .fallas-top-greeting-strip .greeting-text-desktop {
      display: inline;
    }
    .fallas-top-greeting-strip .greeting-text-mobile {
      display: none;
    }

    /* Bombilla Azul Real de la Senyera para iluminación festiva */
    .c-bulb.bulb-blau {
      background: #2563eb;
      box-shadow: 0 0 8px #38bdf8, 0 0 16px #2563eb;
    }
    /* Guirnalda Festiva de Iluminación Fallera en Footer (Luces de Ruzafa) */
    .footer-fallas-garland {
      position: absolute;
      top: -6px;
      left: 20px;
      right: 20px;
      height: 12px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      pointer-events: none;
      z-index: 10;
    }
    @media (max-width: 768px) {
      .fallas-top-greeting-strip {
        font-size: 0.78rem;
        height: 28px;
        padding: 0 8px;
        gap: 6px;
      }
      .fallas-top-greeting-strip .greeting-text-desktop {
        display: none;
      }
      .fallas-top-greeting-strip .greeting-text-mobile {
        display: inline;
      }
    }

    body.theme-fallas {
      background-color: #080506 !important;
    }

    /* Rótulos, Degradados y Logotipos Falleros con Colores de Valencia */
    body.theme-fallas .brand-gold,
    body.theme-fallas .gold-gradient-text,
    body.theme-fallas .portal-brand-highlight,
    body.theme-fallas .pin-brand-gold,
    body.theme-fallas .hero-title-main,
    body.theme-fallas .nav-brand-title,
    body.theme-fallas .team-signature-name,
    body.theme-fallas .section-title span {
      background: linear-gradient(180deg, #ffffff 0%, #fef08a 25%, #facc15 55%, #f97316 80%, #dc2626 100%) !important;
      -webkit-background-clip: text !important;
      -webkit-text-fill-color: transparent !important;
      filter: drop-shadow(0 2px 14px rgba(220, 38, 38, 0.65)) drop-shadow(0 0 24px rgba(250, 204, 21, 0.45)) !important;
    }
    body.theme-fallas .hero-subtitle strong {
      color: #fef08a !important;
      text-shadow: 0 0 10px rgba(250, 204, 21, 0.6);
    }
    body.theme-fallas .scroll-progress-laser {
      background: linear-gradient(90deg, #2563eb 0%, #dc2626 25%, #facc15 50%, #dc2626 75%, #2563eb 100%) !important;
      box-shadow: 0 0 14px rgba(250, 204, 21, 0.9) !important;
    }

    /* Barra de Navegación Fallera - Exterior Rojo, Interior Azul, Acentos Amarillos */
    body.theme-fallas .luxury-navbar {
      border: 1.5px solid rgba(220, 38, 38, 0.55) !important;
      background: rgba(8, 12, 24, 0.96) !important;
      box-shadow: 0 12px 35px rgba(0, 0, 0, 0.95), 0 0 25px rgba(220, 38, 38, 0.25), 0 0 10px rgba(37, 99, 235, 0.20) !important;
    }
    body.theme-fallas .nav-tabs-group {
      border: 1px solid rgba(220, 38, 38, 0.4) !important;
      background: rgba(6, 10, 20, 0.85) !important;
    }
    body.theme-fallas .nav-tab-btn:hover {
      color: #fef08a !important;
      background: rgba(30, 58, 138, 0.35) !important;
      border-color: rgba(250, 204, 21, 0.45) !important;
    }
    body.theme-fallas .nav-tab-btn.active {
      background: linear-gradient(135deg, rgba(29, 78, 216, 0.6) 0%, rgba(15, 23, 42, 0.95) 100%) !important;
      color: #fef08a !important;
      border: 1.5px solid #ef4444 !important;
      box-shadow: 0 0 16px rgba(239, 68, 68, 0.65), 0 0 8px rgba(250, 204, 21, 0.4) !important;
    }
    body.theme-fallas .nav-cta-btn {
      background: linear-gradient(135deg, #fef08a 0%, #facc15 45%, #dc2626 100%) !important;
      color: #0c0503 !important;
      font-weight: 800 !important;
      border: 1.5px solid #ef4444 !important;
      box-shadow: 0 0 22px rgba(250, 204, 21, 0.75), 0 0 10px rgba(220, 38, 38, 0.4) !important;
    }
    body.theme-fallas .nav-cta-btn:hover {
      background: linear-gradient(135deg, #ffffff 0%, #fef08a 40%, #facc15 100%) !important;
      box-shadow: 0 0 35px rgba(250, 204, 21, 0.95), 0 0 15px rgba(220, 38, 38, 0.6) !important;
    }
    body.theme-fallas .nav-cta-btn.has-active-appointment {
      background: linear-gradient(135deg, rgba(29, 78, 216, 0.6) 0%, rgba(15, 23, 42, 0.95) 100%) !important;
      color: #fef08a !important;
      font-weight: 750 !important;
      border: 1.5px solid #ef4444 !important;
      box-shadow: 0 0 16px rgba(239, 68, 68, 0.65), 0 0 8px rgba(250, 204, 21, 0.4) !important;
    }
    body.theme-fallas .nav-cta-btn.has-active-appointment:hover {
      background: linear-gradient(135deg, rgba(37, 99, 235, 0.8) 0%, rgba(30, 58, 138, 0.95) 100%) !important;
      border-color: #facc15 !important;
      box-shadow: 0 0 25px rgba(239, 68, 68, 0.8), 0 0 14px rgba(250, 204, 21, 0.6) !important;
      color: #ffffff !important;
      transform: translateY(-1px);
    }
    body.theme-fallas .nav-mobile-toggle {
      color: #facc15 !important;
      border-color: rgba(220, 38, 38, 0.5) !important;
      background: rgba(10, 15, 28, 0.8) !important;
    }
    body.theme-fallas .mobile-nav-dropdown {
      border: 1.5px solid rgba(220, 38, 38, 0.5) !important;
      background: rgba(8, 12, 24, 0.98) !important;
      box-shadow: 0 20px 60px rgba(0,0,0,0.95), 0 0 35px rgba(220, 38, 38, 0.3) !important;
    }
    body.theme-fallas .mobile-nav-btn.active,
    body.theme-fallas .mobile-nav-item.active {
      background: linear-gradient(135deg, rgba(29, 78, 216, 0.55) 0%, rgba(15, 23, 42, 0.95) 100%) !important;
      color: #fef08a !important;
      border-left: 3px solid #ef4444 !important;
    }
    body.theme-fallas .mobile-nav-btn:hover,
    body.theme-fallas .mobile-nav-item:hover {
      color: #fef08a !important;
      background: rgba(30, 58, 138, 0.25) !important;
    }

    /* Hero & Aura de Fuego Fallero */
    body.theme-fallas .hero-grand-logo-wrap {
      position: relative;
    }
    body.theme-fallas .hero-grand-logo-wrap::before {
      content: '';
      position: absolute;
      inset: -25%;
      border-radius: 50%;
      background: radial-gradient(circle at 50% 50%, rgba(234, 88, 12, 0.35) 0%, rgba(245, 158, 11, 0.25) 35%, rgba(220, 38, 38, 0.15) 60%, transparent 75%) !important;
      filter: blur(50px);
      pointer-events: none;
      z-index: -1;
    }

    /* Badges & Marcas de Agua Falleras */
    body.theme-fallas .section-tag,
    body.theme-fallas .section-sub-badge,
    body.theme-fallas .spotlight-badge {
      color: #facc15 !important;
      border: none !important;
      background: none !important;
      box-shadow: none !important;
      padding: 0 !important;
      text-shadow: 0 0 14px rgba(250, 204, 21, 0.6) !important;
    }
    body.theme-fallas .section-floating-watermark,
    body.theme-fallas .team-watermark-text,
    body.theme-fallas .section-watermark-title {
      -webkit-text-stroke: 1.5px rgba(250, 204, 21, 0.22) !important;
      color: rgba(37, 99, 235, 0.02) !important;
      text-shadow: 0 0 35px rgba(37, 99, 235, 0.25), 0 0 15px rgba(250, 204, 21, 0.15) !important;
    }

    /* Redes Sociales Falleras con Colores de Valencia */
    body.theme-fallas .portal-social-row svg {
      fill: #ffffff !important;
      background: rgba(37, 99, 235, 0.25) !important;
      border: 3px solid #2563eb !important;
      filter: drop-shadow(0 0 16px rgba(37, 99, 235, 0.85)) drop-shadow(0 0 6px rgba(250, 204, 21, 0.5)) !important;
    }
    body.theme-fallas .portal-social-row a:nth-child(2) svg {
      border-color: #dc2626 !important;
      background: rgba(220, 38, 38, 0.25) !important;
      filter: drop-shadow(0 0 16px rgba(220, 38, 38, 0.85)) drop-shadow(0 0 6px rgba(250, 204, 21, 0.5)) !important;
    }
    body.theme-fallas .portal-social-row a:nth-child(3) svg {
      border-color: #facc15 !important;
      background: rgba(250, 204, 21, 0.25) !important;
      filter: drop-shadow(0 0 16px rgba(250, 204, 21, 0.85)) drop-shadow(0 0 6px rgba(220, 38, 38, 0.5)) !important;
    }
    body.theme-fallas .portal-social-row svg:hover {
      fill: #ffffff !important;
      border-color: #ffffff !important;
      background: rgba(37, 99, 235, 0.85) !important;
      filter: drop-shadow(0 0 28px rgba(37, 99, 235, 1)) drop-shadow(0 0 10px #ffffff) !important;
    }
    body.theme-fallas .portal-social-row a:nth-child(2) svg:hover {
      background: rgba(220, 38, 38, 0.85) !important;
      border-color: #ffffff !important;
      filter: drop-shadow(0 0 28px rgba(220, 38, 38, 1)) drop-shadow(0 0 10px #ffffff) !important;
    }
    body.theme-fallas .portal-social-row a:nth-child(3) svg:hover {
      background: rgba(250, 204, 21, 0.85) !important;
      border-color: #ffffff !important;
      filter: drop-shadow(0 0 28px rgba(250, 204, 21, 1)) drop-shadow(0 0 10px #ffffff) !important;
    }
    body.theme-fallas .social-hover-chip {
      background: rgba(20, 10, 8, 0.95) !important;
      border: 1px solid #facc15 !important;
      color: #fef08a !important;
      text-shadow: 0 0 10px rgba(250, 204, 21, 0.6) !important;
      box-shadow: 0 10px 25px rgba(0, 0, 0, 0.85), 0 0 20px rgba(220, 38, 38, 0.4) !important;
    }

    /* Tarjetas de Estadísticas Falleras */
    body.theme-fallas .stat-card-glass {
      border-color: rgba(220, 38, 38, 0.35) !important;
      box-shadow: 0 20px 50px rgba(0, 0, 0, 0.95), 0 0 30px rgba(220, 38, 38, 0.2), inset 0 1px 0 rgba(254, 240, 138, 0.15) !important;
    }
    body.theme-fallas .stat-card-glass::before {
      background: linear-gradient(90deg, transparent, #facc15, transparent) !important;
      box-shadow: 0 0 14px #f59e0b !important;
    }
    body.theme-fallas .stat-card-glass:hover {
      border-color: #facc15 !important;
      box-shadow: 0 28px 70px rgba(0, 0, 0, 0.98), 0 0 45px rgba(220, 38, 38, 0.45), inset 0 1px 0 rgba(254, 240, 138, 0.25) !important;
    }
    body.theme-fallas .stat-card-glass:hover::before {
      background: linear-gradient(90deg, transparent, #dc2626, transparent) !important;
      box-shadow: 0 0 18px #dc2626 !important;
    }
    body.theme-fallas .stat-card-glare {
      background: radial-gradient(circle 200px at var(--glare-x, 50%) var(--glare-y, 50%), rgba(220, 38, 38, 0.22) 0%, transparent 80%) !important;
    }
    body.theme-fallas .stat-icon-wrap {
      border-color: rgba(250, 204, 21, 0.7) !important;
      background: radial-gradient(circle at 35% 35%, rgba(220, 38, 38, 0.45) 0%, rgba(20, 10, 8, 0.95) 100%) !important;
      color: #facc15 !important;
      box-shadow: 0 4px 18px rgba(0, 0, 0, 0.7), 0 0 22px rgba(220, 38, 38, 0.45) !important;
    }
    body.theme-fallas .stat-card-glass:hover .stat-icon-wrap {
      border-color: #facc15 !important;
      box-shadow: 0 0 30px rgba(250, 204, 21, 0.75) !important;
    }
    body.theme-fallas .stat-icon-wrap svg,
    body.theme-fallas .stat-icon-wrap path,
    body.theme-fallas .stat-icon-wrap i {
      color: #facc15 !important;
      fill: #facc15 !important;
    }
    body.theme-fallas .stat-pill-badge {
      border-color: rgba(220, 38, 38, 0.5) !important;
      background: rgba(220, 38, 38, 0.22) !important;
      color: #fef08a !important;
      box-shadow: 0 0 12px rgba(220, 38, 38, 0.3) !important;
    }
    body.theme-fallas .stat-card-glass:hover .stat-pill-badge {
      background: rgba(30, 58, 138, 0.45) !important;
      border-color: #ef4444 !important;
      box-shadow: 0 0 16px rgba(220, 38, 38, 0.5) !important;
    }

    /* Servicios Falleros (Pillars) - Exterior Rojo, Interior Azul Noche, Acentos Amarillos */
    body.theme-fallas .service-pillar-card {
      border: 1.5px solid rgba(220, 38, 38, 0.55) !important;
      background: radial-gradient(circle at 75% 35%, rgba(30, 58, 138, 0.25) 0%, rgba(10, 15, 28, 0.96) 70%, #080a14 100%) !important;
      box-shadow: 0 16px 45px rgba(0, 0, 0, 0.95), 0 0 20px rgba(220, 38, 38, 0.2) !important;
    }
    body.theme-fallas .service-pillar-card:hover {
      border-color: #ef4444 !important;
      box-shadow: 0 30px 70px rgba(0, 0, 0, 0.98), 0 0 35px rgba(220, 38, 38, 0.45), 0 0 15px rgba(250, 204, 21, 0.3) !important;
    }
    body.theme-fallas .pillar-num,
    body.theme-fallas .service-pillar-num,
    body.theme-fallas .pillar-number {
      color: #facc15 !important;
      text-shadow: 0 0 12px rgba(250, 204, 21, 0.6) !important;
    }
    body.theme-fallas .pillar-badge,
    body.theme-fallas .service-pillar-badge,
    body.theme-fallas .pillar-tag {
      color: #fef08a !important;
      border: 1px solid rgba(220, 38, 38, 0.55) !important;
      background: rgba(30, 58, 138, 0.35) !important;
    }
    body.theme-fallas .pillar-subtitle,
    body.theme-fallas .service-pillar-subtitle,
    body.theme-fallas .pillar-tagline {
      color: #fef08a !important;
      text-shadow: 0 0 8px rgba(250, 204, 21, 0.4) !important;
    }
    body.theme-fallas .pillar-media-col {
      border: 1.5px solid rgba(220, 38, 38, 0.45) !important;
      background: radial-gradient(circle at center, rgba(30, 58, 138, 0.35) 0%, rgba(10, 14, 26, 0.95) 100%) !important;
    }
    body.theme-fallas .pillar-emblem-icon-wrap,
    body.theme-fallas .service-pillar-icon,
    body.theme-fallas .pillar-icon-circle {
      border: 2px solid #facc15 !important;
      background: rgba(30, 58, 138, 0.45) !important;
      box-shadow: 0 0 25px rgba(220, 38, 38, 0.5), 0 0 10px rgba(250, 204, 21, 0.4) !important;
    }
    body.theme-fallas .pillar-emblem-icon-wrap i,
    body.theme-fallas .pillar-emblem-icon-wrap svg,
    body.theme-fallas .pillar-emblem-icon-wrap path,
    body.theme-fallas .service-pillar-icon i,
    body.theme-fallas .service-pillar-icon svg,
    body.theme-fallas .service-pillar-icon path {
      color: #facc15 !important;
      fill: #facc15 !important;
    }
    body.theme-fallas .pillar-emblem-title,
    body.theme-fallas .service-pillar-emblem {
      color: #facc15 !important;
    }
    body.theme-fallas .service-pillar-item {
      border: 1px solid rgba(220, 38, 38, 0.4) !important;
      background: rgba(10, 15, 28, 0.8) !important;
      color: #e2e8f0 !important;
    }
    body.theme-fallas .service-pillar-item i {
      color: #facc15 !important;
    }
    body.theme-fallas .btn-pillar-reserve {
      background: linear-gradient(135deg, #fef08a 0%, #facc15 45%, #dc2626 100%) !important;
      color: #0c0503 !important;
      font-weight: 800 !important;
      box-shadow: 0 4px 18px rgba(220, 38, 38, 0.55) !important;
    }
    body.theme-fallas .btn-pillar-reserve:hover {
      background: linear-gradient(135deg, #ffffff 0%, #fef08a 40%, #facc15 100%) !important;
      box-shadow: 0 6px 25px rgba(250, 204, 21, 0.85) !important;
    }

    /* Equipo Fallero - Exterior Rojo, Interior Azul Noche, Acentos Amarillos */
    body.theme-fallas .team-sculpture-frame {
      border: 1.5px solid rgba(220, 38, 38, 0.6) !important;
      box-shadow: 0 35px 90px rgba(0, 0, 0, 0.95), 0 0 30px rgba(220, 38, 38, 0.35) !important;
      background: radial-gradient(circle at 50% 30%, rgba(30, 58, 138, 0.25) 0%, rgba(8, 12, 22, 0.96) 80%) !important;
    }
    body.theme-fallas .team-floating-badge {
      background: rgba(10, 15, 28, 0.95) !important;
      border: 1.5px solid rgba(220, 38, 38, 0.55) !important;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.8), 0 0 20px rgba(220, 38, 38, 0.35) !important;
    }
    body.theme-fallas .team-badge-role,
    body.theme-fallas .team-role-badge,
    body.theme-fallas .team-editorial-role-badge,
    body.theme-fallas #showcaseBadgeRoleWrap {
      color: #fef08a !important;
    }
    body.theme-fallas .team-badge-gem,
    body.theme-fallas .team-badge-role svg,
    body.theme-fallas .team-role-badge i,
    body.theme-fallas #showcaseBadgeRoleWrap svg {
      color: #facc15 !important;
      fill: #facc15 !important;
    }
    body.theme-fallas .team-signature-title {
      color: #facc15 !important;
    }
    body.theme-fallas .team-spec-capsule {
      border: 1.5px solid rgba(220, 38, 38, 0.5) !important;
      background: rgba(10, 15, 28, 0.92) !important;
    }
    body.theme-fallas .team-spec-capsule:hover {
      background: rgba(30, 58, 138, 0.35) !important;
      border-color: #ef4444 !important;
    }
    body.theme-fallas .team-spec-icon-wrap,
    body.theme-fallas .team-spec-icon-wrap svg,
    body.theme-fallas .team-spec-icon-wrap i {
      color: #facc15 !important;
      fill: #facc15 !important;
    }
    body.theme-fallas .team-spec-label {
      color: #fef08a !important;
    }
    body.theme-fallas .team-spec-card {
      border: 1.5px solid rgba(220, 38, 38, 0.5) !important;
      background: rgba(10, 15, 28, 0.92) !important;
    }
    body.theme-fallas .team-spec-card-icon,
    body.theme-fallas .team-editorial-specs-title,
    body.theme-fallas .team-editorial-specs-title i {
      color: #facc15 !important;
      fill: #facc15 !important;
    }
    body.theme-fallas .team-spec-card-label {
      color: #facc15 !important;
    }
    body.theme-fallas .team-spec-tag,
    body.theme-fallas .team-spec-pill {
      background: rgba(30, 58, 138, 0.3) !important;
      border: 1px solid rgba(220, 38, 38, 0.5) !important;
      color: #fef08a !important;
    }
    body.theme-fallas .team-side-nav-btn {
      background: rgba(10, 15, 28, 0.95) !important;
      border-color: rgba(220, 38, 38, 0.55) !important;
      color: #facc15 !important;
      box-shadow: 0 4px 18px rgba(0, 0, 0, 0.7), 0 0 14px rgba(220, 38, 38, 0.3) !important;
    }
    body.theme-fallas .team-side-nav-btn:hover {
      border-color: #ef4444 !important;
      background: rgba(30, 58, 138, 0.45) !important;
      color: #ffffff !important;
      box-shadow: 0 0 22px rgba(239, 68, 68, 0.7) !important;
    }
    body.theme-fallas .team-nav-dot.active {
      background: #ef4444 !important;
      border-color: #fef08a !important;
      box-shadow: 0 0 12px #ef4444 !important;
    }
    body.theme-fallas .team-dock-btn.active {
      border-color: #facc15 !important;
      background: rgba(220, 38, 38, 0.35) !important;
      color: #fef08a !important;
      box-shadow: 0 0 18px rgba(220, 38, 38, 0.6) !important;
    }

    /* Galería Fallera */
    body.theme-fallas .comparison-container {
      border-color: rgba(250, 204, 21, 0.85) !important;
      box-shadow: 0 25px 70px rgba(0, 0, 0, 0.95), 0 0 35px rgba(220, 38, 38, 0.35) !important;
    }
    body.theme-fallas .gallery-cat-card {
      border: 1.5px solid rgba(220, 38, 38, 0.35) !important;
    }
    body.theme-fallas .gallery-cat-card:hover {
      border-color: #facc15 !important;
      box-shadow: 0 22px 55px rgba(0, 0, 0, 0.95), 0 0 35px rgba(220, 38, 38, 0.55) !important;
    }
    body.theme-fallas .gallery-cat-gold-frame {
      border-color: rgba(250, 204, 21, 0.25) !important;
    }
    body.theme-fallas .gallery-cat-card:hover .gallery-cat-gold-frame {
      border-color: rgba(250, 204, 21, 0.85) !important;
      box-shadow: inset 0 0 16px rgba(220, 38, 38, 0.45) !important;
    }
    body.theme-fallas .gallery-cat-explore-btn,
    body.theme-fallas .gallery-cat-hover-btn {
      background: linear-gradient(135deg, #fef08a 0%, #facc15 50%, #dc2626 100%) !important;
      color: #0c0503 !important;
      font-weight: 800 !important;
      box-shadow: 0 4px 18px rgba(0,0,0,0.85), 0 0 15px rgba(250, 204, 21, 0.6) !important;
    }
    body.theme-fallas .gallery-cat-wing.left {
      background: linear-gradient(to left, #facc15, transparent) !important;
    }
    body.theme-fallas .gallery-cat-wing.right {
      background: linear-gradient(to right, #facc15, transparent) !important;
    }
    body.theme-fallas .gallery-cat-title {
      color: #ffffff !important;
    }
    body.theme-fallas .gallery-cat-card:hover .gallery-cat-title {
      color: #fef08a !important;
      text-shadow: 0 0 14px rgba(250, 204, 21, 0.6), 0 2px 10px rgba(0, 0, 0, 0.95) !important;
    }
    body.theme-fallas .gallery-cat-badge,
    body.theme-fallas .gallery-tag {
      background: rgba(220, 38, 38, 0.22) !important;
      border-color: rgba(250, 204, 21, 0.5) !important;
      color: #fef08a !important;
    }

    /* Contacto, Horarios & Mapa Fallero */
    body.theme-fallas .contact-card {
      border: 1.5px solid rgba(220, 38, 38, 0.35) !important;
    }
    body.theme-fallas .contact-card:hover {
      border-color: #facc15 !important;
      box-shadow: 0 25px 60px rgba(0,0,0,0.95), 0 0 35px rgba(220, 38, 38, 0.45) !important;
    }
    body.theme-fallas .contact-info-card,
    body.theme-fallas .salon-info-box,
    body.theme-fallas .contact-pin-box,
    body.theme-fallas .contact-metro-box {
      border: 1.5px solid rgba(220, 38, 38, 0.45) !important;
      background: rgba(18, 8, 6, 0.92) !important;
    }
    body.theme-fallas .contact-info-card:hover,
    body.theme-fallas .salon-info-box:hover,
    body.theme-fallas .contact-metro-box:hover {
      border-color: #facc15 !important;
      background: rgba(28, 12, 8, 0.96) !important;
      box-shadow: 0 0 20px rgba(220, 38, 38, 0.4) !important;
    }
    body.theme-fallas .contact-info-title,
    body.theme-fallas .contact-info-card h4 {
      color: #fef08a !important;
    }
    body.theme-fallas .contact-info-icon-wrap,
    body.theme-fallas .contact-pin-icon {
      color: #facc15 !important;
      fill: #facc15 !important;
      border-color: #dc2626 !important;
      background: rgba(220, 38, 38, 0.25) !important;
    }
    body.theme-fallas .contact-map-hud-bar {
      border: 1.5px solid rgba(220, 38, 38, 0.55) !important;
    }
    body.theme-fallas .map-hud-text strong {
      color: #fef08a !important;
    }
    body.theme-fallas .map-hud-action-btn {
      background: linear-gradient(135deg, #fef08a 0%, #facc15 50%, #dc2626 100%) !important;
      border: 1px solid #fde047 !important;
      color: #0c0503 !important;
      font-weight: 800 !important;
      box-shadow: 0 0 15px rgba(220, 38, 38, 0.6) !important;
    }
    body.theme-fallas .contact-access-capsule {
      background: rgba(10, 15, 28, 0.94) !important;
      border: 1.5px solid rgba(220, 38, 38, 0.55) !important;
      box-shadow: 0 8px 25px rgba(0, 0, 0, 0.8), 0 0 15px rgba(220, 38, 38, 0.2) !important;
    }
    body.theme-fallas .contact-access-capsule:hover {
      background: rgba(30, 58, 138, 0.3) !important;
      border-color: #ef4444 !important;
      box-shadow: 0 8px 30px rgba(239, 68, 68, 0.35), 0 0 15px rgba(250, 204, 21, 0.3) !important;
    }
    body.theme-fallas .capsule-icon-wrap {
      background: rgba(30, 58, 138, 0.45) !important;
      border: 1.5px solid #facc15 !important;
      color: #facc15 !important;
      box-shadow: 0 0 12px rgba(239, 68, 68, 0.35), 0 0 6px rgba(250, 204, 21, 0.4) !important;
    }
    body.theme-fallas .capsule-icon-wrap svg,
    body.theme-fallas .capsule-icon-wrap i {
      fill: #facc15 !important;
      color: #facc15 !important;
    }
    body.theme-fallas .capsule-content-title {
      color: #fef08a !important;
      text-shadow: 0 0 10px rgba(250, 204, 21, 0.4) !important;
    }
    body.theme-fallas .contact-cta-dock {
      background: rgba(10, 15, 28, 0.92) !important;
      border: 1.5px solid rgba(220, 38, 38, 0.55) !important;
      box-shadow: 0 15px 40px rgba(0, 0, 0, 0.9), 0 0 20px rgba(220, 38, 38, 0.2) !important;
    }
    body.theme-fallas .contact-map-crystal-card {
      border: 1.5px solid rgba(220, 38, 38, 0.55) !important;
      box-shadow: 0 20px 60px rgba(0,0,0,0.9), 0 0 30px rgba(220, 38, 38, 0.25) !important;
    }
    body.theme-fallas .contact-chrono-stream {
      border: none !important;
      background: transparent !important;
      box-shadow: none !important;
    }
    body.theme-fallas .btn-call-monolith {
      background: linear-gradient(135deg, #fef08a 0%, #facc15 45%, #dc2626 100%) !important;
      border: 1.5px solid #ef4444 !important;
      color: #0c0503 !important;
      font-weight: 800 !important;
      box-shadow: 0 0 25px rgba(250, 204, 21, 0.75), 0 4px 15px rgba(0, 0, 0, 0.8) !important;
    }
    body.theme-fallas .chrono-day-card.is-today,
    body.theme-fallas .schedule-card.is-today,
    body.theme-fallas .schedule-today-row {
      background: rgba(14, 22, 42, 0.95) !important;
      border: 1.5px solid #ef4444 !important;
      box-shadow: 0 0 20px rgba(239, 68, 68, 0.45), inset 0 0 15px rgba(30, 58, 138, 0.25) !important;
    }
    body.theme-fallas .chrono-today-tag,
    body.theme-fallas .schedule-today-badge,
    body.theme-fallas .schedule-badge-today {
      background: linear-gradient(135deg, #dc2626 0%, #1e40af 100%) !important;
      border: 1px solid #facc15 !important;
      color: #fef08a !important;
      box-shadow: 0 2px 8px rgba(239, 68, 68, 0.6) !important;
    }
    body.theme-fallas .contact-social-btn,
    body.theme-fallas .footer-social-icon {
      background: rgba(10, 15, 28, 0.85) !important;
      border: 1.5px solid rgba(220, 38, 38, 0.5) !important;
      color: #facc15 !important;
    }
    body.theme-fallas .contact-social-btn:hover,
    body.theme-fallas .footer-social-icon:hover {
      border-color: #ef4444 !important;
      background: rgba(30, 58, 138, 0.45) !important;
      color: #ffffff !important;
      box-shadow: 0 0 16px rgba(239, 68, 68, 0.8) !important;
    }
    body.theme-fallas .luxury-pin-badge {
      border: 1.5px solid #ef4444 !important;
      background: rgba(10, 14, 28, 0.95) !important;
      box-shadow: 0 10px 25px rgba(0,0,0,0.8), 0 0 20px rgba(239, 68, 68, 0.5) !important;
    }
    body.theme-fallas .luxury-pin-badge i {
      color: #facc15 !important;
    }
    body.theme-fallas .luxury-pin-arrow {
      border-top-color: #ef4444 !important;
    }
    body.theme-fallas .luxury-pin-stem {
      background: #ef4444 !important;
      box-shadow: 0 0 8px rgba(239, 68, 68, 0.8) !important;
    }

    /* Modales Falleros (Aviso Legal, Citas, Reseñas, Lightbox) */
    body.theme-fallas .gallery-lightbox-modal {
      background: rgba(8, 4, 3, 0.96) !important;
    }
    body.theme-fallas .lightbox-top-bar {
      border-bottom: 1px solid rgba(220, 38, 38, 0.35) !important;
      background: rgba(14, 7, 5, 0.85) !important;
    }
    body.theme-fallas .lightbox-category-badge,
    body.theme-fallas .lightbox-cat-badge,
    body.theme-fallas #lightboxPhotoTitleText,
    body.theme-fallas #ratingTitle,
    body.theme-fallas .legal-meta-box a {
      color: #fef08a !important;
    }
    body.theme-fallas .lightbox-counter-badge {
      background: rgba(220, 38, 38, 0.25) !important;
      border: 1px solid #facc15 !important;
      color: #ffffff !important;
    }
    body.theme-fallas .lightbox-nav-btn {
      background: rgba(18, 8, 6, 0.45) !important;
      backdrop-filter: blur(8px) !important;
      -webkit-backdrop-filter: blur(8px) !important;
      border: 1.5px solid rgba(250, 204, 21, 0.6) !important;
      color: #fef08a !important;
      box-shadow: 0 4px 20px rgba(0,0,0,0.6) !important;
    }
    body.theme-fallas .lightbox-nav-btn:hover {
      background: rgba(250, 204, 21, 0.25) !important;
      border-color: #facc15 !important;
      color: #ffffff !important;
      box-shadow: 0 0 25px rgba(250, 204, 21, 0.85) !important;
    }
    body.theme-fallas .lightbox-cinema-img {
      border: 2px solid rgba(250, 204, 21, 0.6) !important;
      box-shadow: 0 25px 80px rgba(0, 0, 0, 0.95), 0 0 35px rgba(220, 38, 38, 0.4) !important;
    }
    body.theme-fallas .lightbox-filmstrip-bar {
      background: rgba(14, 7, 5, 0.92) !important;
      border-top: 1px solid rgba(220, 38, 38, 0.3) !important;
    }
    body.theme-fallas .lightbox-film-thumb.active {
      border-color: #facc15 !important;
      box-shadow: 0 0 14px rgba(220, 38, 38, 0.8), inset 0 0 6px rgba(250, 204, 21, 0.5) !important;
    }
    body.theme-fallas .legal-modal-card {
      border: 1.5px solid rgba(220, 38, 38, 0.5) !important;
      box-shadow: 0 25px 80px rgba(0, 0, 0, 0.95), 0 0 40px rgba(220, 38, 38, 0.35) !important;
      background: rgba(14, 7, 5, 0.98) !important;
    }
    body.theme-fallas .legal-modal-header {
      border-bottom: 1px solid rgba(220, 38, 38, 0.3) !important;
      background: rgba(8, 4, 3, 0.7) !important;
    }
    body.theme-fallas .legal-tab-btn {
      background: rgba(255, 255, 255, 0.05) !important;
      border: 1px solid rgba(220, 38, 38, 0.35) !important;
      color: #fef08a !important;
    }
    body.theme-fallas .legal-tab-btn:hover {
      background: rgba(220, 38, 38, 0.22) !important;
      border-color: #facc15 !important;
      color: #ffffff !important;
    }
    body.theme-fallas .legal-tab-btn.active {
      background: linear-gradient(135deg, #dc2626 0%, #b91c1c 50%, #991b1b 100%) !important;
      color: #ffffff !important;
      border-color: #facc15 !important;
      box-shadow: 0 2px 14px rgba(220, 38, 38, 0.65) !important;
    }
    body.theme-fallas .legal-modal-close-btn {
      background: rgba(234, 88, 12, 0.15) !important;
      border: 1px solid rgba(249, 115, 22, 0.5) !important;
      color: #fed7aa !important;
    }
    body.theme-fallas .legal-modal-close-btn:hover {
      background: #ef4444 !important;
      border-color: #ef4444 !important;
      color: #ffffff !important;
    }
    body.theme-fallas .legal-doc-title,
    body.theme-fallas .legal-modal-body h3,
    body.theme-fallas .legal-info-title {
      color: #f97316 !important;
    }
    body.theme-fallas .legal-meta-box strong,
    body.theme-fallas .legal-modal-body strong {
      color: #ffedd5 !important;
    }
    body.theme-fallas .legal-email-link,
    body.theme-fallas .legal-modal-body a {
      color: #f97316 !important;
    }
    body.theme-fallas .legal-modal-body::-webkit-scrollbar-thumb {
      background: rgba(249, 115, 22, 0.4) !important;
    }
    body.theme-fallas .booking-step-badge.active,
    body.theme-fallas .booking-service-card.selected {
      border-color: #f97316 !important;
      background: rgba(234, 88, 12, 0.18) !important;
      box-shadow: 0 0 20px rgba(234, 88, 12, 0.45) !important;
    }
    body.theme-fallas .booking-wizard-btn-primary {
      background: linear-gradient(135deg, #fef08a 0%, #f97316 45%, #dc2626 100%) !important;
      color: #0c0503 !important;
      font-weight: 800 !important;
      box-shadow: 0 4px 18px rgba(249, 115, 22, 0.5) !important;
    }
    body.theme-fallas .footer-col-title,
    body.theme-fallas .footer-title,
    body.theme-fallas .footer-brand-title {
      color: #f97316 !important;
    }
    body.theme-fallas .footer-phone-link {
      color: #f97316 !important;
    }
    body.theme-fallas .footer-call-btn {
      background: linear-gradient(180deg, #fef08a 0%, #f97316 50%, #dc2626 100%) !important;
      color: #0c0503 !important;
      font-weight: 800 !important;
      box-shadow: 0 4px 15px rgba(234, 88, 12, 0.6) !important;
    }
    body.theme-fallas .footer-legal-links a:hover {
      color: #f97316 !important;
    }

    /* 2. Rótulos, Degradados y Logotipos */
    body.theme-christmas .brand-gold,
    body.theme-christmas .gold-gradient-text,
    body.theme-christmas .portal-brand-highlight,
    body.theme-christmas .pin-brand-gold,
    body.theme-christmas .hero-title-main,
    body.theme-christmas .nav-brand-title,
    body.theme-christmas .team-signature-name,
    body.theme-christmas .section-title span {
      background: linear-gradient(180deg, #ffffff 0%, #fffbeb 25%, #fef08a 55%, #eab308 100%) !important;
      -webkit-background-clip: text !important;
      -webkit-text-fill-color: transparent !important;
      filter: drop-shadow(0 2px 14px rgba(234, 179, 8, 0.6)) drop-shadow(0 0 24px rgba(225, 29, 72, 0.35)) !important;
    }
    body.theme-christmas .hero-subtitle {
      color: #f1f5f9 !important;
      text-shadow: 0 2px 10px rgba(0, 0, 0, 0.85);
    }
    body.theme-christmas .hero-subtitle strong {
      color: #fef08a !important;
      text-shadow: 0 0 10px rgba(234, 179, 8, 0.6);
      font-weight: 700;
    }
    body.theme-christmas .nav-brand-sub {
      color: #ffffff !important;
      text-shadow: 0 0 8px rgba(234, 179, 8, 0.6) !important;
    }
    body.theme-christmas .hero-brand-logo,
    body.theme-christmas .nav-logo-img,
    body.theme-christmas .portal-logo-img {
      filter: none !important;
    }
    body.theme-christmas .scroll-progress-laser {
      background: linear-gradient(90deg, #e11d48, #f59e0b, #fef08a, #e11d48) !important;
      box-shadow: 0 0 14px rgba(245, 158, 11, 0.9) !important;
    }

    /* 3. Barra de Navegación */
    body.theme-christmas .luxury-navbar {
      border: 1.5px solid rgba(253, 224, 71, 0.35) !important;
      background: rgba(12, 10, 16, 0.94) !important;
      box-shadow: 0 12px 35px rgba(0, 0, 0, 0.95), 0 0 30px rgba(225, 29, 72, 0.22), 0 0 15px rgba(253, 224, 71, 0.15) !important;
    }
    body.theme-christmas .nav-tabs-group {
      border: 1px solid rgba(253, 224, 71, 0.25) !important;
      background: rgba(0, 0, 0, 0.7) !important;
    }
    body.theme-christmas .nav-capsule {
      border-color: rgba(253, 224, 71, 0.35) !important;
      box-shadow: 0 10px 30px rgba(0,0,0,0.85), 0 0 25px rgba(225, 29, 72, 0.2) !important;
    }
    body.theme-christmas .nav-tab-btn {
      color: #f1f5f9 !important;
    }
    body.theme-christmas .nav-tab-btn:hover {
      color: #fef08a !important;
      background: rgba(225, 29, 72, 0.2) !important;
    }
    body.theme-christmas .nav-tab-btn.active {
      background: linear-gradient(135deg, #f43f5e 0%, #e11d48 45%, #9f1239 100%) !important;
      color: #ffffff !important;
      border: 1px solid rgba(254, 240, 138, 0.6) !important;
      box-shadow: 0 0 20px rgba(225, 29, 72, 0.75), 0 0 10px rgba(253, 224, 71, 0.4) !important;
    }
    body.theme-christmas .nav-cta-btn {
      background: linear-gradient(135deg, #fef08a 0%, #eab308 45%, #b45309 100%) !important;
      color: #0c0a09 !important;
      font-weight: 800 !important;
      border: 1px solid rgba(254, 240, 138, 0.7) !important;
      box-shadow: 0 0 25px rgba(234, 179, 8, 0.65), 0 0 10px rgba(225, 29, 72, 0.4) !important;
    }
    body.theme-christmas .nav-cta-btn:hover {
      background: linear-gradient(135deg, #ffffff 0%, #fde047 50%, #eab308 100%) !important;
      box-shadow: 0 0 35px rgba(253, 224, 71, 0.9), 0 0 15px rgba(225, 29, 72, 0.6) !important;
    }
    body.theme-christmas .nav-cta-btn.has-active-appointment {
      background: linear-gradient(180deg, #f43f5e 0%, #e11d48 50%, #9f1239 100%) !important;
      color: #ffffff !important;
      font-weight: 800 !important;
      border: 1.5px solid #fde047 !important;
      box-shadow: 0 0 22px rgba(225, 29, 72, 0.8), 0 0 10px rgba(253, 224, 71, 0.5) !important;
    }
    body.theme-christmas .nav-cta-btn.has-active-appointment:hover {
      background: linear-gradient(180deg, #fb7185 0%, #f43f5e 50%, #be123c 100%) !important;
      border-color: #ffffff !important;
      box-shadow: 0 0 32px rgba(225, 29, 72, 0.95), 0 0 14px rgba(253, 224, 71, 0.7) !important;
    }
    body.theme-christmas .nav-logo-badge::before {
      background: radial-gradient(circle, rgba(253, 224, 71, 0.5) 0%, transparent 70%) !important;
    }
    body.theme-christmas .nav-mobile-toggle {
      color: #fde047 !important;
      border-color: rgba(253, 224, 71, 0.45) !important;
    }
    body.theme-christmas .mobile-nav-dropdown {
      border-color: rgba(253, 224, 71, 0.4) !important;
      box-shadow: 0 20px 60px rgba(0,0,0,0.95), 0 0 35px rgba(225, 29, 72, 0.3) !important;
    }
    body.theme-christmas .mobile-nav-btn.active,
    body.theme-christmas .mobile-nav-item.active {
      background: linear-gradient(135deg, #f43f5e 0%, #e11d48 100%) !important;
      color: #ffffff !important;
    }
    body.theme-christmas .mobile-nav-btn:hover,
    body.theme-christmas .mobile-nav-item:hover {
      color: #fef08a !important;
    }

    /* 4. Hero & Redes Sociales Navideñas */
    body.theme-christmas .hero-grand-logo-wrap {
      position: relative;
    }
    body.theme-christmas .hero-grand-logo-wrap::before {
      content: '';
      position: absolute;
      inset: -25%;
      border-radius: 50%;
      background: radial-gradient(circle at 50% 50%, rgba(225, 29, 72, 0.28) 0%, rgba(234, 179, 8, 0.22) 35%, rgba(16, 185, 129, 0.1) 60%, transparent 75%) !important;
      filter: blur(50px);
      pointer-events: none;
      z-index: -1;
      animation: festiveHolidayGlow 6s ease-in-out infinite alternate;
    }
    @keyframes festiveHolidayGlow {
      0% { transform: scale(0.95); opacity: 0.75; }
      50% { transform: scale(1.08); opacity: 1; }
      100% { transform: scale(0.98); opacity: 0.85; }
    }
    body.theme-christmas .portal-social-row svg {
      fill: #ffffff !important;
      background: rgba(225, 29, 72, 0.2) !important;
      border: 3px solid #f43f5e !important;
      filter: drop-shadow(0 0 16px rgba(244, 63, 94, 0.85)) drop-shadow(0 0 6px rgba(253, 224, 71, 0.5)) !important;
    }
    body.theme-christmas .portal-social-row a:nth-child(2) svg {
      border-color: #fde047 !important;
      background: rgba(234, 179, 8, 0.2) !important;
      filter: drop-shadow(0 0 16px rgba(253, 224, 71, 0.85)) drop-shadow(0 0 6px rgba(225, 29, 72, 0.5)) !important;
    }
    body.theme-christmas .portal-social-row a:nth-child(3) svg {
      border-color: #34d399 !important;
      background: rgba(16, 185, 129, 0.2) !important;
      filter: drop-shadow(0 0 16px rgba(52, 211, 153, 0.85)) drop-shadow(0 0 6px rgba(253, 224, 71, 0.5)) !important;
    }
    body.theme-christmas .portal-social-row svg:hover {
      fill: #ffffff !important;
      border-color: #ffffff !important;
      background: rgba(225, 29, 72, 0.8) !important;
      filter: drop-shadow(0 0 28px rgba(244, 63, 94, 1)) drop-shadow(0 0 10px #ffffff) !important;
    }
    body.theme-christmas .portal-social-row a:nth-child(2) svg:hover {
      background: rgba(234, 179, 8, 0.8) !important;
      filter: drop-shadow(0 0 28px rgba(253, 224, 71, 1)) drop-shadow(0 0 10px #ffffff) !important;
    }
    body.theme-christmas .portal-social-row a:nth-child(3) svg:hover {
      background: rgba(16, 185, 129, 0.8) !important;
      filter: drop-shadow(0 0 28px rgba(52, 211, 153, 1)) drop-shadow(0 0 10px #ffffff) !important;
    }
    body.theme-christmas .social-hover-chip {
      background: rgba(15, 10, 18, 0.95) !important;
      border: 1px solid rgba(253, 224, 71, 0.65) !important;
      color: #fef08a !important;
      text-shadow: 0 0 10px rgba(234, 179, 8, 0.6) !important;
      box-shadow: 0 10px 25px rgba(0, 0, 0, 0.85), 0 0 20px rgba(225, 29, 72, 0.4) !important;
    }
    body.theme-christmas .social-circle-btn,
    body.theme-christmas .portal-social-btn,
    body.theme-christmas .contact-social-btn,
    body.theme-christmas .footer-social-icon {
      color: #ffffff !important;
      border-color: #f43f5e !important;
    }
    body.theme-christmas .social-circle-btn:hover,
    body.theme-christmas .portal-social-btn:hover,
    body.theme-christmas .contact-social-btn:hover,
    body.theme-christmas .footer-social-icon:hover {
      color: #ffffff !important;
      border-color: #ffffff !important;
    }
    body.theme-christmas .social-circle-btn:hover,
    body.theme-christmas .portal-social-btn:hover,
    body.theme-christmas .contact-social-btn:hover,
    body.theme-christmas .footer-social-icon:hover {
      color: #ffffff !important;
      border-color: #ffffff !important;
    }
    body.theme-christmas .btn-glass-secondary {
      border-color: rgba(253, 224, 71, 0.45) !important;
    }
    body.theme-christmas .btn-glass-secondary:hover {
      background: rgba(225, 29, 72, 0.2) !important;
      border-color: #fde047 !important;
      color: #fef08a !important;
    }

    /* 5. Tarjetas de Estadísticas (Inicio) */
    body.theme-christmas .stat-card-glass {
      border-color: rgba(253, 224, 71, 0.35) !important;
      box-shadow: 0 20px 50px rgba(0, 0, 0, 0.95), 0 0 30px rgba(225, 29, 72, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.14) !important;
    }
    body.theme-christmas .stat-card-glass::before {
      background: linear-gradient(90deg, transparent, rgba(253, 224, 71, 0.85), transparent) !important;
    }
    body.theme-christmas .stat-card-glass:hover {
      border-color: #fde047 !important;
      box-shadow: 0 28px 70px rgba(0, 0, 0, 0.98), 0 0 45px rgba(225, 29, 72, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
    }
    body.theme-christmas .stat-card-glare {
      background: radial-gradient(circle 200px at var(--glare-x, 50%) var(--glare-y, 50%), rgba(225, 29, 72, 0.22) 0%, transparent 80%) !important;
    }
    body.theme-christmas .stat-icon-wrap {
      border-color: rgba(253, 224, 71, 0.6) !important;
      background: radial-gradient(circle at 35% 35%, rgba(225, 29, 72, 0.35) 0%, rgba(18, 14, 22, 0.95) 100%) !important;
      color: #fde047 !important;
      box-shadow: 0 4px 18px rgba(0, 0, 0, 0.7), 0 0 22px rgba(225, 29, 72, 0.3) !important;
    }
    body.theme-christmas .stat-card-glass:hover .stat-icon-wrap {
      border-color: #fde047 !important;
      box-shadow: 0 0 30px rgba(253, 224, 71, 0.75) !important;
    }
    body.theme-christmas .stat-icon,
    body.theme-christmas .stat-icon-wrap svg,
    body.theme-christmas .stat-icon-wrap path,
    body.theme-christmas .stat-icon-wrap i {
      color: #fde047 !important;
      fill: #fde047 !important;
    }
    body.theme-christmas .stat-pill-badge {
      border-color: rgba(253, 224, 71, 0.4) !important;
      background: rgba(225, 29, 72, 0.15) !important;
      color: #fef08a !important;
    }
    body.theme-christmas .stat-pill-badge svg,
    body.theme-christmas .stat-pill-badge path,
    body.theme-christmas .stat-pill-badge i {
      color: #fde047 !important;
      fill: #fde047 !important;
    }
    body.theme-christmas .stat-card-glass:hover .stat-pill-badge {
      background: rgba(225, 29, 72, 0.28) !important;
      border-color: #fde047 !important;
      color: #ffffff !important;
      box-shadow: 0 0 22px rgba(225, 29, 72, 0.5) !important;
    }

    /* 6. Títulos de Sección & Marcas de Agua */
    body.theme-christmas .section-tag,
    body.theme-christmas .section-sub-badge,
    body.theme-christmas .spotlight-badge {
      color: #fde047 !important;
      border-color: rgba(253, 224, 71, 0.4) !important;
      background: rgba(225, 29, 72, 0.12) !important;
    }
    body.theme-christmas .section-floating-watermark,
    body.theme-christmas .team-watermark-text,
    body.theme-christmas .section-watermark-title {
      -webkit-text-stroke: 1px rgba(253, 224, 71, 0.22) !important;
      color: transparent !important;
    }

    /* 7. Sección de Equipo */
    body.theme-christmas .team-editorial-stage {
      border-color: rgba(253, 224, 71, 0.35) !important;
    }
    body.theme-christmas .team-sculpture-frame {
      border-color: rgba(253, 224, 71, 0.45) !important;
      box-shadow: 0 35px 90px rgba(0, 0, 0, 0.95), 0 0 45px rgba(225, 29, 72, 0.25) !important;
      background: radial-gradient(circle at 50% 30%, rgba(225, 29, 72, 0.18) 0%, #0c0a10 80%) !important;
    }
    body.theme-christmas .team-floating-badge {
      background: rgba(18, 12, 22, 0.92) !important;
      border: 1.5px solid rgba(253, 224, 71, 0.5) !important;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.8), 0 0 15px rgba(225, 29, 72, 0.3) !important;
    }
    body.theme-christmas .team-badge-role,
    body.theme-christmas .team-role-badge,
    body.theme-christmas .team-editorial-role-badge,
    body.theme-christmas #showcaseBadgeRoleWrap {
      color: #fef08a !important;
    }
    body.theme-christmas .team-badge-role svg,
    body.theme-christmas .team-badge-role path,
    body.theme-christmas .team-badge-role i,
    body.theme-christmas .team-badge-gem,
    body.theme-christmas .team-role-badge i,
    body.theme-christmas .team-editorial-role-badge i,
    body.theme-christmas #showcaseBadgeRoleWrap svg,
    body.theme-christmas #showcaseBadgeRoleWrap path,
    body.theme-christmas #showcaseBadgeRoleWrap i {
      color: #fde047 !important;
      fill: #fde047 !important;
    }
    body.theme-christmas .team-signature-title {
      color: #fde047 !important;
    }
    body.theme-christmas .team-spec-capsule {
      border: 1.5px solid rgba(253, 224, 71, 0.35) !important;
      background: rgba(18, 12, 22, 0.88) !important;
    }
    body.theme-christmas .team-spec-capsule:hover {
      background: rgba(28, 18, 34, 0.95) !important;
      border-color: #fde047 !important;
      box-shadow: 0 10px 28px rgba(225, 29, 72, 0.3) !important;
    }
    body.theme-christmas .team-spec-icon-wrap,
    body.theme-christmas .team-spec-icon-wrap svg,
    body.theme-christmas .team-spec-icon-wrap path,
    body.theme-christmas .team-spec-icon-wrap i {
      color: #fde047 !important;
      fill: #fde047 !important;
    }
    body.theme-christmas .team-spec-label {
      color: #fde047 !important;
    }
    body.theme-christmas .team-spec-card {
      border: 1.5px solid rgba(253, 224, 71, 0.35) !important;
      background: rgba(18, 12, 22, 0.88) !important;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.75), inset 0 1px 0 rgba(253, 224, 71, 0.15) !important;
    }
    body.theme-christmas .team-spec-card:hover {
      border-color: rgba(253, 224, 71, 0.7) !important;
      box-shadow: 0 12px 35px rgba(0, 0, 0, 0.85), 0 0 20px rgba(225, 29, 72, 0.25) !important;
    }
    body.theme-christmas .team-spec-card-icon,
    body.theme-christmas .team-editorial-specs-title,
    body.theme-christmas .team-editorial-specs-title i {
      color: #fde047 !important;
      fill: #fde047 !important;
      filter: drop-shadow(0 0 8px rgba(234, 179, 8, 0.5)) !important;
    }
    body.theme-christmas .team-spec-card-label {
      color: #fde047 !important;
    }
    body.theme-christmas .team-spec-tag,
    body.theme-christmas .team-spec-pill {
      background: rgba(225, 29, 72, 0.12) !important;
      border: 1px solid rgba(253, 224, 71, 0.35) !important;
      color: #f1f5f9 !important;
    }
    body.theme-christmas .team-spec-tag:hover,
    body.theme-christmas .team-spec-pill:hover {
      background: rgba(225, 29, 72, 0.25) !important;
      border-color: #fde047 !important;
      color: #ffffff !important;
      box-shadow: 0 4px 14px rgba(225, 29, 72, 0.3) !important;
    }
    body.theme-christmas .team-dock-btn.active {
      background: linear-gradient(135deg, rgba(225, 29, 72, 0.35) 0%, rgba(20, 15, 25, 0.95) 100%) !important;
      border-color: #fde047 !important;
      color: #fef08a !important;
      box-shadow: 0 0 20px rgba(225, 29, 72, 0.5) !important;
    }
    body.theme-christmas .team-dock-avatar {
      border-color: #fde047 !important;
    }
    body.theme-christmas .team-nav-arrow-btn {
      border: 1.5px solid rgba(253, 224, 71, 0.4) !important;
      color: #fde047 !important;
    }
    body.theme-christmas .team-nav-arrow-btn:hover {
      border-color: #fde047 !important;
      background: rgba(225, 29, 72, 0.25) !important;
      box-shadow: 0 0 20px rgba(225, 29, 72, 0.5) !important;
      color: #ffffff !important;
    }

    /* 8. Sección de Servicios */
    body.theme-christmas .service-pillar-card {
      border: 1.5px solid rgba(253, 224, 71, 0.3) !important;
    }
    body.theme-christmas .service-pillar-card:hover {
      border-color: #fde047 !important;
      box-shadow: 0 30px 70px rgba(0, 0, 0, 0.95), 0 0 35px rgba(225, 29, 72, 0.3) !important;
    }
    body.theme-christmas .pillar-num,
    body.theme-christmas .service-pillar-num {
      color: #fde047 !important;
    }
    body.theme-christmas .pillar-badge,
    body.theme-christmas .service-pillar-badge {
      color: #fef08a !important;
      border-color: rgba(253, 224, 71, 0.45) !important;
      background: rgba(225, 29, 72, 0.12) !important;
    }
    body.theme-christmas .pillar-subtitle {
      color: #fde047 !important;
    }
    body.theme-christmas .pillar-media-col {
      border-color: rgba(253, 224, 71, 0.35) !important;
      background: radial-gradient(circle at center, rgba(225, 29, 72, 0.15) 0%, #0c0810 100%) !important;
    }
    body.theme-christmas .pillar-emblem-icon-wrap,
    body.theme-christmas .service-pillar-icon {
      border-color: #fde047 !important;
      background: rgba(0, 0, 0, 0.65) !important;
      box-shadow: 0 0 25px rgba(234, 179, 8, 0.45) !important;
    }
    body.theme-christmas .pillar-emblem-icon-wrap i,
    body.theme-christmas .pillar-emblem-icon-wrap svg,
    body.theme-christmas .pillar-emblem-icon-wrap path,
    body.theme-christmas .service-pillar-icon i,
    body.theme-christmas .service-pillar-icon svg,
    body.theme-christmas .service-pillar-icon path {
      color: #fde047 !important;
      fill: #fde047 !important;
    }
    body.theme-christmas .pillar-emblem-title,
    body.theme-christmas .service-pillar-emblem {
      color: #fde047 !important;
    }
    body.theme-christmas .service-pillar-item i {
      color: #fde047 !important;
    }

    /* 9. Sección de Galería */
    body.theme-christmas .comparison-container {
      border-color: rgba(253, 224, 71, 0.85) !important;
      box-shadow: 0 25px 70px rgba(0, 0, 0, 0.95), 0 0 35px rgba(225, 29, 72, 0.25) !important;
    }
    body.theme-christmas .gallery-cat-card {
      border: 1.5px solid rgba(253, 224, 71, 0.3) !important;
    }
    body.theme-christmas .gallery-cat-card:hover {
      border-color: #fde047 !important;
      box-shadow: 0 22px 55px rgba(0, 0, 0, 0.95), 0 0 35px rgba(225, 29, 72, 0.5) !important;
    }
    body.theme-christmas .gallery-cat-gold-frame {
      border-color: rgba(253, 224, 71, 0.2) !important;
    }
    body.theme-christmas .gallery-cat-card:hover .gallery-cat-gold-frame {
      border-color: rgba(253, 224, 71, 0.85) !important;
      box-shadow: inset 0 0 16px rgba(225, 29, 72, 0.4) !important;
    }
    body.theme-christmas .gallery-cat-explore-btn,
    body.theme-christmas .gallery-cat-hover-btn {
      background: linear-gradient(135deg, #fef08a 0%, #eab308 50%, #b45309 100%) !important;
      color: #0c0a09 !important;
      font-weight: 800 !important;
      box-shadow: 0 4px 18px rgba(0,0,0,0.85), 0 0 15px rgba(234, 179, 8, 0.6) !important;
    }
    body.theme-christmas .gallery-cat-wing.left {
      background: linear-gradient(to left, #fde047, transparent) !important;
    }
    body.theme-christmas .gallery-cat-wing.right {
      background: linear-gradient(to right, #fde047, transparent) !important;
    }
    body.theme-christmas .gallery-cat-title {
      color: #ffffff !important;
    }
    body.theme-christmas .gallery-cat-card:hover .gallery-cat-title {
      color: #fde047 !important;
      text-shadow: 0 0 14px rgba(234, 179, 8, 0.6), 0 2px 10px rgba(0, 0, 0, 0.95) !important;
    }
    body.theme-christmas .gallery-cat-badge {
      background: rgba(225, 29, 72, 0.2) !important;
      border-color: rgba(253, 224, 71, 0.45) !important;
      color: #fef08a !important;
    }

    /* 10. Sección de Contacto, Mapa & Horarios */
    body.theme-christmas .contact-card {
      border: 1.5px solid rgba(253, 224, 71, 0.35) !important;
    }
    body.theme-christmas .contact-card:hover {
      border-color: #fde047 !important;
      box-shadow: 0 25px 60px rgba(0,0,0,0.95), 0 0 35px rgba(225, 29, 72, 0.35) !important;
    }
    body.theme-christmas .contact-map-hud-bar {
      border: 1.5px solid rgba(253, 224, 71, 0.5) !important;
    }
    body.theme-christmas .map-hud-text strong {
      color: #fde047 !important;
    }
    body.theme-christmas .map-hud-action-btn {
      background: linear-gradient(135deg, #fef08a 0%, #eab308 50%, #b45309 100%) !important;
      color: #0c0a09 !important;
      box-shadow: 0 2px 10px rgba(234, 179, 8, 0.4) !important;
    }
    body.theme-christmas .btn-call-monolith {
      background: linear-gradient(135deg, #fef08a 0%, #eab308 45%, #b45309 100%) !important;
      color: #0c0a09 !important;
      box-shadow: 0 4px 20px rgba(234, 179, 8, 0.5) !important;
    }
    body.theme-christmas .btn-call-monolith:hover {
      box-shadow: 0 8px 30px rgba(253, 224, 71, 0.9), 0 0 15px rgba(225, 29, 72, 0.6) !important;
    }
    body.theme-christmas .chrono-day-card.is-today {
      background: rgba(28, 16, 26, 0.96) !important;
      border: 1.5px solid #fde047 !important;
      box-shadow: 0 0 25px rgba(225, 29, 72, 0.45), inset 0 0 15px rgba(253, 224, 71, 0.15) !important;
    }
    body.theme-christmas .chrono-today-tag {
      background: linear-gradient(135deg, #f43f5e 0%, #e11d48 100%) !important;
      color: #ffffff !important;
      box-shadow: 0 2px 8px rgba(225, 29, 72, 0.6) !important;
    }
    body.theme-christmas .luxury-pin-badge {
      border: 1.5px solid #fde047 !important;
      box-shadow: 0 10px 25px rgba(0,0,0,0.8), 0 0 20px rgba(225, 29, 72, 0.5) !important;
    }
    body.theme-christmas .luxury-pin-arrow {
      border-top-color: #fde047 !important;
    }
    body.theme-christmas .luxury-pin-stem {
      background: #fde047 !important;
      box-shadow: 0 0 6px rgba(253, 224, 71, 0.7) !important;
    }

    /* 11. Pie de Página (Footer) */
    body.theme-christmas .luxury-footer {
      border-top-color: rgba(253, 224, 71, 0.3) !important;
    }
    body.theme-christmas .footer-col-title {
      color: #fde047 !important;
    }
    body.theme-christmas .footer-phone-link,
    body.theme-christmas .footer-links a[href^="tel:"] {
      color: #fde047 !important;
    }
    body.theme-christmas .footer-phone-link:hover,
    body.theme-christmas .footer-links a[href^="tel:"]:hover {
      color: #ffffff !important;
      text-shadow: 0 0 10px rgba(225, 29, 72, 0.8) !important;
    }
    body.theme-christmas .footer-links a:hover {
      color: #fde047 !important;
    }
    body.theme-christmas .footer-legal-links a:hover {
      color: #fde047 !important;
    }

    /* 12. Lightbox Cinemático y Modales */
    body.theme-christmas .gallery-lightbox-modal {
      background: rgba(6, 4, 10, 0.96) !important;
    }
    body.theme-christmas .lightbox-top-bar {
      border-bottom: 1px solid rgba(253, 224, 71, 0.35) !important;
      background: rgba(12, 8, 16, 0.85) !important;
    }
    body.theme-christmas .lightbox-category-badge,
    body.theme-christmas .lightbox-cat-badge,
    body.theme-christmas #lightboxPhotoTitleText,
    body.theme-christmas #ratingTitle,
    body.theme-christmas .legal-meta-box a {
      color: #fde047 !important;
    }
    body.theme-christmas .lightbox-counter-badge {
      background: rgba(225, 29, 72, 0.2) !important;
      border: 1px solid rgba(253, 224, 71, 0.5) !important;
      color: #ffffff !important;
    }
    body.theme-christmas .lightbox-nav-btn {
      background: rgba(18, 12, 24, 0.45) !important;
      backdrop-filter: blur(8px) !important;
      -webkit-backdrop-filter: blur(8px) !important;
      border: 1.5px solid rgba(253, 224, 71, 0.5) !important;
      color: #fde047 !important;
      box-shadow: 0 4px 20px rgba(0,0,0,0.6) !important;
    }
    body.theme-christmas .lightbox-nav-btn:hover {
      background: rgba(253, 224, 71, 0.25) !important;
      border-color: #fde047 !important;
      color: #ffffff !important;
      box-shadow: 0 0 25px rgba(253, 224, 71, 0.85) !important;
    }
    body.theme-christmas .lightbox-cinema-img {
      border: 2px solid rgba(253, 224, 71, 0.6) !important;
      box-shadow: 0 25px 80px rgba(0, 0, 0, 0.95), 0 0 35px rgba(225, 29, 72, 0.4) !important;
    }
    body.theme-christmas .lightbox-filmstrip-bar {
      background: rgba(12, 8, 16, 0.92) !important;
      border-top: 1px solid rgba(253, 224, 71, 0.25) !important;
    }
    body.theme-christmas .lightbox-film-thumb.active {
      border-color: #fde047 !important;
      box-shadow: 0 0 14px rgba(225, 29, 72, 0.8), inset 0 0 6px rgba(253, 224, 71, 0.5) !important;
    }
    body.theme-christmas .legal-modal-card {
      border: 1.5px solid rgba(253, 224, 71, 0.45) !important;
      box-shadow: 0 25px 80px rgba(0, 0, 0, 0.95), 0 0 40px rgba(225, 29, 72, 0.3) !important;
      background: rgba(14, 10, 18, 0.98) !important;
    }
    body.theme-christmas .legal-modal-header {
      border-bottom: 1px solid rgba(253, 224, 71, 0.25) !important;
    }
    body.theme-christmas .legal-tab-btn {
      background: rgba(255, 255, 255, 0.05) !important;
      border: 1px solid rgba(253, 224, 71, 0.3) !important;
      color: #cbd5e1 !important;
    }
    body.theme-christmas .legal-tab-btn.active {
      background: linear-gradient(135deg, #f43f5e 0%, #e11d48 50%, #9f1239 100%) !important;
      color: #ffffff !important;
      border-color: #fde047 !important;
      box-shadow: 0 2px 14px rgba(225, 29, 72, 0.6) !important;
    }
    body.theme-christmas .legal-doc-title,
    body.theme-christmas .legal-modal-body h3,
    body.theme-christmas .legal-info-title {
      color: #fde047 !important;
    }
    body.theme-christmas .legal-email-link,
    body.theme-christmas .legal-modal-body a {
      color: #fde047 !important;
    }
    body.theme-christmas .booking-step-badge.active,
    body.theme-christmas .booking-service-card.selected {
      border-color: #fde047 !important;
      background: rgba(225, 29, 72, 0.18) !important;
      box-shadow: 0 0 20px rgba(225, 29, 72, 0.45) !important;
    }
    body.theme-christmas .booking-wizard-btn-primary {
      background: linear-gradient(135deg, #fef08a 0%, #eab308 45%, #b45309 100%) !important;
      color: #0c0a09 !important;
      font-weight: 800 !important;
      box-shadow: 0 4px 18px rgba(234, 179, 8, 0.5) !important;
    }

    /* ══════════════════════════════════════════════════════════════════════
       ESTILOS INTEGRALES DEL MODO HALLOWEEN (GÓTICO, TENEBROSO & LUJO)
       ══════════════════════════════════════════════════════════════════════ */
    body.theme-halloween .brand-gold,
    body.theme-halloween .gold-gradient-text,
    body.theme-halloween .portal-brand-highlight,
    body.theme-halloween .pin-brand-gold,
    body.theme-halloween .hero-title-main,
    body.theme-halloween .nav-brand-title,
    body.theme-halloween .team-signature-name,
    body.theme-halloween .section-title span {
      background: linear-gradient(180deg, #ffffff 0%, #fed7aa 28%, #f97316 68%, #ea580c 100%) !important;
      -webkit-background-clip: text !important;
      -webkit-text-fill-color: transparent !important;
      filter: drop-shadow(0 2px 14px rgba(249, 115, 22, 0.6)) drop-shadow(0 0 24px rgba(168, 85, 247, 0.35)) !important;
    }
    body.theme-halloween .hero-subtitle {
      color: #cbd5e1 !important;
      text-shadow: 0 2px 10px rgba(0, 0, 0, 0.9);
    }
    body.theme-halloween .hero-subtitle strong {
      color: #e9d5ff !important;
      text-shadow: 0 0 10px rgba(168, 85, 247, 0.7);
      font-weight: 700;
    }
    body.theme-halloween .nav-brand-sub {
      color: #cbd5e1 !important;
      text-shadow: 0 0 8px rgba(168, 85, 247, 0.6) !important;
    }
    body.theme-halloween .hero-brand-logo,
    body.theme-halloween .nav-logo-img,
    body.theme-halloween .portal-logo-img {
      filter: none !important;
    }
    body.theme-halloween .scroll-progress-laser {
      background: linear-gradient(90deg, #9333ea, #c084fc, #f97316, #9333ea) !important;
      box-shadow: 0 0 14px rgba(168, 85, 247, 0.9) !important;
    }

    /* Barra de Navegación Halloween (Exterior Naranja, Botones Marco Morado) */
    body.theme-halloween .luxury-navbar {
      border: 1.5px solid #f97316 !important;
      background: rgba(10, 6, 16, 0.94) !important;
      box-shadow: 0 12px 35px rgba(0, 0, 0, 0.95), 0 0 28px rgba(249, 115, 22, 0.45), 0 0 12px rgba(168, 85, 247, 0.3) !important;
    }
    body.theme-halloween .nav-tabs-group {
      border: 1.5px solid rgba(168, 85, 247, 0.5) !important;
      background: rgba(0, 0, 0, 0.75) !important;
    }
    body.theme-halloween .nav-tab-btn {
      color: #cbd5e1 !important;
      border: 1.5px solid rgba(192, 132, 252, 0.4) !important;
    }
    body.theme-halloween .nav-tab-btn:hover {
      color: #ffffff !important;
      border-color: #c084fc !important;
      background: rgba(147, 51, 234, 0.28) !important;
    }
    body.theme-halloween .nav-tab-btn.active {
      background: linear-gradient(180deg, #a855f7 0%, #7e22ce 50%, #581c87 100%) !important;
      color: #ffffff !important;
      border: 1.5px solid #c084fc !important;
      box-shadow: 0 0 20px rgba(168, 85, 247, 0.8), 0 0 10px rgba(234, 88, 12, 0.4) !important;
    }
    body.theme-halloween .nav-cta-btn {
      background: linear-gradient(180deg, #fb923c 0%, #ea580c 50%, #c2410c 100%) !important;
      color: #ffffff !important;
      font-weight: 800 !important;
      border: 1.5px solid #c084fc !important;
      box-shadow: 0 0 25px rgba(234, 88, 12, 0.7), 0 0 12px rgba(168, 85, 247, 0.5) !important;
    }
    body.theme-halloween .nav-cta-btn:hover {
      background: linear-gradient(180deg, #fed7aa 0%, #f97316 50%, #ea580c 100%) !important;
      border-color: #e9d5ff !important;
      box-shadow: 0 0 35px rgba(249, 115, 22, 0.95), 0 0 16px rgba(168, 85, 247, 0.7) !important;
    }
    body.theme-halloween .nav-cta-btn.has-active-appointment {
      background: linear-gradient(180deg, #a855f7 0%, #7e22ce 50%, #581c87 100%) !important;
      color: #ffffff !important;
      font-weight: 800 !important;
      border: 1.5px solid #c084fc !important;
      box-shadow: 0 0 22px rgba(168, 85, 247, 0.85), 0 0 10px rgba(234, 88, 12, 0.45) !important;
    }
    body.theme-halloween .nav-cta-btn.has-active-appointment:hover {
      background: linear-gradient(180deg, #c084fc 0%, #a855f7 50%, #7e22ce 100%) !important;
      border-color: #f3e8ff !important;
      box-shadow: 0 0 32px rgba(168, 85, 247, 0.95), 0 0 14px rgba(234, 88, 12, 0.6) !important;
    }
    body.theme-halloween .mobile-nav-item.mobile-nav-item-cta,
    body.theme-halloween .mobile-nav-item.mobile-nav-item-cta.has-active-appointment {
      display: none !important;
    }
    body.theme-halloween .nav-mobile-toggle,
    body.theme-halloween .nav-login-btn {
      color: #c084fc !important;
      border: 1.5px solid #c084fc !important;
    }
    body.theme-halloween .mobile-nav-dropdown {
      border-color: rgba(168, 85, 247, 0.45) !important;
      box-shadow: 0 20px 60px rgba(0,0,0,0.95), 0 0 35px rgba(147, 51, 234, 0.35) !important;
    }
    body.theme-halloween .mobile-nav-item.active {
      background: linear-gradient(180deg, #a855f7 0%, #7e22ce 50%, #581c87 100%) !important;
      color: #ffffff !important;
    }

    /* Hero Logo Aura Halloween */
    body.theme-halloween .hero-grand-logo-wrap {
      position: relative;
    }
    body.theme-halloween .hero-grand-logo-wrap::before {
      content: '';
      position: absolute;
      inset: -25%;
      border-radius: 50%;
      background: radial-gradient(circle at 50% 50%, rgba(147, 51, 234, 0.3) 0%, rgba(234, 88, 12, 0.25) 35%, rgba(168, 85, 247, 0.1) 60%, transparent 75%) !important;
      filter: blur(55px);
      pointer-events: none;
      z-index: -1;
      animation: spookyHalloweenGlow 6s ease-in-out infinite alternate;
    }
    @keyframes spookyHalloweenGlow {
      0% { transform: scale(0.95); opacity: 0.75; }
      50% { transform: scale(1.1); opacity: 1; filter: blur(65px); }
      100% { transform: scale(0.98); opacity: 0.85; }
    }

    /* Redes Sociales y Botones */
    body.theme-halloween .portal-social-row svg {
      fill: #ffffff !important;
      background: rgba(147, 51, 234, 0.2) !important;
      border: 3px solid #c084fc !important;
      filter: drop-shadow(0 0 16px rgba(192, 132, 252, 0.85)) drop-shadow(0 0 6px rgba(234, 88, 12, 0.5)) !important;
    }
    body.theme-halloween .portal-social-row a:nth-child(2) svg {
      border-color: #ea580c !important;
      background: rgba(234, 88, 12, 0.2) !important;
      filter: drop-shadow(0 0 16px rgba(234, 88, 12, 0.85)) drop-shadow(0 0 6px rgba(147, 51, 234, 0.5)) !important;
    }
    body.theme-halloween .portal-social-row a:nth-child(3) svg {
      border-color: #c084fc !important;
      background: rgba(147, 51, 234, 0.2) !important;
      filter: drop-shadow(0 0 16px rgba(192, 132, 252, 0.85)) drop-shadow(0 0 6px rgba(234, 88, 12, 0.5)) !important;
    }
    body.theme-halloween .social-hover-chip {
      background: rgba(12, 8, 18, 0.95) !important;
      border: 1px solid rgba(168, 85, 247, 0.65) !important;
      color: #e9d5ff !important;
      text-shadow: 0 0 10px rgba(168, 85, 247, 0.6) !important;
      box-shadow: 0 10px 25px rgba(0, 0, 0, 0.85), 0 0 20px rgba(147, 51, 234, 0.4) !important;
    }
    body.theme-halloween .btn-glass-secondary {
      background: rgba(147, 51, 234, 0.22) !important;
      border-color: rgba(168, 85, 247, 0.6) !important;
      color: #f3e8ff !important;
      box-shadow: 0 0 20px rgba(147, 51, 234, 0.35) !important;
    }
    body.theme-halloween .btn-glass-secondary:hover {
      background: linear-gradient(135deg, rgba(147, 51, 234, 0.4) 0%, rgba(234, 88, 12, 0.35) 100%) !important;
      border-color: #c084fc !important;
      color: #ffffff !important;
      box-shadow: 0 0 30px rgba(192, 132, 252, 0.6) !important;
    }

    /* Tarjetas de Estadísticas */
    body.theme-halloween .stat-card-glass {
      border-color: rgba(168, 85, 247, 0.35) !important;
      box-shadow: 0 20px 50px rgba(0, 0, 0, 0.95), 0 0 30px rgba(147, 51, 234, 0.25), inset 0 1px 0 rgba(233, 213, 255, 0.12) !important;
    }
    body.theme-halloween .stat-card-glass::before {
      background: linear-gradient(90deg, transparent, #c084fc, transparent) !important;
      box-shadow: 0 0 14px #a855f7 !important;
    }
    body.theme-halloween .stat-card-glass:hover {
      border-color: #f97316 !important;
      box-shadow: 0 28px 70px rgba(0, 0, 0, 0.98), 0 0 45px rgba(249, 115, 22, 0.45), 0 0 20px rgba(168, 85, 247, 0.3) !important;
    }
    body.theme-halloween .stat-card-glass:hover::before {
      background: linear-gradient(90deg, transparent, #f97316, transparent) !important;
      box-shadow: 0 0 18px #f97316 !important;
    }
    body.theme-halloween .stat-card-glare {
      background: radial-gradient(circle 200px at var(--glare-x, 50%) var(--glare-y, 50%), rgba(168, 85, 247, 0.25) 0%, transparent 80%) !important;
    }
    body.theme-halloween .stat-icon-wrap {
      border-color: rgba(168, 85, 247, 0.7) !important;
      background: radial-gradient(circle at 35% 35%, rgba(147, 51, 234, 0.4) 0%, rgba(18, 10, 26, 0.95) 100%) !important;
      color: #c084fc !important;
      box-shadow: 0 4px 18px rgba(0, 0, 0, 0.7), 0 0 22px rgba(168, 85, 247, 0.45) !important;
    }
    body.theme-halloween .stat-card-glass:hover .stat-icon-wrap {
      border-color: #f97316 !important;
      box-shadow: 0 0 30px rgba(249, 115, 22, 0.75) !important;
    }
    body.theme-halloween .stat-icon-wrap svg,
    body.theme-halloween .stat-icon-wrap path,
    body.theme-halloween .stat-icon-wrap i {
      color: #c084fc !important;
      fill: #c084fc !important;
    }
    body.theme-halloween .stat-pill-badge {
      border-color: rgba(168, 85, 247, 0.5) !important;
      background: rgba(147, 51, 234, 0.22) !important;
      color: #e9d5ff !important;
      box-shadow: 0 0 12px rgba(147, 51, 234, 0.3) !important;
    }
    body.theme-halloween .stat-card-glass:hover .stat-pill-badge {
      background: rgba(234, 88, 12, 0.25) !important;
      border-color: #f97316 !important;
      box-shadow: 0 0 16px rgba(249, 115, 22, 0.4) !important;
    }

    /* Títulos de Sección & Badges */
    body.theme-halloween .section-tag,
    body.theme-halloween .section-sub-badge,
    body.theme-halloween .spotlight-badge {
      color: #e9d5ff !important;
      border-color: rgba(168, 85, 247, 0.55) !important;
      background: rgba(147, 51, 234, 0.22) !important;
      box-shadow: 0 0 15px rgba(147, 51, 234, 0.35) !important;
    }
    body.theme-halloween .section-floating-watermark,
    body.theme-halloween .team-watermark-text,
    body.theme-halloween .section-watermark-title {
      -webkit-text-stroke: 1px rgba(168, 85, 247, 0.28) !important;
      color: transparent !important;
    }

    /* 7. Sección de Equipo */
    body.theme-halloween .team-editorial-stage {
      border: none !important;
      box-shadow: none !important;
    }
    body.theme-halloween .team-sculpture-frame {
      border: 1.5px solid rgba(249, 115, 22, 0.6) !important;
      box-shadow: 0 35px 90px rgba(0, 0, 0, 0.95), 0 0 35px rgba(249, 115, 22, 0.3) !important;
      background: radial-gradient(circle at 50% 30%, rgba(147, 51, 234, 0.22) 0%, #0a0612 80%) !important;
    }
    body.theme-halloween .team-floating-badge {
      background: rgba(20, 10, 32, 0.95) !important;
      border: 1.5px solid rgba(168, 85, 247, 0.65) !important;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.8), 0 0 20px rgba(147, 51, 234, 0.45) !important;
    }
    body.theme-halloween .team-badge-role,
    body.theme-halloween .team-role-badge,
    body.theme-halloween .team-editorial-role-badge,
    body.theme-halloween #showcaseBadgeRoleWrap {
      color: #e9d5ff !important;
    }
    body.theme-halloween .team-badge-role svg,
    body.theme-halloween .team-badge-role path,
    body.theme-halloween .team-badge-role i,
    body.theme-halloween .team-badge-gem,
    body.theme-halloween .team-role-badge i,
    body.theme-halloween .team-editorial-role-badge i,
    body.theme-halloween #showcaseBadgeRoleWrap svg,
    body.theme-halloween #showcaseBadgeRoleWrap path,
    body.theme-halloween #showcaseBadgeRoleWrap i {
      color: #c084fc !important;
      fill: #c084fc !important;
    }
    body.theme-halloween .team-signature-title {
      color: #c084fc !important;
    }
    body.theme-halloween .team-spec-capsule {
      border: 1.5px solid #f97316 !important;
      background: rgba(20, 10, 32, 0.92) !important;
      box-shadow: 0 4px 15px rgba(0, 0, 0, 0.7), 0 0 12px rgba(249, 115, 22, 0.25) !important;
    }
    body.theme-halloween .team-spec-capsule:hover {
      background: rgba(36, 16, 54, 0.98) !important;
      border-color: #fb923c !important;
      box-shadow: 0 6px 20px rgba(249, 115, 22, 0.4) !important;
    }
    body.theme-halloween .team-spec-icon-wrap,
    body.theme-halloween .team-spec-icon-wrap svg,
    body.theme-halloween .team-spec-icon-wrap path,
    body.theme-halloween .team-spec-icon-wrap i {
      color: #c084fc !important;
      fill: #c084fc !important;
    }
    body.theme-halloween .team-spec-label {
      color: #e9d5ff !important;
    }
    body.theme-halloween .team-spec-card {
      border: 1.5px solid #f97316 !important;
      background: rgba(20, 10, 32, 0.92) !important;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.75), 0 0 15px rgba(249, 115, 22, 0.25) !important;
    }
    body.theme-halloween .team-spec-card:hover {
      border-color: #fb923c !important;
      box-shadow: 0 12px 35px rgba(0, 0, 0, 0.85), 0 0 22px rgba(249, 115, 22, 0.4) !important;
    }
    body.theme-halloween .team-spec-card-icon,
    body.theme-halloween .team-editorial-specs-title,
    body.theme-halloween .team-editorial-specs-title i {
      color: #c084fc !important;
      fill: #c084fc !important;
      filter: drop-shadow(0 0 8px rgba(168, 85, 247, 0.6)) !important;
    }
    body.theme-halloween .team-spec-card-label {
      color: #c084fc !important;
    }
    body.theme-halloween .team-spec-tag,
    body.theme-halloween .team-spec-pill {
      background: rgba(147, 51, 234, 0.25) !important;
      border: 1px solid rgba(192, 132, 252, 0.5) !important;
      color: #f3e8ff !important;
    }
    body.theme-halloween .team-spec-tag:hover,
    body.theme-halloween .team-spec-pill:hover {
      background: rgba(168, 85, 247, 0.4) !important;
      border-color: #c084fc !important;
      color: #ffffff !important;
      box-shadow: 0 4px 16px rgba(168, 85, 247, 0.5) !important;
    }
    body.theme-halloween .team-spec-tag-bullet {
      color: #c084fc !important;
    }
    body.theme-halloween .team-quote-container {
      border-left: 3.5px solid #f97316 !important;
      background: rgba(20, 10, 32, 0.75) !important;
      box-shadow: 0 14px 35px rgba(0, 0, 0, 0.65), 0 0 15px rgba(249, 115, 22, 0.15) !important;
    }
    body.theme-halloween .team-quote-icon {
      color: rgba(192, 132, 252, 0.35) !important;
    }
    body.theme-halloween .team-spec-motto-icon {
      color: #c084fc !important;
    }
    body.theme-halloween .team-selector-dock {
      border-top-color: rgba(168, 85, 247, 0.3) !important;
    }
    body.theme-halloween .team-dock-btn,
    body.theme-halloween .team-pill-btn {
      background: rgba(16, 8, 26, 0.85) !important;
      border: 1.5px solid rgba(168, 85, 247, 0.45) !important;
      color: #e9d5ff !important;
      box-shadow: 0 4px 15px rgba(0, 0, 0, 0.6) !important;
    }
    body.theme-halloween .team-dock-btn:hover,
    body.theme-halloween .team-pill-btn:hover {
      background: rgba(147, 51, 234, 0.3) !important;
      border-color: #c084fc !important;
      color: #ffffff !important;
      box-shadow: 0 0 20px rgba(168, 85, 247, 0.5) !important;
    }
    body.theme-halloween .team-dock-btn.active,
    body.theme-halloween button.team-dock-btn.active,
    body.theme-halloween .team-pill-btn.active {
      background: linear-gradient(180deg, #9333ea 0%, #7e22ce 50%, #581c87 100%) !important;
      border: 1.5px solid #c084fc !important;
      color: #ffffff !important;
      box-shadow: 0 0 22px rgba(168, 85, 247, 0.8), 0 0 8px rgba(234, 88, 12, 0.4) !important;
    }
    body.theme-halloween .team-dock-avatar {
      border: 2px solid #c084fc !important;
      box-shadow: 0 0 10px rgba(168, 85, 247, 0.7) !important;
    }
    body.theme-halloween .team-nav-arrow-btn {
      border: 1.5px solid rgba(168, 85, 247, 0.5) !important;
      color: #c084fc !important;
    }
    /* 8. Sección de Servicios */
    body.theme-halloween .service-pillar-card {
      border: 1.5px solid rgba(168, 85, 247, 0.35) !important;
    }
    body.theme-halloween .service-pillar-card:hover {
      border-color: #c084fc !important;
      box-shadow: 0 30px 70px rgba(0, 0, 0, 0.95), 0 0 35px rgba(168, 85, 247, 0.45) !important;
    }
    body.theme-halloween .pillar-num,
    body.theme-halloween .service-pillar-num {
      color: #c084fc !important;
    }
    body.theme-halloween .pillar-badge,
    body.theme-halloween .service-pillar-badge {
      color: #e9d5ff !important;
      border-color: rgba(168, 85, 247, 0.55) !important;
      background: rgba(147, 51, 234, 0.22) !important;
      box-shadow: 0 0 12px rgba(147, 51, 234, 0.3) !important;
    }
    body.theme-halloween .pillar-subtitle {
      color: #f97316 !important;
    }
    body.theme-halloween .pillar-media-col {
      border-color: rgba(168, 85, 247, 0.4) !important;
      background: radial-gradient(circle at center, rgba(147, 51, 234, 0.22) 0%, #0c0812 100%) !important;
    }
    body.theme-halloween .pillar-emblem-icon-wrap,
    body.theme-halloween .service-pillar-icon {
      border-color: #a855f7 !important;
      background: rgba(18, 10, 26, 0.85) !important;
      box-shadow: 0 0 25px rgba(147, 51, 234, 0.5) !important;
    }
    body.theme-halloween .pillar-emblem-icon-wrap i,
    body.theme-halloween .pillar-emblem-icon-wrap svg,
    body.theme-halloween .pillar-emblem-icon-wrap path,
    body.theme-halloween .service-pillar-icon i,
    body.theme-halloween .service-pillar-icon svg,
    body.theme-halloween .service-pillar-icon path {
      color: #c084fc !important;
      fill: #c084fc !important;
    }
    body.theme-halloween .pillar-emblem-title,
    body.theme-halloween .service-pillar-emblem {
      color: #c084fc !important;
    }
    body.theme-halloween .service-pillar-item i {
      color: #c084fc !important;
    }

    /* 9. Sección de Galería */
    body.theme-halloween .comparison-container {
      border-color: rgba(168, 85, 247, 0.75) !important;
      box-shadow: 0 25px 70px rgba(0, 0, 0, 0.95), 0 0 35px rgba(147, 51, 234, 0.35) !important;
    }
    body.theme-halloween .gallery-cat-card {
      border: 1.5px solid rgba(168, 85, 247, 0.35) !important;
    }
    body.theme-halloween .gallery-cat-card:hover {
      border-color: #c084fc !important;
      box-shadow: 0 22px 55px rgba(0, 0, 0, 0.95), 0 0 35px rgba(168, 85, 247, 0.5) !important;
    }
    body.theme-halloween .gallery-cat-gold-frame {
      border-color: rgba(168, 85, 247, 0.3) !important;
    }
    body.theme-halloween .gallery-cat-card:hover .gallery-cat-gold-frame {
      border-color: rgba(192, 132, 252, 0.85) !important;
      box-shadow: inset 0 0 16px rgba(147, 51, 234, 0.5) !important;
    }
    body.theme-halloween .gallery-cat-explore-btn,
    body.theme-halloween .gallery-cat-hover-btn {
      background: linear-gradient(135deg, #c084fc 0%, #9333ea 50%, #ea580c 100%) !important;
      color: #ffffff !important;
      font-weight: 800 !important;
      box-shadow: 0 4px 18px rgba(0,0,0,0.85), 0 0 15px rgba(168, 85, 247, 0.6) !important;
    }
    body.theme-halloween .gallery-cat-wing.left {
      background: linear-gradient(to left, #c084fc, transparent) !important;
    }
    body.theme-halloween .gallery-cat-wing.right {
      background: linear-gradient(to right, #c084fc, transparent) !important;
    }
    body.theme-halloween .gallery-cat-title {
      color: #ffffff !important;
    }
    body.theme-halloween .gallery-cat-card:hover .gallery-cat-title {
      color: #c084fc !important;
      text-shadow: 0 0 14px rgba(168, 85, 247, 0.7), 0 2px 10px rgba(0, 0, 0, 0.95) !important;
    }
    body.theme-halloween .gallery-cat-badge {
      background: rgba(147, 51, 234, 0.25) !important;
      border-color: rgba(192, 132, 252, 0.55) !important;
      color: #e9d5ff !important;
    }

    /* 10. Sección de Contacto, Mapa & Horarios */
    body.theme-halloween .contact-card {
      border: 1.5px solid rgba(168, 85, 247, 0.35) !important;
    }
    body.theme-halloween .contact-card:hover {
      border-color: #c084fc !important;
      box-shadow: 0 25px 60px rgba(0,0,0,0.95), 0 0 35px rgba(168, 85, 247, 0.45) !important;
    }
    body.theme-halloween .contact-map-hud-bar {
      border: 1.5px solid rgba(168, 85, 247, 0.55) !important;
    }
    body.theme-halloween .map-hud-text strong {
      color: #c084fc !important;
    }
    body.theme-halloween .map-hud-action-btn {
      background: linear-gradient(180deg, #a855f7 0%, #7e22ce 50%, #581c87 100%) !important;
      border: 1px solid rgba(233, 213, 255, 0.6) !important;
      color: #ffffff !important;
      box-shadow: 0 0 15px rgba(147, 51, 234, 0.6) !important;
    }
    body.theme-halloween .map-hud-action-btn:hover {
      background: linear-gradient(180deg, #c084fc 0%, #9333ea 50%, #7e22ce 100%) !important;
      box-shadow: 0 0 22px rgba(192, 132, 252, 0.8) !important;
    }
    body.theme-halloween .contact-access-capsule {
      background: rgba(18, 10, 26, 0.92) !important;
      border: 1.5px solid rgba(249, 115, 22, 0.45) !important;
    }
    body.theme-halloween .contact-access-capsule:hover {
      background: rgba(32, 14, 46, 0.95) !important;
      border-color: #f97316 !important;
      box-shadow: 0 8px 25px rgba(249, 115, 22, 0.35) !important;
    }
    body.theme-halloween .capsule-icon-wrap {
      background: rgba(147, 51, 234, 0.25) !important;
      border: 1px solid rgba(168, 85, 247, 0.6) !important;
      color: #c084fc !important;
    }
    body.theme-halloween .capsule-icon-wrap svg,
    body.theme-halloween .capsule-icon-wrap i {
      color: #c084fc !important;
      fill: #c084fc !important;
    }
    body.theme-halloween .capsule-content-title {
      color: #f97316 !important;
    }
    body.theme-halloween .contact-cta-dock {
      background: rgba(14, 8, 22, 0.94) !important;
      border: 1.5px solid rgba(249, 115, 22, 0.45) !important;
      box-shadow: 0 15px 40px rgba(0, 0, 0, 0.9), 0 0 20px rgba(147, 51, 234, 0.25) !important;
    }
    body.theme-halloween .btn-call-monolith {
      background: linear-gradient(180deg, #fb923c 0%, #ea580c 50%, #c2410c 100%) !important;
      border: 1.5px solid rgba(254, 215, 170, 0.7) !important;
      color: #ffffff !important;
      font-weight: 800 !important;
      box-shadow: 0 0 25px rgba(234, 88, 12, 0.75), 0 4px 15px rgba(0, 0, 0, 0.8) !important;
    }
    body.theme-halloween .btn-call-monolith:hover {
      background: linear-gradient(180deg, #fed7aa 0%, #f97316 50%, #ea580c 100%) !important;
      box-shadow: 0 0 35px rgba(249, 115, 22, 0.95), 0 0 15px rgba(168, 85, 247, 0.6) !important;
    }
    body.theme-halloween .contact-social-btn,
    body.theme-halloween .footer-social-icon {
      background: rgba(18, 10, 26, 0.85) !important;
      border: 1.5px solid rgba(168, 85, 247, 0.5) !important;
      color: #c084fc !important;
    }
    body.theme-halloween .contact-social-btn:hover,
    body.theme-halloween .footer-social-icon:hover {
      border-color: #f97316 !important;
      background: rgba(234, 88, 12, 0.25) !important;
      color: #ffffff !important;
      box-shadow: 0 0 14px rgba(249, 115, 22, 0.6) !important;
    }
    body.theme-halloween .chrono-header-title i {
      color: #c084fc !important;
    }
    body.theme-halloween .chrono-status-indicator.morning {
      background: #f97316 !important;
      box-shadow: 0 0 10px #f97316 !important;
    }
    body.theme-halloween .chrono-day-card.is-today {
      background: rgba(30, 16, 26, 0.96) !important;
      border: 1.5px solid #f97316 !important;
      box-shadow: 0 0 25px rgba(234, 88, 12, 0.45), inset 0 0 15px rgba(249, 115, 22, 0.15) !important;
    }
    body.theme-halloween .chrono-today-tag,
    body.theme-halloween .chrono-today-badge,
    body.theme-halloween .chrono-day-badge.today {
      background: linear-gradient(180deg, #f97316 0%, #ea580c 100%) !important;
      color: #ffffff !important;
      box-shadow: 0 2px 8px rgba(234, 88, 12, 0.6) !important;
    }
    body.theme-halloween .map-recenter-btn {
      background: rgba(18, 10, 26, 0.92) !important;
      border: 1.5px solid #f97316 !important;
      color: #f97316 !important;
      box-shadow: 0 4px 15px rgba(0, 0, 0, 0.7), 0 0 12px rgba(249, 115, 22, 0.4) !important;
    }
    body.theme-halloween .map-recenter-btn svg,
    body.theme-halloween .map-recenter-btn path,
    body.theme-halloween .map-recenter-btn i {
      color: #f97316 !important;
      fill: #f97316 !important;
    }
    body.theme-halloween .map-recenter-btn:hover {
      background: rgba(36, 16, 54, 0.98) !important;
      border-color: #c084fc !important;
      color: #c084fc !important;
      box-shadow: 0 0 18px rgba(192, 132, 252, 0.7) !important;
    }
    body.theme-halloween .map-recenter-btn:hover svg,
    body.theme-halloween .map-recenter-btn:hover path,
    body.theme-halloween .map-recenter-btn:hover i {
      color: #c084fc !important;
      fill: #c084fc !important;
    }
    body.theme-halloween .luxury-pin-badge {
      border: 1.5px solid #f97316 !important;
      background: rgba(18, 10, 26, 0.95) !important;
      box-shadow: 0 10px 25px rgba(0,0,0,0.8), 0 0 20px rgba(234, 88, 12, 0.5) !important;
    }
    body.theme-halloween .luxury-pin-badge i,
    body.theme-halloween .luxury-pin-badge svg,
    body.theme-halloween .luxury-pin-badge path {
      color: #c084fc !important;
      fill: #c084fc !important;
    }
    body.theme-halloween .luxury-pin-badge span.pin-brand-gold,
    body.theme-halloween .luxury-pin-badge .pin-brand-gold {
      color: #f97316 !important;
    }
    body.theme-halloween .luxury-pin-arrow {
      border-top-color: #f97316 !important;
    }
    body.theme-halloween .luxury-pin-stem {
      background: #f97316 !important;
      box-shadow: 0 0 8px rgba(249, 115, 22, 0.8) !important;
    }
    body.theme-halloween #lightboxPhotoTitleText {
      color: #f97316 !important;
      text-shadow: 0 0 12px rgba(249, 115, 22, 0.6) !important;
    }
    body.theme-halloween .lightbox-title-line-left {
      background: linear-gradient(90deg, transparent, #f97316) !important;
    }
    body.theme-halloween .lightbox-title-line-right {
      background: linear-gradient(90deg, #f97316, transparent) !important;
    }
    body.theme-halloween #lightboxSplitSliderWrap {
      border-color: #f97316 !important;
      box-shadow: 0 35px 95px rgba(0,0,0,0.98), 0 0 45px rgba(234,88,12,0.5) !important;
    }
    body.theme-halloween #lightboxSplitHandle {
      border-color: #f97316 !important;
      color: #f97316 !important;
      box-shadow: 0 0 12px rgba(249, 115, 22, 0.6) !important;
    }
    body.theme-halloween #lightboxServicesBtn {
      border-color: rgba(168, 85, 247, 0.7) !important;
      color: #c084fc !important;
    }
    body.theme-halloween #lightboxServicesCountBadge {
      background: #f97316 !important;
      color: #ffffff !important;
      border-color: #000000 !important;
    }
    body.theme-halloween #lightboxServicesPopover {
      border-color: rgba(168, 85, 247, 0.5) !important;
    }
    body.theme-halloween #lightboxServicesPopover > div:first-child {
      color: #f97316 !important;
    }

    /* 11. Pie de Página (Footer) */
    body.theme-halloween .luxury-footer {
      border-top-color: rgba(249, 115, 22, 0.3) !important;
    }
    body.theme-halloween .footer-col-title,
    body.theme-halloween .footer-title,
    body.theme-halloween .footer-links-col h4,
    body.theme-halloween .footer-brand-title {
      color: #f97316 !important;
    }
    body.theme-halloween .footer-phone-link,
    body.theme-halloween .footer-links a[href^="tel:"] {
      color: #f97316 !important;
    }
    body.theme-halloween .footer-phone-link:hover,
    body.theme-halloween .footer-links a[href^="tel:"]:hover {
      color: #ffffff !important;
      text-shadow: 0 0 10px rgba(234, 88, 12, 0.8) !important;
    }
    body.theme-halloween .footer-links a:hover,
    body.theme-halloween .footer-legal-links a:hover {
      color: #f97316 !important;
    }

    /* Reseñas y Testimonios */
    body.theme-halloween .reviews-carousel-outer {
      border-color: rgba(249, 115, 22, 0.4) !important;
    }
    body.theme-halloween .review-slide-card {
      background: rgba(14, 8, 22, 0.85) !important;
    }
    body.theme-halloween .review-author-name {
      color: #f97316 !important;
    }
    body.theme-halloween .star-item.active {
      color: #f97316 !important;
      text-shadow: 0 0 8px #ea580c !important;
    }

    /* Asistente de Citas y Modales */
    body.theme-halloween .booking-step-badge.active,
    body.theme-halloween .booking-service-card.selected {
      border-color: #f97316 !important;
      background: rgba(234, 88, 12, 0.18) !important;
      box-shadow: 0 0 20px rgba(234, 88, 12, 0.45) !important;
    }
    body.theme-halloween .booking-wizard-btn-primary {
      background: linear-gradient(135deg, #fed7aa 0%, #f97316 45%, #c2410c 100%) !important;
      color: #0c0512 !important;
      font-weight: 800 !important;
      box-shadow: 0 4px 18px rgba(249, 115, 22, 0.5) !important;
    }

    /* Modal Legal / RGPD en Halloween (Naranja Halloween) */
    body.theme-halloween .legal-modal-card {
      border: 1.5px solid rgba(249, 115, 22, 0.5) !important;
      box-shadow: 0 25px 80px rgba(0, 0, 0, 0.95), 0 0 40px rgba(234, 88, 12, 0.3) !important;
      background: rgba(14, 10, 20, 0.98) !important;
    }
    body.theme-halloween .legal-modal-header {
      border-bottom: 1px solid rgba(249, 115, 22, 0.3) !important;
      background: rgba(8, 5, 14, 0.7) !important;
    }
    body.theme-halloween .legal-tab-btn {
      background: rgba(255, 255, 255, 0.05) !important;
      border: 1px solid rgba(249, 115, 22, 0.35) !important;
      color: #fed7aa !important;
    }
    body.theme-halloween .legal-tab-btn:hover {
      background: rgba(234, 88, 12, 0.22) !important;
      border-color: #f97316 !important;
      color: #ffffff !important;
    }
    body.theme-halloween .legal-tab-btn.active {
      background: linear-gradient(135deg, #fb923c 0%, #ea580c 50%, #c2410c 100%) !important;
      color: #ffffff !important;
      border-color: #f97316 !important;
      box-shadow: 0 2px 14px rgba(234, 88, 12, 0.65) !important;
    }
    body.theme-halloween .legal-modal-close-btn {
      background: rgba(234, 88, 12, 0.15) !important;
      border: 1px solid rgba(249, 115, 22, 0.5) !important;
      color: #fed7aa !important;
    }
    body.theme-halloween .legal-modal-close-btn:hover {
      background: #ef4444 !important;
      border-color: #ef4444 !important;
      color: #ffffff !important;
    }
    body.theme-halloween .legal-doc-title,
    body.theme-halloween .legal-modal-body h3,
    body.theme-halloween .legal-info-title {
      color: #f97316 !important;
    }
    body.theme-halloween .legal-meta-box strong,
    body.theme-halloween .legal-modal-body strong {
      color: #ffedd5 !important;
    }
    body.theme-halloween .legal-email-link,
    body.theme-halloween .legal-modal-body a {
      color: #f97316 !important;
    }
    body.theme-halloween .legal-modal-body::-webkit-scrollbar-thumb {
      background: rgba(249, 115, 22, 0.4) !important;
    }

    *, *::before, *::after { 
      box-sizing: border-box; 
      margin: 0; 
      padding: 0;
      cursor: default;
    }

    a, button, input[type="button"], input[type="submit"], .nav-tab-btn, .nav-cta-btn, .portal-social-btn, [onclick], [role="button"], .team-dock-btn, .gallery-cat-card, .service-pillar-card, .btn-split-toggle, .lightbox-thumb-img, .lightbox-close-btn, .map-recenter-btn, .phone-modal-btn-call, .hero-enter-link, .team-nav-arrow-btn, .contact-social-btn, .footer-social-icon, .star-item {
      cursor: pointer !important;
    }

    input[type="text"], input[type="search"], input[type="tel"], input[type="email"], textarea {
      cursor: text !important;
    }

    html {
      scroll-behavior: smooth;
      background-color: #030305;
      color: var(--text-main);
      font-family: var(--font-brand);
      overflow-x: clip;
      overflow-y: auto;
      scrollbar-width: thin;
      scrollbar-color: #fdd835 #030305;
      user-select: none !important;
      -webkit-user-select: none !important;
      -moz-user-select: none !important;
      -ms-user-select: none !important;
    }

    html.portal-mode-html,
    html:has(body.portal-mode),
    body.portal-mode {
      overflow: hidden !important;
      height: 100vh !important;
      max-height: 100vh !important;
      touch-action: none !important;
    }

    body {
      background: radial-gradient(circle at 50% 12%, rgba(253, 216, 53, 0.08) 0%, #08080d 35%, #030305 85%) fixed;
      line-height: 1.6;
      min-height: 100vh;
      width: 100%;
      max-width: 100%;
      overflow-x: clip;
      position: relative;
      user-select: none !important;
      -webkit-user-select: none !important;
      -moz-user-select: none !important;
      -ms-user-select: none !important;
      -webkit-touch-callout: none !important;
      -webkit-tap-highlight-color: transparent !important;
    }

    /* Scrollbar Oficial 100% Clickeable y Arrastrable con el Ratón */
    ::-webkit-scrollbar {
      width: 12px;
    }
    ::-webkit-scrollbar-track {
      background: var(--scrollbar-track-bg, #030305);
    }
    ::-webkit-scrollbar-thumb {
      background: var(--scrollbar-thumb-bg, linear-gradient(180deg, #fdd835 0%, #c6a700 100%));
      border-radius: 6px;
      border: 2px solid #030305;
      box-shadow: var(--scrollbar-thumb-shadow, none);
      cursor: pointer;
    }
    ::-webkit-scrollbar-thumb:hover {
      background: var(--scrollbar-thumb-hover, #fff59d);
      box-shadow: var(--scrollbar-thumb-shadow, 0 0 12px rgba(253, 216, 53, 0.8));
    }

    .scroll-progress-laser {
      position: fixed;
      top: 0;
      left: 0;
      height: 3.5px;
      width: 0%;
      background: var(--gold-gradient);
      box-shadow: 0 0 14px #fdd835, 0 0 25px #ffd54f;
      z-index: 2000;
      pointer-events: none;
      transition: width 0.1s linear;
    }

    /* --- CANVAS 1: ESTRELLAS DE FONDO EN 1 SOLA CAPA GPU (DETRÁS DEL LOGO) --- */
    #ambientStarsCanvas {
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      pointer-events: none;
      z-index: 0;
    }

    /* --- CANVAS 2: ESTELA DEL RATÓN EN SEGUNDO PLANO (POR DETRÁS DEL CONTENIDO Y TEXTOS) --- */
    #sparkleTrailCanvas {
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      pointer-events: none;
      z-index: 1;
    }

    /* --- AURA AMBIENTAL DE LUZ DORADA PARALLAX QUE SIGUE AL RATÓN --- */
    .cosmic-parallax-aurora {
      position: fixed;
      top: 0;
      left: 0;
      width: 550px;
      height: 550px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(253, 216, 53, 0.08) 0%, rgba(253, 216, 53, 0.02) 45%, transparent 70%);
      filter: blur(50px);
      pointer-events: none;
      z-index: 0;
      will-change: transform;
      transform: translate3d(-50%, -50%, 0);
    }

    /* ==========================================================================
       CORTES DE SECCIÓN CON ONDAS DE SEDA LÍQUIDA DORADA PURA (HORIZONTAL)
       ========================================================================== */
    .silk-section-divider {
      position: relative;
      width: 100%;
      max-width: 100%;
      height: 90px;
      margin: 40px auto;
      overflow: hidden;
      pointer-events: none;
      z-index: 3;
      display: none;
      align-items: center;
      justify-content: center;
    }
    body.theme-halloween .silk-section-divider {
      height: 220px !important;
      margin: 10px auto !important;
      overflow: visible !important;
    }
    body.theme-sanvalentin .silk-section-divider {
      height: 180px !important;
      margin: 15px auto !important;
      overflow: visible !important;
    }
    .silk-stream-canvas {
      width: 100%;
      height: 100%;
      display: block;
    }

    /* ==========================================================================
       BARRA DE NAVEGACIÓN
       ========================================================================== */
    .luxury-navbar {
      position: fixed;
      top: 16px;
      left: 50%;
      transform: translateX(-50%) !important;
      width: 94%;
      max-width: 1520px;
      height: 70px;
      background: rgba(10, 10, 16, 0.92);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border: 1.5px solid var(--gold-border);
      border-radius: 40px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0 28px;
      z-index: 1000;
      box-shadow: 0 16px 40px rgba(0, 0, 0, 0.85);
      transition: top 0.3s ease, width 0.3s ease, background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.8s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.8s ease;
    }
    .luxury-navbar.scrolled {
      background: rgba(6, 6, 10, 0.98);
      border-color: rgba(253, 216, 53, 0.65);
      box-shadow: 0 20px 50px rgba(0, 0, 0, 0.95);
    }

    .nav-brand { display: flex; align-items: center; gap: 12px; text-decoration: none; }
    .nav-logo-img { height: 44px; filter: drop-shadow(0 0 10px rgba(253, 216, 53, 0.8)); transition: transform 0.3s ease; }
    .nav-brand:hover .nav-logo-img { transform: scale(1.08); }
    .nav-brand-text {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: flex-start;
      line-height: 1.15;
    }
    .nav-brand-title {
      font-family: var(--font-display);
      font-size: 1.15rem;
      font-weight: 800;
      letter-spacing: 2px;
      background: var(--gold-gradient);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .nav-brand-sub { font-size: 0.65rem; font-weight: 700; letter-spacing: 2.5px; color: #cbd5e1; text-transform: uppercase; }

    .nav-tabs-group {
      display: flex;
      align-items: center;
      gap: 5px;
      background: rgba(0, 0, 0, 0.6);
      padding: 4px 6px;
      border-radius: 30px;
      border: 1px solid rgba(253, 216, 53, 0.3);
      box-sizing: border-box;
    }
    .nav-tab-btn {
      background: transparent;
      border: none;
      color: #cbd5e1;
      font-family: var(--font-brand);
      font-size: 0.88rem;
      font-weight: 700;
      line-height: 1;
      padding: 10px 18px 8px 18px;
      border-radius: 20px;
      cursor: pointer;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 7px;
      transition: all 0.25s ease;
      white-space: nowrap;
      box-sizing: border-box;
    }
    .nav-tab-btn svg, .nav-tab-btn i {
      display: inline-block;
      vertical-align: middle;
      flex-shrink: 0;
      transform: translateY(-0.5px);
    }
    .nav-tab-btn:hover { color: #ffffff; background: rgba(253, 216, 53, 0.12); }
    .nav-tab-btn.active {
      background: linear-gradient(135deg, #fdd835 0%, #c6a700 100%);
      color: #000000;
      box-shadow: 0 4px 15px rgba(253, 216, 53, 0.45);
    }

    .nav-actions { display: flex; align-items: center; gap: 10px; }
    .nav-cta-btn {
      padding: 7px 18px;
      border-radius: 24px;
      background: linear-gradient(180deg, #fff59d 0%, #fdd835 32%, #f59e0b 70%, #d97706 100%) !important;
      color: #0c0a09 !important;
      font-size: 0.80rem;
      font-weight: 850;
      letter-spacing: 0.6px;
      text-transform: uppercase;
      text-decoration: none;
      border: 1.5px solid #fff59d !important;
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      box-shadow: 0 0 24px rgba(253, 216, 53, 0.75), 0 0 10px rgba(245, 158, 11, 0.4), inset 0 1px 1px rgba(255, 255, 255, 0.8) !important;
      transition: var(--transition-smooth);
      height: 38px;
      box-sizing: border-box;
    }
    .nav-cta-btn svg {
      flex-shrink: 0;
    }
    .nav-cta-btn:hover {
      background: linear-gradient(180deg, #ffffff 0%, #fff176 30%, #fbc02d 70%, #f57f17 100%) !important;
      border-color: #ffffff !important;
      box-shadow: 0 0 32px rgba(253, 216, 53, 0.95), 0 0 14px rgba(245, 158, 11, 0.6), inset 0 1px 2px #ffffff !important;
      transform: translateY(-1px);
    }
    .nav-cta-btn.has-active-appointment {
      background: linear-gradient(135deg, #fdd835 0%, #c6a700 100%) !important;
      color: #000000 !important;
      font-weight: 750 !important;
      border: none !important;
      box-shadow: 0 4px 15px rgba(253, 216, 53, 0.45) !important;
    }
    .nav-cta-btn.has-active-appointment:hover {
      background: linear-gradient(135deg, #ffe066 0%, #fdd835 100%) !important;
      color: #000000 !important;
      border: none !important;
      box-shadow: 0 4px 22px rgba(253, 216, 53, 0.7) !important;
      transform: translateY(-1px);
    }
    .mobile-nav-dropdown .mobile-nav-item-cta,
    .mobile-nav-item.mobile-nav-item-cta {
      display: none !important;
    }
    .nav-login-btn {
      padding: 8px 12px;
      border-radius: 20px;
      background: rgba(255, 255, 255, 0.06);
      border: 1px solid rgba(255, 255, 255, 0.15);
      color: #cbd5e1;
      font-size: 0.82rem;
      text-decoration: none;
      transition: var(--transition-smooth);
    }
    .nav-login-btn:hover { color: var(--brand-color); border-color: var(--brand-color); }

    /* Botón Hamburguesa Móvil (oculto en desktop) */
    .nav-mobile-toggle {
      display: none;
      width: 36px;
      height: 36px;
      border-radius: 50%;
      background: rgba(253, 216, 53, 0.08);
      border: 1.2px solid rgba(253, 216, 53, 0.35);
      color: #fdd835;
      font-size: 0.95rem;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      transition: var(--transition-smooth);
      outline: none;
      padding: 0;
    }
    .nav-mobile-toggle:hover, .nav-mobile-toggle.active {
      background: rgba(253, 216, 53, 0.22);
      border-color: #fdd835;
      color: #ffffff;
      box-shadow: 0 0 14px rgba(253, 216, 53, 0.4);
      transform: scale(1.05);
    }

    /* Menú Flotante Desplegable Móvil VIP */
    .mobile-nav-dropdown {
      position: fixed;
      top: 68px;
      left: 50%;
      transform: translateX(-50%) translateY(-10px) scale(0.96);
      width: 92%;
      max-width: 440px;
      background: rgba(10, 10, 16, 0.96);
      backdrop-filter: blur(25px);
      -webkit-backdrop-filter: blur(25px);
      border: 1.5px solid rgba(253, 216, 53, 0.38);
      border-radius: 24px;
      padding: 10px;
      box-shadow: 0 20px 50px rgba(0, 0, 0, 0.95), 0 0 30px rgba(253, 216, 53, 0.15);
      z-index: 999;
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1), transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.3s;
      display: flex;
      flex-direction: column;
      gap: 5px;
    }
    .mobile-nav-dropdown.open {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transform: translateX(-50%) translateY(0) scale(1);
    }
    @media (min-width: 901px) {
      .mobile-nav-dropdown {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
      }
    }
    .mobile-nav-item {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 12px 18px;
      border-radius: 16px;
      color: #cbd5e1;
      text-decoration: none;
      font-size: 0.96rem;
      font-weight: 700;
      letter-spacing: 0.5px;
      background: transparent;
      border: 1px solid transparent;
      transition: all 0.22s ease;
    }
    .mobile-nav-item i {
      width: 22px;
      font-size: 1.05rem;
      color: #fdd835;
      text-align: center;
      transition: transform 0.22s ease;
    }
    .mobile-nav-item:hover, .mobile-nav-item.active {
      background: rgba(253, 216, 53, 0.12);
      border-color: rgba(253, 216, 53, 0.3);
      color: #ffffff;
    }
    .mobile-nav-item.active {
      background: linear-gradient(135deg, rgba(253, 216, 53, 0.25) 0%, rgba(198, 167, 0, 0.35) 100%);
      border-color: #fdd835;
      box-shadow: 0 4px 15px rgba(253, 216, 53, 0.2);
    }
    .mobile-nav-item:hover i {
      transform: scale(1.18);
    }

    /* ==========================================================================
       1. HERO CON LOGO ESPECTACULAR: AURA CELESTIAL, RAYOS Y SUPERNOVA BURST
       ========================================================================== */
    .parallax-hero-section {
      position: relative;
      min-height: 100vh;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 130px 24px 70px 24px;
      overflow: hidden;
      z-index: 2;
    }
    .hero-parallax-bg {
      position: absolute;
      top: -20%;
      left: -10%;
      width: 120%;
      height: 140%;
      background: transparent;
      pointer-events: none;
      z-index: 1;
    }

    .hero-content {
      position: relative;
      z-index: 5;
      max-width: 1100px;
      text-align: center;
      display: flex;
      flex-direction: column;
      align-items: center;
      will-change: transform;
    }

    /* LOGO CENTRAL DE GRAN FORMATO (LIMPIO Y NÍTIDO) */
    .hero-grand-logo-wrap {
      position: relative;
      width: 92vw;
      max-width: 680px;
      margin-bottom: 24px;
      display: flex;
      align-items: center;
      justify-content: center;
      user-select: none;
      will-change: transform;
    }

    .hero-grand-logo {
      width: 100%;
      height: auto;
      display: block;
      position: relative;
      z-index: 3;
      filter: drop-shadow(0 20px 40px rgba(0, 0, 0, 0.95));
      transition: filter 0.3s ease;
    }

    .hero-status-pill {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 6px 18px;
      border-radius: 30px;
      background: rgba(0, 0, 0, 0.7);
      backdrop-filter: blur(10px);
      border: 1.5px solid <?= $isSalonOpenNow ? 'rgba(34, 197, 94, 0.65)' : 'rgba(239, 68, 68, 0.65)' ?>;
      font-size: 0.78rem;
      font-weight: 800;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      color: <?= $isSalonOpenNow ? '#4ade80' : '#f87171' ?>;
      margin-bottom: 18px;
    }
    .status-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: <?= $isSalonOpenNow ? '#22c55e' : '#ef4444' ?>;
      box-shadow: 0 0 10px <?= $isSalonOpenNow ? '#22c55e' : '#ef4444' ?>;
      animation: dotBlink 1.5s infinite;
    }
    @keyframes dotBlink { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }

    .hero-title-main {
      font-family: var(--font-display);
      font-size: clamp(2.6rem, 6vw, 4.6rem);
      font-weight: 900;
      line-height: 1.1;
      letter-spacing: 4px;
      text-transform: uppercase;
      background: var(--gold-gradient);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      margin-bottom: 16px;
      filter: drop-shadow(0 4px 18px rgba(0, 0, 0, 0.9)) drop-shadow(0 0 28px rgba(253, 216, 53, 0.4));
    }

    .hero-subtitle {
      font-size: clamp(1rem, 2vw, 1.25rem);
      color: #cbd5e1;
      max-width: 780px;
      margin-bottom: 34px;
    }
    .hero-subtitle strong { color: #ffffff; font-weight: 700; }

    .hero-actions { display: flex; align-items: center; justify-content: center; gap: 18px; flex-wrap: wrap; margin-bottom: 34px; }
    .btn-glass-secondary {
      padding: 16px 36px;
      border-radius: 40px;
      background: rgba(255, 255, 255, 0.06);
      backdrop-filter: blur(10px);
      border: 1.5px solid rgba(253, 216, 53, 0.45);
      color: #ffffff;
      font-size: 0.95rem;
      font-weight: 800;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      gap: 10px;
      box-shadow: 0 4px 20px rgba(0,0,0,0.5);
      transition: var(--transition-smooth);
    }
    .btn-glass-secondary:hover { background: rgba(253, 216, 53, 0.18); border-color: var(--brand-color); color: var(--brand-color); transform: translateY(-2px); }

    .hero-social-row {
      display: flex;
      gap: 24px;
      align-items: center;
      justify-content: center;
      margin-bottom: 20px;
    }
    .social-circle-btn {
      width: 52px;
      height: 52px;
      border-radius: 50%;
      background: rgba(18, 18, 24, 0.8);
      border: 1.5px solid var(--gold-border);
      color: var(--brand-color);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.4rem;
      text-decoration: none;
      box-shadow: 0 6px 18px rgba(0, 0, 0, 0.6);
      transition: var(--transition-smooth);
    }
    .social-circle-btn:hover {
      transform: scale(1.12) translateY(-3px);
      border-color: #fdd835;
      box-shadow: 0 0 20px rgba(253, 216, 53, 0.6);
      color: #ffffff;
    }

    /* ==========================================================================
       LISTÓN DE ESTADÍSTICAS VIP: 5 PANELES REALES CON SEDA DORADA DE FONDO
       ========================================================================== */
    .stats-section {
      position: relative;
      padding: 95px 24px 135px 24px;
      z-index: 2;
      overflow: visible;
      background: transparent;
    }

    .stats-container {
      position: relative;
      z-index: 2;
      max-width: 1460px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 22px;
      perspective: 1200px;
    }
    @media (max-width: 1240px) {
      .stats-container {
        grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
        gap: 20px;
      }
    }
    @media (max-width: 640px) {
      .stats-container {
        grid-template-columns: 1fr;
        gap: 16px;
        max-width: 380px;
      }
    }

    .stat-card-glass {
      position: relative;
      background: linear-gradient(165deg, rgba(26, 26, 36, 0.90) 0%, rgba(16, 16, 22, 0.95) 50%, rgba(10, 10, 14, 0.98) 100%);
      border: 1.5px solid rgba(253, 216, 53, 0.35);
      border-radius: 22px;
      padding: 30px 18px 24px 18px;
      text-align: center;
      box-shadow: 0 20px 50px rgba(0, 0, 0, 0.95), 0 0 30px rgba(253, 216, 53, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.14);
      transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.35s ease, box-shadow 0.35s ease;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: space-between;
      min-height: 275px;
      box-sizing: border-box;
      z-index: 2;
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      transform-style: preserve-3d;
      will-change: transform;
    }

    /* Reflejo Dinámico Dorado Parallax que Sigue al Ratón */
    .stat-card-glare {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      border-radius: inherit;
      background: radial-gradient(circle 200px at var(--glare-x, 50%) var(--glare-y, 50%), rgba(253, 216, 53, 0.22) 0%, transparent 80%);
      pointer-events: none;
      opacity: 0;
      transition: opacity 0.3s ease;
      mix-blend-mode: screen;
      z-index: 3;
    }
    .stat-card-glass:hover .stat-card-glare {
      opacity: 1;
    }

    .stat-card-glass::before {
      content: '';
      position: absolute;
      top: 0;
      left: 15%;
      right: 15%;
      height: 2px;
      background: linear-gradient(90deg, transparent, #fdd835, transparent);
      pointer-events: none;
      opacity: 0.95;
      box-shadow: 0 0 14px #fdd835;
    }

    .stat-card-glass:hover {
      border-color: #fdd835;
      box-shadow: 0 28px 70px rgba(0, 0, 0, 0.98), 0 0 45px rgba(253, 216, 53, 0.38), inset 0 1px 0 rgba(255, 255, 255, 0.25);
      transition: border-color 0.35s ease, box-shadow 0.35s ease;
    }

    .stat-icon-wrap {
      width: 52px;
      height: 52px;
      border-radius: 50%;
      background: radial-gradient(circle at 35% 35%, rgba(253, 216, 53, 0.32) 0%, rgba(18, 18, 26, 0.95) 100%);
      border: 1.5px solid rgba(253, 216, 53, 0.6);
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 14px;
      box-shadow: 0 4px 18px rgba(0, 0, 0, 0.7), 0 0 22px rgba(253, 216, 53, 0.28);
      transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
    }
    .stat-card-glass:hover .stat-icon-wrap {
      transform: scale(1.14) rotate(6deg);
      border-color: #fdd835;
      box-shadow: 0 0 30px rgba(253, 216, 53, 0.75);
    }

    .stat-icon {
      font-size: 1.4rem;
      color: #fdd835;
    }

    .stat-number {
      font-family: var(--font-display);
      font-size: 2.85rem;
      font-weight: 800;
      color: #ffffff;
      margin-bottom: 6px;
      letter-spacing: -0.5px;
      line-height: 1.1;
      background: linear-gradient(180deg, #ffffff 30%, #e2e8f0 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.9));
    }

    .stat-label {
      font-size: 0.85rem;
      font-weight: 800;
      color: #e2e8f0;
      letter-spacing: 0.8px;
      text-transform: uppercase;
      margin-bottom: 6px;
      line-height: 1.35;
    }

    .stat-subdesc {
      font-size: 0.76rem;
      color: #94a3b8;
      line-height: 1.35;
      margin-bottom: 14px;
    }

    /* Insignias Unificadas: Estilo Oro / Champagne Coherente */
    .stat-pill-badge {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 6px 15px;
      border-radius: 20px;
      background: rgba(253, 216, 53, 0.1);
      border: 1px solid rgba(253, 216, 53, 0.45);
      color: #fdd835;
      font-size: 0.73rem;
      font-weight: 700;
      letter-spacing: 0.6px;
      text-transform: uppercase;
      box-shadow: 0 2px 14px rgba(0, 0, 0, 0.4), 0 0 14px rgba(253, 216, 53, 0.18);
      margin-top: auto;
      transition: background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
    }
    .stat-card-glass:hover .stat-pill-badge {
      background: rgba(253, 216, 53, 0.2);
      border-color: #fdd835;
      box-shadow: 0 0 22px rgba(253, 216, 53, 0.4);
    }

    /* ==========================================================================
       2. SECCIÓN SERVICIOS: MONTAJE DINÁMICO ALTERNADO (IZQUIERDA / DERECHA)
       ========================================================================== */
    .section-services, .section-gallery {
      overflow: hidden;
    }
    .section-team {
      overflow: visible !important;
    }
    .section-services { position: relative; padding: 100px 24px; z-index: 2; }
    .section-header {
      position: relative;
      text-align: center;
      max-width: 900px;
      margin: 0 auto 55px auto;
      z-index: 2;
    }
    .section-tag {
      position: relative;
      display: inline-block;
      font-size: 0.78rem;
      font-weight: 800;
      letter-spacing: 3.5px;
      text-transform: uppercase;
      color: var(--brand-color);
      margin-bottom: 8px;
      z-index: 2;
    }
    .section-title {
      position: relative;
      font-size: clamp(2rem, 3.8vw, 3.2rem);
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 2px;
      color: #ffffff;
      z-index: 2;
    }
    .section-title span { color: var(--brand-color); }
    .section-header p {
      position: relative;
      z-index: 2;
    }

    .service-pillars-stack {
      max-width: 1400px;
      margin: 0 auto;
      display: flex;
      flex-direction: column;
      gap: 46px;
    }

    /* EFECTO DE MONTAJE SCROLL: PANELES QUE ENTRAN DE DERECHA O IZQUIERDA */
    .service-pillar-card {
      background: var(--bg-card);
      border: 1.5px solid var(--gold-border);
      border-radius: 28px;
      padding: 38px;
      box-shadow: 0 20px 50px rgba(0, 0, 0, 0.8);
      display: grid;
      grid-template-columns: 1.3fr 1fr;
      gap: 36px;
      align-items: center;
      position: relative;
      opacity: 0;
      will-change: transform, opacity;
      transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.8s ease, border-color 0.35s ease, box-shadow 0.35s ease;
    }

    /* Paneles Impares (1, 3, 5): Entran desde la IZQUIERDA */
    .service-pillar-card.mount-from-left {
      transform: translateX(-140px) scale(0.92) rotate(-2deg);
    }
    /* Paneles Pares (2, 4): Entran desde la DERECHA */
    .service-pillar-card.mount-from-right {
      transform: translateX(140px) scale(0.92) rotate(2deg);
    }

    /* Estado Montado y Activo en Pantalla */
    .service-pillar-card.mounted {
      opacity: 1 !important;
      transform: translateX(0) scale(1) rotate(0deg) !important;
    }

    .service-pillar-card:nth-child(even) {
      grid-template-columns: 1fr 1.3fr;
    }
    .service-pillar-card:nth-child(even) .pillar-media-col {
      order: -1;
    }
    .service-pillar-card:hover {
      border-color: var(--brand-color);
      box-shadow: 0 30px 70px rgba(0, 0, 0, 0.95), 0 0 35px rgba(253, 216, 53, 0.2);
    }

    .pillar-num { font-family: var(--font-display); font-size: 1.8rem; font-weight: 900; color: var(--brand-color); margin-bottom: 6px; }
    .pillar-badge { display: inline-block; font-size: 0.75rem; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase; color: #cbd5e1; background: rgba(253, 216, 53, 0.12); border: 1px solid rgba(253, 216, 53, 0.35); padding: 4px 12px; border-radius: 20px; margin-bottom: 12px; }
    .pillar-title { font-size: 1.8rem; font-weight: 800; color: #ffffff; margin-bottom: 8px; line-height: 1.2; }
    .pillar-subtitle { font-size: 1rem; font-weight: 600; color: var(--brand-color); margin-bottom: 14px; }
    .pillar-desc { font-size: 0.94rem; color: #94a3b8; line-height: 1.65; margin-bottom: 20px; }
    
    .pillar-includes-list { display: flex; flex-wrap: wrap; gap: 8px; }
    .pillar-include-tag {
      font-size: 0.78rem;
      padding: 5px 12px;
      border-radius: 14px;
      background: rgba(255, 255, 255, 0.05);
      border: 1px solid rgba(255, 255, 255, 0.12);
      color: #ffffff;
      font-weight: 600;
    }

    .pillar-media-col {
      width: 100%;
      height: 340px;
      border-radius: 22px;
      overflow: hidden;
      border: 1.5px solid var(--gold-border);
      position: relative;
      box-shadow: 0 15px 35px rgba(0, 0, 0, 0.7);
      background: radial-gradient(circle at center, rgba(253, 216, 53, 0.1) 0%, #08080c 100%);
      display: flex;
      align-items: center;
      justify-content: center;
      transition: transform 0.6s ease;
    }
    .pillar-slide-img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      opacity: 0;
      transition: opacity 0.8s ease-in-out, transform 0.8s ease-in-out;
    }
    .pillar-slide-img.active {
      opacity: 1;
      transform: scale(1.03);
    }
    .pillar-emblem-box {
      text-align: center;
      padding: 24px;
    }
    .pillar-emblem-icon-wrap {
      width: 76px;
      height: 76px;
      border-radius: 50%;
      border: 2px solid var(--brand-color);
      display: flex;
      align-items: center;
      justify-content: center;
      background: rgba(0, 0, 0, 0.65);
      margin: 0 auto 16px auto;
      box-shadow: 0 0 25px rgba(253, 216, 53, 0.4);
    }
    .pillar-emblem-icon-wrap i {
      color: var(--brand-color);
      font-size: 2rem;
    }
    .pillar-emblem-title {
      color: var(--brand-color);
      font-size: 1.15rem;
      font-weight: 900;
      letter-spacing: 2px;
      text-transform: uppercase;
      margin-bottom: 4px;
    }
    .pillar-emblem-sub {
      color: #94a3b8;
      font-size: 0.85rem;
      font-weight: 700;
      letter-spacing: 1.5px;
      text-transform: uppercase;
    }

    /* ==========================================================================
       3. SECCIÓN GALERÍA & DESTACADO ALEATORIO
       ========================================================================== */
    .section-gallery { position: relative; padding: 100px 24px; z-index: 2; width: 100%; }
    
    .transformation-box {
      max-width: 1080px;
      margin: 0 auto 80px auto;
      position: relative;
    }

    .comparison-container.mount-on-scroll {
      opacity: 0;
      transform: translateY(60px) scale(0.96);
      transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.8s ease;
    }
    .comparison-container.mount-on-scroll.mounted {
      opacity: 1;
      transform: translateY(0) scale(1);
    }

    .transform-spotlight-header {
      position: relative;
      text-align: center;
      max-width: 900px;
      margin: 0 auto 55px auto;
      z-index: 2;
    }
    .spotlight-badge {
      position: relative;
      z-index: 2;
      display: inline-block;
      font-size: 0.78rem;
      font-weight: 800;
      letter-spacing: 3.5px;
      text-transform: uppercase;
      color: var(--brand-color);
      background: none;
      padding: 0;
      border-radius: 0;
      margin-bottom: 8px;
      box-shadow: none;
    }
    .spotlight-title, .spotlight-sub {
      position: relative;
      z-index: 2;
    }
    .spotlight-title {
      font-size: clamp(2rem, 3.8vw, 3.2rem);
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 2px;
      color: #ffffff;
      margin-bottom: 0;
      line-height: 1.2;
    }
    .spotlight-sub {
      font-size: 1rem;
      color: #94a3b8;
      max-width: 700px;
      margin: 10px auto 0 auto;
      line-height: 1.6;
    }

    .comparison-container {
      position: relative;
      width: 100%;
      aspect-ratio: 16 / 10;
      max-height: 560px;
      border-radius: 22px;
      overflow: hidden;
      border: 2px solid var(--gold-border-bright);
      box-shadow: 0 25px 70px rgba(0, 0, 0, 0.95), 0 0 35px rgba(253, 216, 53, 0.2);
      user-select: none;
      touch-action: none;
      background: #000;
      --split-pos: 50%;
    }
    .comparison-full-img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      z-index: 1;
    }
    .comparison-clip-layer {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      clip-path: polygon(0 0, var(--split-pos, 50%) 0, var(--split-pos, 50%) 100%, 0 100%);
      -webkit-clip-path: polygon(0 0, var(--split-pos, 50%) 0, var(--split-pos, 50%) 100%, 0 100%);
      z-index: 5;
    }
    .comparison-clip-img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
    .comparison-divider-line {
      position: absolute;
      top: 0;
      bottom: 0;
      left: var(--split-pos, 50%);
      transform: translateX(-50%);
      width: 3px;
      background: linear-gradient(to bottom, #ffe082 0%, #fdd835 50%, #c6a700 100%);
      box-shadow: 0 0 16px rgba(253, 216, 53, 0.9), 0 0 30px rgba(253, 216, 53, 0.5);
      z-index: 8;
      pointer-events: none;
    }
    .comparison-slider-handle {
      position: absolute;
      top: 50%;
      left: var(--split-pos, 50%);
      transform: translate(-50%, -50%);
      width: 44px;
      height: 44px;
      border-radius: 50%;
      background: linear-gradient(135deg, #ffffff 0%, #fdd835 50%, #c6a700 100%);
      box-shadow: 0 0 25px rgba(253, 216, 53, 0.95), 0 4px 15px rgba(0,0,0,0.8);
      display: flex;
      align-items: center;
      justify-content: center;
      color: #000000;
      font-size: 1.1rem;
      cursor: ew-resize;
      z-index: 10;
      transition: transform 0.15s ease;
    }
    .comparison-slider-handle:hover {
      transform: translate(-50%, -50%) scale(1.12);
    }
    .badge-label-antes, .badge-label-despues {
      position: absolute;
      bottom: 16px;
      padding: 7px 16px;
      border-radius: 8px;
      background: rgba(10, 10, 14, 0.85);
      backdrop-filter: blur(10px);
      border: 1px solid rgba(253, 216, 53, 0.4);
      color: #ffffff;
      font-size: 0.78rem;
      font-weight: 800;
      letter-spacing: 2px;
      text-transform: uppercase;
      z-index: 12;
      cursor: pointer;
      box-shadow: 0 4px 15px rgba(0, 0, 0, 0.7);
      transition: all 0.25s ease;
    }
    .badge-label-antes:hover {
      background: #fdd835;
      color: #000000;
      transform: translateY(-2px);
      box-shadow: 0 6px 20px rgba(253, 216, 53, 0.5);
    }
    .badge-label-despues:hover {
      background: #fdd835;
      color: #000000;
      transform: translateY(-2px);
      box-shadow: 0 6px 20px rgba(253, 216, 53, 0.5);
    }
    .badge-label-antes { left: 16px; }
    .badge-label-despues { right: 16px; }

    /* ==========================================================================
       CUADRÍCULA PANORÁMICA DE 5 COLUMNAS CON MONTAJE EN CASCADA
       ========================================================================== */
    .gallery-categories-grid {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 20px;
      width: 96%;
      max-width: 1600px;
      margin: 0 auto;
      padding: 20px 0 40px 0;
    }
    .gallery-cat-card {
      position: relative;
      border-radius: 20px;
      overflow: hidden;
      background: #0d0d11;
      border: 1.5px solid rgba(253, 216, 53, 0.28);
      box-shadow: 0 12px 35px rgba(0, 0, 0, 0.75);
      cursor: pointer;
      height: 220px;
      opacity: 0;
      transform: translateY(50px) scale(0.9);
      transition: transform 0.65s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.65s ease, border-color 0.3s ease, box-shadow 0.3s ease;
      will-change: transform, opacity;
    }
    .gallery-cat-card.mounted {
      opacity: 1;
      transform: translateY(0) scale(1);
    }
    .gallery-cat-card:hover {
      transform: translateY(-10px) scale(1.04) !important;
      border-color: #fdd835;
      box-shadow: 0 22px 55px rgba(0, 0, 0, 0.95), 0 0 35px rgba(253, 216, 53, 0.45);
      z-index: 10;
    }
    .gallery-cat-card-media {
      position: relative;
      width: 100%;
      height: 100%;
      overflow: hidden;
    }
    .gallery-cat-img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform 0.6s cubic-bezier(0.2, 0.9, 0.3, 1);
      pointer-events: none;
    }
    .gallery-cat-card:hover .gallery-cat-img { transform: scale(1.08); }

    .gallery-cat-gold-frame {
      position: absolute;
      inset: 0;
      border-radius: 20px;
      border: 1.5px solid rgba(253, 216, 53, 0.15);
      pointer-events: none;
      transition: border-color 0.3s ease, box-shadow 0.3s ease;
      z-index: 5;
    }
    .gallery-cat-card:hover .gallery-cat-gold-frame {
      border-color: rgba(253, 216, 53, 0.8);
      box-shadow: inset 0 0 16px rgba(253, 216, 53, 0.35);
    }
    
    .gallery-cat-crystal-sweep {
      position: absolute;
      top: -100%;
      left: -100%;
      width: 300%;
      height: 300%;
      background: linear-gradient(120deg, transparent 42%, rgba(255,255,255,0.18) 48%, rgba(255,255,255,0.55) 50%, rgba(255,255,255,0.18) 52%, transparent 58%);
      transform: rotate(25deg) translateY(-80%);
      pointer-events: none;
      z-index: 4;
      opacity: 0;
      transition: transform 0.7s cubic-bezier(0.2, 0.8, 0.2, 1), opacity 0.3s ease;
    }
    .gallery-cat-card:hover .gallery-cat-crystal-sweep {
      transform: rotate(25deg) translateY(45%);
      opacity: 1;
    }

    .gallery-cat-hover-overlay {
      position: absolute;
      inset: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      transition: opacity 0.28s ease;
      z-index: 7;
      pointer-events: none;
    }
    .gallery-cat-card:hover .gallery-cat-hover-overlay {
      opacity: 1;
    }
    .gallery-cat-explore-btn {
      background: linear-gradient(135deg, #fdd835 0%, #c6a700 100%);
      color: #000000;
      font-family: var(--font-brand);
      font-weight: 800;
      font-size: 0.85rem;
      padding: 7px 18px;
      border-radius: 20px;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      box-shadow: 0 4px 18px rgba(0,0,0,0.85), 0 0 15px rgba(253,216,53,0.5);
      transform: translateY(8px);
      transition: transform 0.28s cubic-bezier(0.2, 0.9, 0.3, 1);
    }
    .gallery-cat-card:hover .gallery-cat-explore-btn {
      transform: translateY(0);
    }

    .gallery-cat-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(6,6,10,0.85) 75%, rgba(6,6,10,0.98) 100%);
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      align-items: center;
      padding: 14px;
      z-index: 6;
      pointer-events: none;
    }
    .gallery-cat-wings-row {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      width: 100%;
    }
    .gallery-cat-wing {
      flex: 1;
      max-width: 32px;
      height: 2px;
      border-radius: 2px;
      transition: max-width 0.35s ease, opacity 0.35s ease, box-shadow 0.35s ease;
      opacity: 0.65;
    }
    .gallery-cat-wing.left { background: linear-gradient(to left, #fdd835, transparent); }
    .gallery-cat-wing.right { background: linear-gradient(to right, #fdd835, transparent); }
    .gallery-cat-card:hover .gallery-cat-wing {
      max-width: 48px;
      opacity: 1;
      box-shadow: 0 0 10px rgba(253, 216, 53, 0.9);
    }
    .gallery-cat-title {
      color: #ffffff;
      font-size: 1rem;
      font-weight: 800;
      letter-spacing: 1.2px;
      text-transform: uppercase;
      text-align: center;
      text-shadow: 0 2px 10px rgba(0, 0, 0, 0.95);
      transition: color 0.3s ease, text-shadow 0.3s ease;
    }
    .gallery-cat-card:hover .gallery-cat-title {
      color: #fdd835;
      text-shadow: 0 0 14px rgba(253, 216, 53, 0.6), 0 2px 10px rgba(0, 0, 0, 0.95);
    }

    /* ==========================================================================
       4. SECCIÓN EQUIPO: MONTAJE ESCAPARATE VIP
       ========================================================================== */
    .section-team { position: relative; padding: 100px 24px; z-index: 2; }
    .team-pills-bar {
      display: flex;
      gap: 12px;
      justify-content: center;
      flex-wrap: wrap;
      margin-bottom: 26px;
    }
    .team-pill-btn {
      background: rgba(255, 255, 255, 0.05);
      border: 1.5px solid rgba(255, 255, 255, 0.12);
      border-radius: 50px;
      padding: 4px 18px 4px 5px;
      display: inline-flex;
      align-items: center;
      gap: 10px;
      color: #e2e8f0;
      font-family: inherit;
      font-size: 0.92rem;
      font-weight: 700;
      cursor: pointer;
      white-space: nowrap;
      transition: var(--transition-smooth);
      box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
    }
    /* ==========================================================================
       4. SECCIÓN EQUIPO: ESCAPARATE DE ALTA COSTURA EDITORIAL VIP
       ========================================================================== */
    .section-team {
      position: relative;
      padding: 120px 24px;
      z-index: 4;
      overflow: visible;
    }
    
    .team-editorial-stage {
      max-width: 1300px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 460px 1fr;
      grid-template-rows: 560px auto;
      gap: 36px 50px;
      align-items: stretch;
      position: relative;
      z-index: 4;
      overflow: visible !important;
      min-height: 640px;
    }

    /* ==========================================================================
       MARCAS DE AGUA TIPOGRÁFICAS CINÉTICAS EN PARALLAX (DISCRETAS, ELEGANTES Y CENTRADAS)
       ========================================================================== */
    .section-floating-watermark,
    .team-watermark-text {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate3d(-50%, -50%, 0);
      width: 100%;
      max-width: 100%;
      text-align: center;
      font-family: var(--font-display);
      font-size: clamp(4.8rem, 11vw, 9.5rem);
      font-weight: 900;
      letter-spacing: clamp(8px, 1.8vw, 20px);
      color: rgba(253, 216, 53, 0.02);
      -webkit-text-stroke: 1.5px rgba(253, 216, 53, 0.18);
      text-shadow: 0 0 35px rgba(253, 216, 53, 0.08);
      user-select: none;
      pointer-events: none;
      z-index: 0;
      white-space: nowrap;
      text-transform: uppercase;
      will-change: transform;
      transition: opacity 0.5s ease;
      line-height: 1;
      margin: 0;
      padding: 0;
    }

    /* Escultura de Retrato Editorial con Marco Flotante 3D */
    .team-sculpture-wrap {
      position: relative;
      perspective: 1200px;
      z-index: 2;
      will-change: transform;
      overflow: visible !important;
      padding: 30px;
      margin: -30px;
      height: calc(100% + 60px);
      box-sizing: border-box;
      display: flex;
      flex-direction: column;
    }

    .team-sculpture-frame {
      position: relative;
      width: 100%;
      height: 100%;
      min-height: 560px;
      border-radius: 40px;
      overflow: hidden;
      background: radial-gradient(circle at 50% 30%, rgba(253, 216, 53, 0.15) 0%, #0c0c12 80%);
      border: 2px solid rgba(253, 216, 53, 0.45);
      box-shadow: 0 35px 90px rgba(0, 0, 0, 0.95), 0 0 45px rgba(253, 216, 53, 0.25);
      transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease;
      will-change: transform;
      -webkit-mask-image: -webkit-radial-gradient(white, black);
      mask-image: radial-gradient(white, black);
    }

    .team-sculpture-frame:hover {
      border-color: #fdd835;
      box-shadow: 0 40px 110px rgba(0, 0, 0, 0.98), 0 0 60px rgba(253, 216, 53, 0.4);
    }

    .team-sculpture-img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
      object-position: center top;
      transform: scale(1.08);
      transform-origin: center center;
      transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), filter 0.6s ease;
      filter: contrast(1.04) brightness(0.98);
      will-change: transform;
    }

    .team-sculpture-frame:hover .team-sculpture-img {
      transform: scale(1.14);
      filter: contrast(1.08) brightness(1.03);
    }

    .team-floating-badge {
      display: none !important;
      position: absolute;
      bottom: 22px;
      left: 20px;
      right: 20px;
      background: rgba(10, 10, 15, 0.88);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border: 1.5px solid rgba(253, 216, 53, 0.5);
      border-radius: 20px;
      padding: 11px 20px;
      align-items: center;
      justify-content: center;
      gap: 10px;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.8), 0 0 15px rgba(253, 216, 53, 0.2);
      z-index: 5;
    }

    .team-badge-role {
      font-size: 0.84rem;
      font-weight: 800;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      color: #fdd835;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
    }

    /* Botones Laterales Flotantes en la Foto (< y >) - Solo Activos en Móvil */
    .team-side-nav-btn {
      display: none !important;
      position: relative;
      width: 44px;
      height: 44px;
      border-radius: 50%;
      background: rgba(10, 10, 15, 0.85);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      border: 1.5px solid rgba(253, 216, 53, 0.5);
      color: #fdd835;
      font-size: 1.05rem;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      z-index: 10;
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.75), 0 0 16px rgba(253, 216, 53, 0.25);
      transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
      padding: 0;
      user-select: none;
    }
    .team-side-nav-btn:hover {
      background: rgba(253, 216, 53, 0.25);
      border-color: #fdd835;
      color: #ffffff;
      transform: scale(1.1);
      box-shadow: 0 12px 30px rgba(0, 0, 0, 0.9), 0 0 24px rgba(253, 216, 53, 0.5);
    }
    .team-side-nav-btn:active {
      transform: scale(0.95);
    }

    /* Halloween Theme para Botones Laterales */
    body.theme-halloween .team-side-nav-btn {
      background: rgba(18, 10, 26, 0.88) !important;
      border-color: rgba(249, 115, 22, 0.7) !important;
      color: #fb923c !important;
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.85), 0 0 18px rgba(249, 115, 22, 0.35) !important;
    }
    body.theme-halloween .team-side-nav-btn:hover {
      background: rgba(147, 51, 234, 0.4) !important;
      border-color: #c084fc !important;
      color: #ffffff !important;
      box-shadow: 0 12px 30px rgba(0, 0, 0, 0.95), 0 0 25px rgba(168, 85, 247, 0.6) !important;
    }

    /* Christmas Theme para Botones Laterales */
    body.theme-christmas .team-side-nav-btn {
      background: rgba(20, 10, 12, 0.88) !important;
      border-color: rgba(244, 63, 94, 0.7) !important;
      color: #fda4af !important;
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.85), 0 0 18px rgba(244, 63, 94, 0.35) !important;
    }
    body.theme-christmas .team-side-nav-btn:hover {
      background: rgba(244, 63, 94, 0.35) !important;
      border-color: #f43f5e !important;
      color: #ffffff !important;
      box-shadow: 0 12px 30px rgba(0, 0, 0, 0.95), 0 0 25px rgba(244, 63, 94, 0.6) !important;
    }

    /* Barra Móvil de Paginación e Indicador - Solo Móvil */
    .team-mobile-dots-bar {
      display: none !important;
      align-items: center;
      justify-content: space-between;
      width: 100%;
      max-width: 480px;
      margin: 4px auto 0;
      padding: 0 8px;
      box-sizing: border-box;
    }
    .team-dots-track {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
    }
    .team-nav-dot {
      position: relative;
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.25);
      border: 1px solid rgba(253, 216, 53, 0.3);
      cursor: pointer;
      transition: all 0.25s ease;
      padding: 0;
      box-sizing: border-box;
      outline: none;
    }
    .team-nav-dot::before {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      min-width: 48px;
      min-height: 48px;
    }
    .team-nav-dot.active {
      width: 26px;
      border-radius: 12px;
      background: #fdd835;
      border-color: #fdd835;
      box-shadow: 0 0 12px rgba(253, 216, 53, 0.6);
    }
    .team-dot-preview {
      font-size: 0.74rem;
      font-weight: 700;
      color: rgba(253, 216, 53, 0.85);
      letter-spacing: 0.5px;
      text-transform: uppercase;
      white-space: nowrap;
      max-width: 110px;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    body.theme-halloween .team-nav-dot.active {
      background: #f97316 !important;
      border-color: #f97316 !important;
      box-shadow: 0 0 12px rgba(249, 115, 22, 0.7) !important;
    }
    body.theme-halloween .team-dot-preview {
      color: #c084fc !important;
    }

    /* Transiciones Cinemáticas de Deslizamiento Físico Continuo (Physical Carousel Movement) */
    .team-slide-out-left {
      opacity: 0 !important;
      transform: translateX(-120%) !important;
      transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.22s ease !important;
    }
    .team-slide-out-right {
      opacity: 0 !important;
      transform: translateX(120%) !important;
      transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.22s ease !important;
    }
    .team-slide-prep-right {
      opacity: 0 !important;
      transform: translateX(120%) !important;
      transition: none !important;
    }
    .team-slide-prep-left {
      opacity: 0 !important;
      transform: translateX(-120%) !important;
      transition: none !important;
    }
    .team-slide-in-active {
      opacity: 1 !important;
      transform: translateX(0) !important;
      transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.26s ease !important;
    }

    /* Columna de Biografía Editorial de Autor (Tipografía Abierta y Flotante de Alta Costura) */
    .team-editorial-bio {
      position: relative;
      z-index: 5;
      display: flex;
      flex-direction: column;
      gap: 14px;
      height: 100%;
      min-height: 560px;
      justify-content: flex-start;
      box-sizing: border-box;
      overflow: visible;
    }

    .team-name-row {
      position: relative;
      z-index: 6;
      display: flex;
      flex-direction: column;
      gap: 3px;
    }

    .team-signature-title {
      display: none !important;
    }

    .team-signature-name {
      font-family: var(--font-display);
      font-size: clamp(2.3rem, 3.6vw, 3.3rem);
      font-weight: 900;
      letter-spacing: 1.5px;
      color: #ffffff;
      line-height: 1.08;
      text-transform: uppercase;
      background: var(--gold-gradient);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      filter: drop-shadow(0 4px 15px rgba(0,0,0,0.8));
    }

    .team-capsule-grid {
      position: relative;
      z-index: 6;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 10px;
      width: 100%;
    }

    .team-spec-capsule {
      background: rgba(12, 12, 18, 0.88);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border: 1.5px solid rgba(253, 216, 53, 0.35);
      border-radius: 12px;
      padding: 6px 16px;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      color: #e2e8f0;
      font-size: clamp(0.85rem, 0.92vw, 0.94rem);
      box-shadow: 0 6px 18px rgba(0, 0, 0, 0.6);
      transition: var(--transition-smooth);
      max-width: 100%;
      box-sizing: border-box;
    }

    .team-spec-icon-wrap {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: #fdd835;
      flex-shrink: 0;
    }

    .team-spec-content {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      line-height: 1.35;
    }

    .team-spec-label {
      font-weight: 800;
      color: #fdd835;
      letter-spacing: 0.4px;
    }

    .team-spec-value {
      color: #f1f5f9;
      font-weight: 500;
    }

    .team-spec-capsule:hover {
      background: rgba(18, 18, 26, 0.95);
      border-color: #fdd835;
      transform: translateY(-1px);
      box-shadow: 0 8px 22px rgba(253, 216, 53, 0.25);
    }

    /* Tarjeta Editorial Estructurada de Especialidades */
    .team-spec-card {
      width: 100%;
      background: rgba(12, 12, 18, 0.88);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border: 1.5px solid rgba(253, 216, 53, 0.35);
      border-radius: 18px;
      padding: 12px 18px;
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.7), inset 0 1px 0 rgba(253, 216, 53, 0.15);
      box-sizing: border-box;
      transition: var(--transition-smooth);
      height: auto;
      overflow: visible;
      display: flex;
      flex-direction: column;
      gap: 9px;
    }

    .team-spec-card:hover {
      border-color: rgba(253, 216, 53, 0.6);
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.8), 0 0 18px rgba(253, 216, 53, 0.15);
    }

    .team-spec-card-header {
      display: flex;
      align-items: center;
      gap: 7px;
    }

    .team-spec-card-icon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: #fdd835;
      filter: drop-shadow(0 0 8px rgba(253, 216, 53, 0.5));
    }

    .team-spec-card-label {
      font-size: 0.76rem;
      font-weight: 800;
      letter-spacing: 1.6px;
      text-transform: uppercase;
      color: #fdd835;
    }

    .team-spec-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 7px 9px;
      align-items: center;
    }

    .team-spec-tag {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      background: rgba(253, 216, 53, 0.08);
      border: 1px solid rgba(253, 216, 53, 0.3);
      color: #f1f5f9;
      font-size: clamp(0.82rem, 0.88vw, 0.88rem);
      font-weight: 600;
      padding: 5px 13px;
      border-radius: 999px;
      box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
      transition: all 0.25s ease;
    }

    .team-spec-tag:hover {
      background: rgba(253, 216, 53, 0.2);
      border-color: #fdd835;
      color: #ffffff;
      transform: translateY(-1px);
      box-shadow: 0 4px 12px rgba(253, 216, 53, 0.25);
    }

    .team-spec-tag-bullet {
      color: #fdd835;
      font-size: 0.65rem;
      line-height: 1;
    }

    .team-spec-motto {
      margin-top: 1px;
      padding-top: 7px;
      border-top: 1px dashed rgba(253, 216, 53, 0.2);
      display: flex;
      align-items: center;
      gap: 6px;
      color: #cbd5e1;
      font-size: clamp(0.82rem, 0.88vw, 0.88rem);
      font-style: italic;
      line-height: 1.38;
    }

    .team-spec-motto-icon {
      color: #fdd835;
      font-size: 0.72rem;
      flex-shrink: 0;
    }

    .team-quote-container {
      position: relative;
      z-index: 6;
      background: rgba(12, 12, 18, 0.88);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border: 1px solid rgba(255, 255, 255, 0.08);
      border-left: 3px solid var(--brand-color);
      border-radius: 0 20px 20px 0;
      padding: 20px 26px;
      box-shadow: 0 14px 35px rgba(0, 0, 0, 0.65), inset 0 0 30px rgba(253, 216, 53, 0.03);
      flex: 1 1 auto;
      display: flex;
      flex-direction: column;
      justify-content: center;
      height: auto;
      max-height: none;
      overflow: visible;
      box-sizing: border-box;
    }

    .team-quote-icon {
      position: absolute;
      top: -10px;
      right: 16px;
      font-size: 2.6rem;
      color: rgba(253, 216, 53, 0.10);
      pointer-events: none;
    }

    .team-history-text {
      font-size: clamp(0.95rem, 1.05vw, 1.05rem);
      line-height: 1.78;
      color: #cbd5e1;
      margin: 0;
      font-style: italic;
      transition: opacity 0.25s ease;
      width: 100%;
    }

    .team-bio-p {
      margin: 0 0 12px 0;
    }
    .team-bio-p:last-child {
      margin-bottom: 0;
    }

    /* VIP Stylist Selector Carousel Dock */
    .team-selector-dock {
      grid-column: 1 / -1;
      grid-row: 2;
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 14px;
      margin-top: 10px;
      padding-top: 16px;
      border-top: 1px solid rgba(253, 216, 53, 0.2);
      box-sizing: border-box;
      position: relative;
    }

    .team-dock-pills {
      display: flex;
      align-items: center;
      gap: 10px;
      flex-wrap: nowrap;
      overflow: visible;
      padding: 12px 14px;
      max-width: calc(100% - 140px);
    }
    .team-dock-pills::-webkit-scrollbar {
      display: none;
    }

    .team-dock-btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 6px 16px 6px 6px;
      border-radius: 40px;
      background: rgba(255, 255, 255, 0.04);
      border: 1.5px solid rgba(253, 216, 53, 0.35);
      color: #cbd5e1;
      font-size: 0.84rem;
      font-weight: 700;
      cursor: pointer;
      transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
      white-space: nowrap;
      flex-shrink: 0;
    }

    .team-dock-btn:hover {
      background: rgba(253, 216, 53, 0.15);
      border-color: #fdd835;
      color: #ffffff;
      transform: translateY(-2px);
      box-shadow: 0 4px 15px rgba(253, 216, 53, 0.25);
    }

    .team-dock-btn.active {
      background: linear-gradient(135deg, rgba(253, 216, 53, 0.28) 0%, rgba(20, 20, 25, 0.95) 100%);
      border-color: #fdd835;
      color: #fdd835;
      box-shadow: 0 0 20px rgba(253, 216, 53, 0.45);
    }

    .team-dock-avatar {
      width: 32px;
      height: 32px;
      border-radius: 50%;
      object-fit: cover;
      border: 1.5px solid var(--brand-color);
      flex-shrink: 0;
    }

    .team-nav-arrow-btn {
      width: 42px;
      height: 42px;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.05);
      border: 1.5px solid rgba(253, 216, 53, 0.4);
      color: #fdd835;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.95rem;
      cursor: pointer;
      transition: var(--transition-smooth);
      flex-shrink: 0;
    }

    .team-nav-arrow-btn:hover {
      background: var(--brand-color);
      color: #000000;
      transform: scale(1.08);
      box-shadow: 0 0 15px rgba(253, 216, 53, 0.7);
    }

    .team-counter-text {
      font-size: 0.88rem;
      font-weight: 800;
      letter-spacing: 1px;
      color: #94a3b8;
      min-width: 45px;
      text-align: center;
      flex-shrink: 0;
    }

    /* ==========================================================================
       5. SECCIÓN CONTACTO: MONOLITOS FLOTANTES DE LUJO CON CHRONO-STREAM
       ========================================================================== */
    .section-contact {
      position: relative;
      padding: 120px 24px 230px 24px;
      z-index: 4;
      overflow: visible;
    }

    .contact-split-stage {
      max-width: 1360px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1.15fr 1fr;
      gap: 36px;
      align-items: stretch;
      position: relative;
      z-index: 4;
    }

    /* Monolito del Mapa con Elevación Flotante */
    .contact-map-monolith {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      gap: 16px;
      height: 100%;
      will-change: transform;
    }

    .contact-map-crystal-card {
      flex: 1;
      min-height: 290px;
      border-radius: 26px;
      overflow: hidden;
      border: 2px solid rgba(253, 216, 53, 0.45);
      box-shadow: 0 30px 80px rgba(0, 0, 0, 0.95), 0 0 35px rgba(253, 216, 53, 0.2);
      position: relative;
      background: #f8f6f2;
      transition: border-color 0.3s ease, box-shadow 0.3s ease;
    }

    .contact-map-crystal-card:hover {
      border-color: #fdd835;
      box-shadow: 0 35px 95px rgba(0, 0, 0, 0.98), 0 0 50px rgba(253, 216, 53, 0.35);
    }

    #contactMap {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: #f8f6f2;
    }
    .maplibregl-ctrl-attrib { display: none !important; }

    .map-recenter-btn {
      position: absolute;
      top: 14px;
      right: 14px;
      z-index: 10;
      width: 40px;
      height: 40px;
      border-radius: 12px;
      background: rgba(14, 14, 18, 0.92);
      backdrop-filter: blur(10px);
      border: 1.5px solid rgba(253, 216, 53, 0.6);
      color: #fdd835;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      font-size: 1.15rem;
      box-shadow: 0 6px 18px rgba(0, 0, 0, 0.7);
      transition: all 0.25s ease;
    }
    .map-recenter-btn:hover {
      background: rgba(253, 216, 53, 0.3);
      border-color: #fdd835;
      color: #ffffff;
      transform: scale(1.1);
      box-shadow: 0 0 18px rgba(253, 216, 53, 0.7);
    }

    /* Chincheta Vectorial con Inclinación 22° Exacta */
    .luxury-vector-pin {
      cursor: pointer;
      user-select: none;
      filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.9));
      display: flex;
      flex-direction: column;
      align-items: center;
    }
    .luxury-pin-badge {
      background: linear-gradient(135deg, #18181c 0%, #0d0d10 100%);
      border: 1.5px solid #fdd835;
      border-radius: 20px;
      padding: 5px 14px;
      color: #ffffff;
      font-family: var(--font-brand);
      font-size: 11.5px;
      font-weight: 800;
      letter-spacing: 0.5px;
      display: flex;
      align-items: center;
      gap: 6px;
      box-shadow: 0 4px 15px rgba(0, 0, 0, 0.7), 0 0 10px rgba(253, 216, 53, 0.35);
      transform: rotate(22deg);
      transform-origin: center bottom;
      margin-bottom: 2px;
      white-space: nowrap;
    }
    .luxury-pin-badge i { color: #fdd835; font-size: 12px; }
    .luxury-pin-badge span.pin-brand-gold { color: #fdd835; }
    .luxury-pin-stem-wrap { display: flex; flex-direction: column; align-items: center; }
    .luxury-pin-stem { width: 2px; height: 12px; background: #fdd835; box-shadow: 0 0 6px rgba(253, 216, 53, 0.6); }
    .luxury-pin-arrow { width: 0; height: 0; border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 7px solid #fdd835; margin-top: -1px; }
    .luxury-pin-pulse { width: 10px; height: 4px; background: rgba(0, 0, 0, 0.6); border-radius: 50%; margin-top: 1px; }

    /* Barra Flotante de Dirección sobre el Mapa */
    .contact-map-hud-bar {
      position: absolute;
      bottom: 14px;
      left: 14px;
      right: 14px;
      background: rgba(14, 14, 20, 0.94);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border: 1.5px solid rgba(253, 216, 53, 0.5);
      border-radius: 20px;
      padding: 10px 18px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      text-decoration: none;
      color: #ffffff;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.85);
      transition: var(--transition-smooth);
      z-index: 10;
    }

    .contact-map-hud-bar:hover {
      background: rgba(10, 10, 15, 0.98);
      border-color: #fdd835;
      transform: translateY(-2px);
      box-shadow: 0 15px 35px rgba(0, 0, 0, 0.95), 0 0 25px rgba(253, 216, 53, 0.5);
    }

    .map-hud-text {
      font-size: 0.88rem;
      font-weight: 700;
      color: #ffffff;
    }

    .map-hud-text strong {
      color: #fdd835;
    }

    .contact-map-hud-bar:hover .map-hud-text {
      color: #ffffff;
    }

    .contact-map-hud-bar:hover .map-hud-text strong {
      color: #fdd835;
      text-shadow: 0 0 8px rgba(253, 216, 53, 0.6);
    }

    .map-hud-action-btn {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: var(--gold-gradient);
      color: #000000;
      font-size: 0.78rem;
      font-weight: 800;
      padding: 6px 14px;
      border-radius: 14px;
      white-space: nowrap;
      box-shadow: 0 2px 10px rgba(253, 216, 53, 0.3);
      transition: transform 0.2s ease;
    }
    .contact-map-hud-bar:hover .map-hud-action-btn {
      transform: scale(1.05);
      box-shadow: 0 4px 15px rgba(253, 216, 53, 0.6);
    }

    /* Pastillas Flotantes de Transporte y Acceso */
    .contact-access-capsules-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
      position: relative;
      z-index: 4;
    }

    .contact-access-capsule {
      position: relative;
      z-index: 4;
      background: rgba(14, 14, 20, 0.92);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border: 1.5px solid rgba(253, 216, 53, 0.35);
      border-radius: 20px;
      padding: 14px 18px;
      display: flex;
      align-items: center;
      gap: 12px;
      box-shadow: 0 8px 25px rgba(0, 0, 0, 0.6);
      transition: var(--transition-smooth);
    }

    .contact-access-capsule:hover {
      background: rgba(253, 216, 53, 0.1);
      border-color: #fdd835;
      transform: translateY(-2px);
    }

    .capsule-icon-wrap {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      background: rgba(253, 216, 53, 0.15);
      border: 1px solid rgba(253, 216, 53, 0.4);
      color: #fdd835;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.1rem;
      flex-shrink: 0;
    }

    .capsule-content-title {
      font-size: 0.8rem;
      font-weight: 800;
      color: var(--brand-color);
      text-transform: uppercase;
      letter-spacing: 1px;
      margin-bottom: 2px;
    }

    .capsule-content-desc {
      font-size: 0.85rem;
      color: #cbd5e1;
      line-height: 1.35;
    }

    /* Barra de Acción de Citas y Redes */
    .contact-cta-dock {
      background: rgba(14, 14, 20, 0.9);
      border: 1.5px solid rgba(253, 216, 53, 0.35);
      border-radius: 24px;
      padding: 16px 20px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      flex-wrap: wrap;
      box-shadow: 0 15px 40px rgba(0, 0, 0, 0.8);
      position: relative;
      z-index: 4;
    }

    .btn-call-monolith {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      background: var(--gold-gradient);
      color: #000000;
      font-weight: 900;
      font-size: 0.95rem;
      letter-spacing: 0.5px;
      padding: 12px 24px;
      border-radius: 30px;
      text-decoration: none;
      box-shadow: 0 4px 20px rgba(253, 216, 53, 0.45);
      transition: var(--transition-smooth);
    }

    .btn-call-monolith:hover {
      transform: translateY(-2px) scale(1.03);
      box-shadow: 0 8px 30px rgba(253, 216, 53, 0.8);
    }

    .contact-social-inline-group { display: inline-flex; align-items: center; gap: 10px; }
    .contact-social-btn {
      width: 44px;
      height: 44px;
      border-radius: 50%;
      background: rgba(0, 0, 0, 0.65);
      border: 1.5px solid rgba(253, 216, 53, 0.4);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      color: #fdd835;
      font-size: 1.1rem;
      transition: var(--transition-smooth);
      text-decoration: none;
    }
    .contact-social-btn:hover {
      transform: translateY(-2px) scale(1.08);
      border-color: #fdd835;
      background: rgba(22, 22, 24, 0.95);
      color: #ffffff;
      box-shadow: 0 0 12px rgba(253, 216, 53, 0.5);
    }

    /* Columna Derecha: Chrono-Stream de Horarios */
    .contact-chrono-stream {
      position: relative;
      z-index: 4;
      display: flex;
      flex-direction: column;
      gap: 10px;
      will-change: transform;
    }

    .chrono-stream-header {
      position: relative;
      z-index: 5;
      background: rgba(12, 12, 18, 0.96);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border: 1.5px solid rgba(253, 216, 53, 0.45);
      border-radius: 22px;
      padding: 16px 22px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      box-shadow: 0 12px 35px rgba(0, 0, 0, 0.85);
      margin-bottom: 4px;
    }

    .chrono-header-title {
      font-size: 1.15rem;
      font-weight: 800;
      color: #ffffff;
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .chrono-header-title i {
      color: var(--brand-color);
    }

    .live-status-pill {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: 0.76rem;
      font-weight: 800;
      padding: 5px 12px;
      border-radius: 20px;
      letter-spacing: 0.5px;
      text-transform: uppercase;
    }
    .live-status-pill.open {
      background: rgba(16, 185, 129, 0.15);
      color: #34d399;
      border: 1px solid rgba(16, 185, 129, 0.4);
    }
    .live-status-pill.closed {
      background: rgba(239, 68, 68, 0.15);
      color: #f87171;
      border: 1px solid rgba(239, 68, 68, 0.4);
    }
    .pulse-live-dot {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: currentColor;
      box-shadow: 0 0 8px currentColor;
      animation: liveDotPulse 2s ease-in-out infinite;
    }

    /* Tiras Flotantes de Cada Día (Chrono-Pills) */
    /* Tiras Flotantes de Cada Día (Chrono-Pills) */
    .chrono-day-card {
      position: relative;
      z-index: 5;
      background: rgba(12, 12, 18, 0.92);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border: 1px solid rgba(255, 255, 255, 0.08);
      border-radius: 16px;
      padding: 12px 18px;
      min-height: 52px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
      box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5);
      box-sizing: border-box;
      min-width: 0;
    }

    .chrono-day-card:hover {
      background: rgba(20, 20, 28, 0.96);
      border-color: rgba(253, 216, 53, 0.5);
      transform: translateX(6px);
      box-shadow: 0 8px 25px rgba(0, 0, 0, 0.8), 0 0 15px rgba(253, 216, 53, 0.2);
    }

    /* Resaltado del Día Actual (HOY) */
    .chrono-day-card.is-today {
      background: rgba(26, 24, 14, 0.96);
      border: 1.5px solid #fdd835;
      box-shadow: 0 0 20px rgba(253, 216, 53, 0.28), inset 0 0 12px rgba(253, 216, 53, 0.08);
      padding: 12px 18px;
      min-height: 52px;
      transform: scale(1.01);
    }

    .chrono-day-card.is-today:hover {
      transform: scale(1.01) translateX(6px);
    }

    .chrono-day-meta {
      display: flex;
      align-items: center;
      gap: 8px;
      flex-shrink: 0;
      min-width: 0;
    }

    .chrono-status-indicator {
      width: 9px;
      height: 9px;
      border-radius: 50%;
      flex-shrink: 0;
    }
    .chrono-status-indicator.open { background: #10b981; box-shadow: 0 0 8px #10b981; }
    .chrono-status-indicator.morning { background: #f59e0b; box-shadow: 0 0 8px #f59e0b; }
    .chrono-status-indicator.closed { background: #ef4444; box-shadow: 0 0 8px #ef4444; }

    .chrono-day-name {
      font-size: 0.96rem;
      font-weight: 700;
      color: #ffffff;
      letter-spacing: 0.2px;
    }

    .chrono-today-tag {
      background: linear-gradient(135deg, #fdd835 0%, #c6a700 100%);
      color: #000000;
      font-size: 0.62rem;
      font-weight: 900;
      padding: 2px 6px;
      border-radius: 6px;
      letter-spacing: 0.6px;
      text-transform: uppercase;
      line-height: 1.2;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      box-shadow: 0 2px 6px rgba(253, 216, 53, 0.4);
    }

    .chrono-hours-value {
      font-size: 0.94rem;
      font-weight: 800;
      color: #ffffff;
      text-align: right;
      min-width: 0;
    }

    .chrono-hours-value.closed {
      color: #64748b;
      font-weight: 600;
    }

    .chrono-holiday-wrap {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      justify-content: center;
      gap: 2px;
      text-align: right;
      min-width: 0;
      flex: 1;
    }

    .chrono-holiday-badge {
      color: #f87171;
      font-weight: 800;
      font-size: 0.88rem;
      line-height: 1.15;
      white-space: nowrap;
    }

    .chrono-holiday-reason {
      font-size: 0.72rem;
      color: #fca5a5;
      font-weight: 600;
      line-height: 1.2;
      white-space: normal;
      text-align: right;
      word-break: normal;
    }

    .upcoming-holiday-box {
      position: relative;
      z-index: 5;
      margin-top: 10px;
      padding: 12px 16px;
      border-radius: 16px;
      background: rgba(18, 12, 14, 0.97);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border: 1.2px solid rgba(239, 68, 68, 0.4);
      color: #fca5a5;
      display: flex;
      align-items: center;
      gap: 12px;
      box-shadow: 0 8px 25px rgba(0,0,0,0.85), inset 0 0 15px rgba(239, 68, 68, 0.08);
      box-sizing: border-box;
      width: 100%;
    }
    .upcoming-holiday-box svg {
      color: #ef4444;
      flex-shrink: 0;
    }
    .upcoming-holiday-body {
      display: flex;
      flex-direction: column;
      gap: 2px;
      min-width: 0;
      flex: 1;
      text-align: left;
    }
    .upcoming-holiday-line1 {
      font-size: 0.84rem;
      color: #fecaca;
      font-weight: 600;
      line-height: 1.25;
      white-space: normal;
    }
    .upcoming-holiday-line1 strong {
      color: #ffffff;
      font-weight: 800;
    }
    .upcoming-holiday-status {
      color: #f87171;
      font-weight: 700;
    }
    .upcoming-holiday-line2 {
      font-size: 0.76rem;
      color: #fca5a5;
      font-weight: 600;
      line-height: 1.2;
      white-space: normal;
      word-break: normal;
    }

    /* Modal de Reseñas de Google (Idéntico a Foto 1) */
    .google-modal-overlay {
      position: fixed;
      top: 0; left: 0;
      width: 100vw; height: 100vh;
      background: rgba(0, 0, 0, 0.8);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 999999;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.3s ease;
      padding: 20px;
    }
    .google-modal-card {
      background: rgba(18, 18, 18, 0.94);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border: 1px solid rgba(253, 216, 53, 0.35);
      border-radius: 1.8rem;
      padding: 2.2rem 2rem;
      width: 90%;
      max-width: 440px;
      text-align: center;
      position: relative;
      box-shadow: 0 30px 60px rgba(0, 0, 0, 0.85), 0 0 35px rgba(253, 216, 53, 0.2);
    }
    .google-modal-close {
      position: absolute;
      top: 14px;
      right: 16px;
      background: transparent;
      border: none;
      color: #888888;
      font-size: 1.8rem;
      cursor: pointer;
      line-height: 1;
      transition: color 0.2s ease;
    }
    .google-modal-close:hover {
      color: #ffffff;
    }
    .google-stars-row {
      display: flex;
      justify-content: center;
      gap: 10px;
      font-size: 2.8rem;
      margin: 8px 0 16px 0;
      user-select: none;
    }
    .star-item {
      color: #fdd835;
      cursor: pointer;
      text-shadow: 0 0 16px rgba(253, 216, 53, 0.85);
      transition: transform 0.15s ease, color 0.15s ease;
    }
    .star-item:hover {
      transform: scale(1.18);
    }
    .google-feedback-textarea {
      width: 100%;
      height: 95px;
      background: rgba(0, 0, 0, 0.55);
      border: 1px solid rgba(255, 255, 255, 0.15);
      border-radius: 1rem;
      padding: 12px 14px;
      color: #ffffff;
      font-family: inherit;
      font-size: 0.92rem;
      margin-bottom: 16px;
      display: block;
      resize: none;
      outline: none;
      box-sizing: border-box;
      transition: border-color 0.2s ease;
    }
    .google-feedback-textarea:focus {
      border-color: rgba(253, 216, 53, 0.7);
    }
    .google-modal-btn-action {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      padding: 0.95rem;
      background: linear-gradient(135deg, #fdd835 0%, #e6be00 100%);
      border: none;
      border-radius: 2rem;
      color: #000000;
      font-weight: 800;
      font-size: 0.95rem;
      cursor: pointer;
      text-decoration: none;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      box-shadow: 0 0 20px rgba(253, 216, 53, 0.4);
      transition: transform 0.2s ease, box-shadow 0.2s ease;
      font-family: inherit;
    }
    .google-modal-btn-action:hover {
      transform: translateY(-2px);
      box-shadow: 0 6px 25px rgba(253, 216, 53, 0.6);
    }

    /* ==========================================================================
       PANTALLA DE PORTAL DE INICIO (DISEÑO EXACTO FOTO 2)
       ========================================================================== */
    body.portal-mode {
      overflow: hidden !important;
      touch-action: none !important;
    }

    body.portal-mode .luxury-navbar {
      transform: translate(-50%, -150%) !important;
      opacity: 0;
      pointer-events: none;
      transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.8s ease;
    }

    body.portal-mode .parallax-hero-section {
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 0 20px;
    }

    body.portal-mode .hero-content {
      margin: auto 0;
    }

    body.portal-mode #heroContentRest,
    body.portal-mode .stats-section,
    body.portal-mode .section-services,
    body.portal-mode .section-gallery,
    body.portal-mode .section-team,
    body.portal-mode .section-contact,
    body.portal-mode .silk-section-divider,
    body.portal-mode .luxury-footer {
      display: none !important;
      opacity: 0 !important;
      visibility: hidden !important;
    }

    /* ENLACE ELEGANTE AL PIE DEL LOGO (— E N T R A R —) (FOTO 2) */
    .hero-enter-link {
      margin-top: 26px;
      margin-bottom: 8px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 22px;
      cursor: pointer;
      z-index: 10;
      transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
      user-select: none;
      background: transparent !important;
      border: none !important;
      text-decoration: none;
    }

    .hero-enter-link .enter-line {
      width: 65px;
      height: 2px;
      background: linear-gradient(90deg, transparent, #fdd835);
      transition: all 0.35s ease;
      border-radius: 2px;
      box-shadow: 0 0 8px rgba(253, 216, 53, 0.6);
    }
    .hero-enter-link .enter-line:last-child {
      background: linear-gradient(90deg, #fdd835, transparent);
    }

    .hero-enter-link .enter-text {
      color: #ffffff;
      font-family: 'Outfit', sans-serif;
      font-size: 1.45rem;
      font-weight: 800;
      letter-spacing: 9px;
      text-transform: uppercase;
      transition: all 0.35s ease;
      background: linear-gradient(120deg, #ffffff 0%, #ffffff 30%, #fdd835 50%, #ffffff 70%, #ffffff 100%);
      background-size: 200% auto;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      animation: enterTextShimmer 3.8s linear infinite;
    }

    .hero-enter-link:hover {
      transform: scale(1.06) translateY(-2px);
    }
    .hero-enter-link:hover .enter-text {
      background: linear-gradient(120deg, #fdd835 0%, #fffde7 50%, #fdd835 100%);
      background-size: 200% auto;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      letter-spacing: 11px;
    }
    .hero-enter-link:hover .enter-line {
      width: 90px;
      background: #fdd835;
      box-shadow: 0 0 14px rgba(253, 216, 53, 0.9);
    }

    @keyframes enterTextShimmer {
      0% { background-position: 200% center; }
      100% { background-position: -200% center; }
    }

    /* REDES SOCIALES DEL PORTAL (DISEÑO IDÉNTICO A LA WEB ORIGINAL - FOTO 4) */
    .portal-social-row {
      margin-top: 55px;
      display: flex;
      gap: 36px;
      align-items: center;
      justify-content: center;
      z-index: 10;
      transition: all 0.4s ease;
    }
    .portal-social-row div {
      cursor: pointer;
      display: inline-flex;
    }
    .portal-social-row svg {
      width: 70px;
      height: 70px;
      fill: #FFEB3B;
      background: rgba(0, 0, 0, 0.6);
      border-radius: 50%;
      padding: 14px;
      filter: drop-shadow(0 0 14px #FFE082);
      transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), fill 0.3s ease, filter 0.3s ease;
      box-sizing: border-box;
      display: block;
    }
    .portal-social-row svg:hover {
      transform: scale(1.15);
      fill: #FFF176;
      filter: drop-shadow(0 0 24px #FFD54F);
    }
    @media (max-width: 480px) {
      .portal-social-row { gap: 20px; margin-top: 40px; }
      .portal-social-row svg { width: 56px; height: 56px; padding: 10px; }
    }

    /* Insignia Flotante Dinámica al pasar el ratón (Foto 1) */
    .social-hover-chip-wrapper {
      position: relative;
      margin-top: 14px;
      width: 100%;
      max-width: 480px;
      height: 38px;
      z-index: 10;
      pointer-events: none;
      display: flex;
      justify-content: center;
    }
    .social-hover-chip {
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%) translateY(-4px) scale(0.92);
      white-space: nowrap;
      background: rgba(14, 14, 14, 0.94);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      border: 1px solid rgba(253, 216, 53, 0.65);
      border-radius: 20px;
      padding: 5px 18px;
      font-size: 0.82rem;
      font-weight: 700;
      color: #fdd835;
      text-shadow: 0 0 10px rgba(253, 216, 53, 0.6);
      box-shadow: 0 10px 25px rgba(0, 0, 0, 0.85), 0 0 20px rgba(253, 216, 53, 0.4);
      opacity: 0;
      transition: left 0.25s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.2s ease, transform 0.2s ease;
      pointer-events: none;
    }
    .social-hover-chip.active {
      opacity: 1;
      transform: translateX(-50%) translateY(0) scale(1);
    }

    /* FOOTER LEGAL EXTERIOR EN PORTAL (FOTO 2) */
    .portal-legal-footer {
      position: fixed;
      bottom: 22px;
      left: 50%;
      transform: translateX(-50%);
      width: 100%;
      max-width: 1200px;
      text-align: center;
      z-index: 100;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 4px;
      font-size: 0.82rem;
      user-select: none;
      transition: opacity 0.4s ease, transform 0.4s ease;
      pointer-events: auto;
    }

    .portal-legal-footer .portal-legal-copy {
      color: rgba(255, 255, 255, 0.85);
      font-weight: 500;
      letter-spacing: 0.2px;
    }
    .portal-legal-footer .portal-legal-copy strong {
      color: #fdd835;
      font-weight: 700;
    }

    .portal-legal-footer .portal-legal-links {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
    }
    .portal-legal-footer .portal-legal-links a {
      color: #fdd835;
      font-weight: 700;
      text-decoration: none;
      transition: color 0.2s ease;
      cursor: pointer;
    }
    .portal-legal-footer .portal-legal-links a:hover {
      color: #fffde7;
      text-decoration: underline;
    }
    .portal-legal-footer .portal-sep {
      color: rgba(255, 255, 255, 0.35);
    }

    /* ESTADO WEB ACTIVA TRAS PULSAR ENTRAR */
    body.web-mode-active #heroEnterLink,
    body.web-mode-active #portalSocialRow,
    body.web-mode-active #portalLegalFooter {
      opacity: 0 !important;
      transform: scale(0.85) translateY(15px) !important;
      pointer-events: none !important;
      display: none !important;
    }

    body.web-mode-active .luxury-navbar {
      transform: translate(-50%, 0) !important;
      opacity: 1;
      pointer-events: auto;
    }

    body.web-mode-active .parallax-hero-section {
      padding: 85px 24px 20px 24px;
      min-height: 100vh;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    body.web-mode-active .hero-grand-logo-wrap {
      max-width: 580px;
      margin-top: 0;
      margin-bottom: 12px;
    }

    body.web-mode-active .hero-title-main {
      font-size: clamp(2.3rem, 4.8vw, 3.8rem);
      margin-top: 0px;
      margin-bottom: 6px;
    }

    body.web-mode-active .hero-subtitle {
      max-width: 680px;
      font-size: 0.98rem;
      line-height: 1.5;
      margin-bottom: 12px;
    }

    body.web-mode-active #heroContentRest {
      display: flex !important;
      flex-direction: column;
      align-items: center;
      animation: heroFadeIn 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    }

    @keyframes heroFadeIn {
      from { opacity: 0; transform: translateY(24px); }
      to { opacity: 1; transform: translateY(0); }
    }

    body.web-mode-active .stats-section,
    body.web-mode-active .section-services,
    body.web-mode-active .section-gallery,
    body.web-mode-active .section-team,
    body.web-mode-active .section-contact,
    body.web-mode-active .luxury-footer {
      display: block !important;
      animation: pageFadeIn 0.6s ease forwards;
    }
    body.web-mode-active .silk-section-divider {
      display: flex !important;
      animation: pageFadeIn 0.6s ease forwards;
    }
    @keyframes pageFadeIn {
      from { opacity: 0; }
      to { opacity: 1; }
    }

    /* ==========================================================================
       MODAL EXCLUSIVO: CITAS & RESERVAS (ALTA COSTURA)
       ========================================================================== */
    .phone-appointment-modal-overlay {
      display: none;
      position: fixed;
      inset: 0;
      background: rgba(2, 2, 5, 0.92);
      backdrop-filter: blur(25px);
      -webkit-backdrop-filter: blur(25px);
      z-index: 3500;
      align-items: center;
      justify-content: center;
      padding: 20px;
      opacity: 0;
      transition: opacity 0.3s ease;
    }
    .phone-appointment-modal-overlay.active {
      display: flex;
      opacity: 1;
    }
    .phone-appointment-card {
      background: radial-gradient(circle at 50% 0%, rgba(253, 216, 53, 0.18) 0%, rgba(12, 12, 16, 0.98) 75%);
      border: 1.5px solid rgba(253, 216, 53, 0.5);
      border-radius: 28px;
      max-width: 760px;
      width: 100%;
      padding: 38px 30px 28px 30px;
      text-align: center;
      box-shadow: 0 30px 90px rgba(0,0,0,0.95), 0 0 45px rgba(253,216,53,0.25);
      position: relative;
      animation: modalScaleIn 0.35s cubic-bezier(0.16, 1, 0.3, 1);
      box-sizing: border-box;
    }
    @keyframes modalScaleIn {
      from { transform: scale(0.92) translateY(20px); opacity: 0; }
      to   { transform: scale(1) translateY(0); opacity: 1; }
    }
    .phone-modal-close-btn {
      position: absolute;
      top: 18px;
      right: 18px;
      width: 38px;
      height: 38px;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.08);
      border: 1px solid rgba(253, 216, 53, 0.4);
      color: #ffffff;
      font-size: 1.2rem;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: var(--transition-smooth);
    }
    .phone-modal-close-btn:hover { background: #ef4444; border-color: #ef4444; transform: scale(1.1); }

    .phone-modal-emblem-badge {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: rgba(253, 216, 53, 0.12);
      border: 1px solid rgba(253, 216, 53, 0.35);
      padding: 5px 16px;
      border-radius: 20px;
      color: #fdd835;
      font-size: 0.78rem;
      font-weight: 800;
      letter-spacing: 2px;
      text-transform: uppercase;
      margin-bottom: 16px;
    }
    .phone-modal-title {
      font-family: var(--font-display);
      font-size: 1.95rem;
      font-weight: 800;
      color: #ffffff;
      margin-bottom: 8px;
      letter-spacing: 0.5px;
    }
    .phone-modal-subtitle {
      color: #cbd5e1;
      font-size: 0.95rem;
      line-height: 1.6;
      margin-bottom: 24px;
    }
    .phone-modal-actions-wrap {
      margin-bottom: 18px;
    }
    .phone-modal-btn-call {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      width: 100%;
      padding: 16px 24px;
      border-radius: 35px;
      background: linear-gradient(135deg, #fdd835 0%, #c6a700 100%);
      color: #000000;
      font-size: 1.08rem;
      font-weight: 900;
      letter-spacing: 1.2px;
      text-transform: uppercase;
      text-decoration: none;
      box-shadow: 0 4px 25px rgba(253, 216, 53, 0.5), 0 0 40px rgba(253, 216, 53, 0.25);
      transition: all 0.25s ease;
      box-sizing: border-box;
    }
    .phone-modal-btn-call:hover {
      transform: translateY(-2px);
      box-shadow: 0 8px 35px rgba(253, 216, 53, 0.85);
    }
    .phone-modal-call-notice {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      font-size: 0.82rem;
      color: #94a3b8;
      margin-top: 10px;
    }
    .phone-modal-call-notice strong {
      color: #fdd835;
    }

    .phone-modal-real-schedule {
      background: rgba(0, 0, 0, 0.65);
      border: 1px solid rgba(253, 216, 53, 0.35);
      border-radius: 18px;
      padding: 16px 18px;
      margin-bottom: 14px;
      text-align: left;
      box-shadow: inset 0 2px 10px rgba(0,0,0,0.4);
    }
    .modal-schedule-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 12px;
      padding-bottom: 8px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
      font-size: 0.9rem;
      font-weight: 700;
      color: #ffffff;
    }
    .modal-live-badge {
      font-size: 0.72rem;
      font-weight: 800;
      padding: 3px 9px;
      border-radius: 12px;
      letter-spacing: 0.5px;
    }
    .modal-live-badge.open {
      background: rgba(16, 185, 129, 0.18);
      color: #10b981;
      border: 1px solid rgba(16, 185, 129, 0.45);
    }
    .modal-live-badge.closed {
      background: rgba(239, 68, 68, 0.18);
      color: #ef4444;
      border: 1px solid rgba(239, 68, 68, 0.45);
    }
    .modal-schedule-week-row {
      display: grid;
      grid-template-columns: repeat(7, 1fr);
      gap: 6px;
    }
    @media (max-width: 640px) {
      .modal-schedule-week-row {
        grid-template-columns: repeat(4, 1fr);
        gap: 6px;
      }
    }
    @media (max-width: 420px) {
      .modal-schedule-week-row {
        grid-template-columns: repeat(2, 1fr);
        gap: 6px;
      }
    }
    .modal-day-pill {
      background: rgba(255, 255, 255, 0.03);
      border: 1px solid rgba(255, 255, 255, 0.08);
      border-radius: 12px;
      padding: 8px 4px;
      text-align: center;
      transition: all 0.2s ease;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
    }
    .modal-day-pill.is-today {
      background: rgba(253, 216, 53, 0.15);
      border-color: #fdd835;
      box-shadow: 0 0 16px rgba(253, 216, 53, 0.25);
    }
    .day-pill-top {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 4px;
      margin-bottom: 5px;
      font-size: 0.78rem;
      font-weight: 800;
      color: #cbd5e1;
    }
    .modal-day-pill.is-today .day-pill-name {
      color: #fdd835;
    }
    .day-pill-today-dot {
      background: #fdd835;
      color: #000;
      font-size: 0.55rem;
      font-weight: 900;
      padding: 1px 3px;
      border-radius: 3px;
      line-height: 1;
    }
    .day-pill-time {
      font-size: 0.74rem;
      font-weight: 800;
      color: #ffffff;
      white-space: nowrap;
      line-height: 1.1;
      margin-top: 3px;
    }
    .modal-status-dot {
      width: 9px;
      height: 9px;
      border-radius: 50%;
      flex-shrink: 0;
      display: inline-block;
    }
    .modal-status-dot.open {
      background: #10b981;
      box-shadow: 0 0 8px #10b981;
    }
    .modal-status-dot.morning {
      background: #f59e0b;
      box-shadow: 0 0 8px #f59e0b;
    }
    .modal-status-dot.closed {
      background: #ef4444;
      box-shadow: 0 0 8px #ef4444;
    }
    .row-today-tag {
      background: #fdd835;
      color: #000000;
      font-size: 0.62rem;
      font-weight: 900;
      padding: 1px 5px;
      border-radius: 4px;
    }

    .phone-modal-salon-presence {
      background: rgba(0, 0, 0, 0.55);
      border: 1px solid rgba(253, 216, 53, 0.3);
      border-radius: 18px;
      padding: 14px 18px;
      text-align: left;
    }
    .salon-presence-header {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 10px;
      font-size: 0.86rem;
      color: #cbd5e1;
    }
    .salon-presence-header strong {
      color: #ffffff;
      display: block;
      font-size: 0.92rem;
    }
    .phone-modal-location-bar {
      display: flex;
      align-items: center;
      gap: 10px;
      background: rgba(253, 216, 53, 0.08);
      border: 1px solid rgba(253, 216, 53, 0.35);
      border-radius: 12px;
      padding: 10px 14px;
      text-decoration: none;
      color: #cbd5e1;
      font-size: 0.85rem;
      transition: all 0.25s ease;
      text-align: left;
    }
    .phone-modal-location-bar:hover {
      background: rgba(253, 216, 53, 0.16);
      border-color: #fdd835;
      color: #ffffff;
      transform: translateY(-2px);
    }
    .modal-location-text strong {
      color: #ffffff;
    }
    .modal-maps-btn {
      background: rgba(253, 216, 53, 0.18);
      border: 1px solid rgba(253, 216, 53, 0.45);
      color: #fdd835;
      font-size: 0.76rem;
      font-weight: 800;
      padding: 4px 10px;
      border-radius: 8px;
      white-space: nowrap;
      margin-left: auto;
      letter-spacing: 0.5px;
      display: inline-flex;
      align-items: center;
      gap: 5px;
    }

    /* ==========================================================================
       MODAL LEGAL / RGPD CON PESTAÑAS (AVISO LEGAL, PRIVACIDAD Y COOKIES)
       ========================================================================== */
    .legal-modal-overlay {
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, 0.88);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      display: none;
      align-items: center;
      justify-content: center;
      z-index: 99999;
      opacity: 0;
      transition: opacity 0.3s ease;
      padding: 20px;
    }
    .legal-modal-overlay.active {
      display: flex !important;
      opacity: 1;
    }
    .legal-modal-card {
      background: rgba(14, 14, 18, 0.98);
      border: 1.5px solid rgba(253, 216, 53, 0.45);
      border-radius: 24px;
      width: 92vw;
      max-width: 980px;
      height: 80vh;
      max-height: 720px;
      display: flex;
      flex-direction: column;
      box-shadow: 0 25px 80px rgba(0, 0, 0, 0.95), 0 0 40px rgba(253, 216, 53, 0.2);
      overflow: hidden;
      color: #ffffff;
      position: relative;
    }
    .legal-modal-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 16px 24px;
      border-bottom: 1px solid rgba(253, 216, 53, 0.25);
      background: rgba(0, 0, 0, 0.4);
    }
    .legal-tabs-nav {
      display: flex;
      gap: 10px;
    }
    .legal-tab-btn {
      background: rgba(255, 255, 255, 0.05);
      border: 1px solid rgba(253, 216, 53, 0.25);
      color: #cbd5e1;
      padding: 8px 18px;
      border-radius: 20px;
      font-family: inherit;
      font-size: 0.9rem;
      font-weight: 700;
      cursor: pointer;
      transition: all 0.2s ease;
    }
    .legal-tab-btn:hover {
      background: rgba(253, 216, 53, 0.15);
      color: #ffffff;
    }
    .legal-tab-btn.active {
      background: linear-gradient(135deg, #fdd835 0%, #c6a700 100%);
      color: #000000;
      border-color: #fdd835;
      box-shadow: 0 2px 10px rgba(253, 216, 53, 0.4);
    }
    .legal-modal-close-btn {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.08);
      border: 1px solid rgba(253, 216, 53, 0.4);
      color: #ffffff;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: all 0.2s ease;
      padding: 0;
    }
    .legal-modal-close-btn:hover {
      background: #ef4444;
      border-color: #ef4444;
      transform: scale(1.1);
    }
    .legal-modal-body {
      padding: 28px 32px;
      overflow-y: auto;
      flex: 1;
      scrollbar-width: thin;
      scrollbar-color: rgba(253, 216, 53, 0.4) transparent;
      font-size: 0.94rem;
      line-height: 1.7;
      color: #cbd5e1;
    }
    .legal-modal-body::-webkit-scrollbar {
      width: 6px;
    }
    .legal-modal-body::-webkit-scrollbar-thumb {
      background: rgba(253, 216, 53, 0.35);
      border-radius: 10px;
    }
    .legal-section-content {
      display: none;
    }
    .legal-section-content.active {
      display: block;
      animation: tabFadeIn 0.3s ease;
    }
    @keyframes tabFadeIn {
      from { opacity: 0; transform: translateY(8px); }
      to { opacity: 1; transform: translateY(0); }
    }

    /* ==========================================================================
       LIGHTBOX CINEMÁTICO IDÉNTICO A LA WEB ORIGINAL (CON FONDO CÓSMICO VISIBLE)
       ========================================================================== */
    .gallery-lightbox-modal {
      display: none;
      position: fixed !important;
      inset: 0 !important;
      width: 100vw !important;
      height: 100vh !important;
      overflow: hidden !important;
      z-index: 2147483647 !important;
      background: rgba(3, 3, 6, 0.92) !important;
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      box-sizing: border-box;
      opacity: 0;
      transition: opacity 0.25s ease;
    }
    .gallery-lightbox-modal.active {
      display: block !important;
      opacity: 1;
    }
    .lightbox-main-flex-wrap {
      position: relative;
      z-index: 10;
      width: 100%;
      height: 100%;
      max-height: 100vh;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      box-sizing: border-box;
    }
    .lightbox-top-bar {
      height: 65px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 10px 30px;
      border-bottom: 1px solid rgba(212,175,55,0.25);
      background: rgba(10,10,14,0.65);
      backdrop-filter: blur(15px);
      -webkit-backdrop-filter: blur(15px);
      flex-shrink: 0;
      z-index: 100;
      box-sizing: border-box;
    }
    .lightbox-top-left {
      display: flex;
      align-items: center;
      gap: 16px;
      min-width: 0;
      flex: 1;
      margin-right: 12px;
    }
    .lightbox-top-right {
      display: flex;
      align-items: center;
      gap: 12px;
      flex-shrink: 0;
    }
    .lightbox-brand-logo {
      height: 44px;
      width: auto;
      object-fit: contain;
      filter: drop-shadow(0 3px 12px rgba(0,0,0,0.9));
      flex-shrink: 0;
    }
    .lightbox-category-badge {
      color: #fdd835;
      font-weight: 800;
      font-size: 1.15rem;
      letter-spacing: 0.5px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      min-width: 0;
    }
    .lightbox-counter-badge {
      background: rgba(253, 216, 53, 0.15);
      border: 1px solid rgba(253, 216, 53, 0.35);
      color: #ffffff;
      font-size: 0.88rem;
      font-weight: 700;
      padding: 4px 12px;
      border-radius: 12px;
      letter-spacing: 1px;
      white-space: nowrap !important;
      display: inline-flex !important;
      align-items: center;
      justify-content: center;
      flex-shrink: 0 !important;
    }
    .lightbox-btn {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.08);
      border: 1px solid rgba(253, 216, 53, 0.35);
      color: #fdd835;
      font-size: 1.1rem;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: all 0.2s ease;
    }
    .lightbox-btn:hover {
      background: #fdd835;
      color: #000;
      transform: scale(1.08);
    }
    .lightbox-btn.close-btn:hover {
      background: #ef4444;
      border-color: #ef4444;
      color: #fff;
    }

    .lightbox-stage {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      flex: 1;
      width: 100%;
      position: relative;
      padding: 0 10px;
      box-sizing: border-box;
      overflow: hidden;
      min-height: 0;
    }
    .lightbox-stage-inner {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      height: 100%;
      position: relative;
      min-height: 0;
    }

    .lightbox-photo-center-column {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      max-width: 90vw;
      max-height: 100%;
      min-height: 0;
    }

    .lightbox-top-title-bar {
      display: none;
      position: absolute;
      bottom: calc(100% + 10px);
      left: 50%;
      transform: translateX(-50%);
      width: 100%;
      max-width: 90vw;
      text-align: center;
      padding: 0;
      z-index: 20;
      box-sizing: border-box;
      align-items: center;
      justify-content: center;
      pointer-events: none;
    }
    .lightbox-top-title-inner {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      max-width: 100%;
    }
    .lightbox-title-line-left,
    .lightbox-title-line-right {
      display: block;
      width: 35px;
      height: 1.5px;
      flex-shrink: 0;
    }
    .lightbox-title-line-left { background: linear-gradient(90deg, transparent, #fdd835); }
    .lightbox-title-line-right { background: linear-gradient(90deg, #fdd835, transparent); }

    .lightbox-photo-title-text {
      margin: 0;
      color: #fdd835;
      font-size: clamp(0.95rem, 3.5vw, 1.25rem);
      font-weight: 800;
      letter-spacing: 1.2px;
      text-transform: uppercase;
      text-shadow: 0 4px 18px rgba(0,0,0,0.95);
      font-family: var(--font-display, 'Outfit', sans-serif);
      line-height: 1.25;
      word-break: break-word;
      transition: opacity 0.15s ease;
    }

    .lightbox-media-viewport {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      max-width: 86vw;
      max-height: 72vh;
      min-height: 0;
    }

    .lightbox-services-hover-wrap {
      display: none;
      position: absolute;
      top: 14px;
      right: 14px;
      z-index: 35;
    }
    .lightbox-services-btn {
      width: 38px;
      height: 38px;
      border-radius: 50%;
      background: rgba(8, 8, 12, 0.4);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      border: 1.5px solid rgba(253, 216, 53, 0.6);
      color: #fdd835;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.95rem;
      cursor: pointer;
      box-shadow: 0 4px 18px rgba(0,0,0,0.5), 0 0 12px rgba(253,216,53,0.2);
      position: relative;
      transition: all 0.25s ease;
    }
    .lightbox-services-btn:hover {
      background: rgba(253, 216, 53, 0.22);
      border-color: #fdd835;
      color: #ffffff;
      transform: scale(1.08);
      box-shadow: 0 0 20px rgba(253, 216, 53, 0.55);
    }
    .lightbox-services-badge {
      position: absolute;
      top: -3px;
      right: -3px;
      background: #fdd835;
      color: #000;
      font-size: 0.65rem;
      font-weight: 900;
      width: 17px;
      height: 17px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      border: 1px solid #000;
      box-shadow: 0 2px 6px rgba(0,0,0,0.6);
    }
    .lightbox-services-popover {
      display: none;
      position: absolute;
      right: 0;
      top: calc(100% + 8px);
      width: 250px;
      background: rgba(10, 10, 16, 0.32);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      border: 1px solid rgba(253, 216, 53, 0.35);
      border-radius: 16px;
      padding: 12px 14px;
      box-shadow: 0 15px 35px rgba(0, 0, 0, 0.6), 0 0 20px rgba(253, 216, 53, 0.12);
      z-index: 1000;
      flex-direction: column;
      gap: 8px;
    }
    .lightbox-services-popover-header {
      font-size: 0.74rem;
      color: #fdd835;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 1px;
      margin-bottom: 2px;
      border-bottom: 1px solid rgba(253, 216, 53, 0.2);
      padding-bottom: 6px;
      display: flex;
      align-items: center;
      gap: 6px;
    }
    .lightbox-services-list {
      display: flex;
      flex-direction: column;
      gap: 6px;
    }

    .lightbox-mobile-services-pills {
      display: none !important;
      position: absolute;
      top: calc(100% + 10px);
      left: 50%;
      transform: translateX(-50%);
      width: max-content;
      max-width: 90vw;
      z-index: 20;
    }

    .lightbox-split-slider-wrap {
      display: none;
      position: relative;
      width: auto;
      max-width: 86vw;
      max-height: 72vh;
      border-radius: 20px;
      overflow: hidden;
      border: 3.5px solid #fdd835;
      box-shadow: 0 35px 95px rgba(0,0,0,0.98), 0 0 45px rgba(253,216,53,0.5);
      background: #000;
      user-select: none;
      touch-action: none;
    }
    .lightbox-split-after-img {
      display: block;
      width: auto;
      height: auto;
      max-width: 86vw;
      max-height: 72vh;
      object-fit: contain;
    }
    .lightbox-split-before-layer {
      position: absolute;
      top: 0;
      left: 0;
      width: 0%;
      height: 100%;
      overflow: hidden;
      z-index: 4;
      border-right: 1.5px solid rgba(253, 216, 53, 0.85);
    }
    .lightbox-split-before-img {
      display: block;
      width: auto;
      height: 100%;
      max-width: none;
      object-fit: cover;
    }
    .lightbox-split-handle {
      position: absolute;
      top: 50%;
      left: 0%;
      transform: translate(-50%, -50%);
      width: 34px;
      height: 34px;
      border-radius: 50%;
      background: rgba(12, 12, 16, 0.45);
      backdrop-filter: blur(6px);
      border: 1.5px solid rgba(253, 216, 53, 0.9);
      color: #fdd835;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 11px;
      font-weight: 700;
      box-shadow: 0 0 12px rgba(253, 216, 53, 0.5), 0 4px 15px rgba(0,0,0,0.6);
      cursor: ew-resize;
      z-index: 10;
    }
    .lightbox-split-side-btn {
      position: absolute;
      bottom: 12px;
      background: rgba(0, 0, 0, 0.3);
      backdrop-filter: blur(8px);
      border: 1px solid rgba(255, 255, 255, 0.25);
      border-radius: 4px;
      color: rgba(255, 255, 255, 0.95);
      font-size: 11px;
      font-weight: 800;
      letter-spacing: 1.2px;
      text-transform: uppercase;
      width: 86px;
      height: 32px;
      box-sizing: border-box;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      z-index: 25;
      cursor: pointer;
      box-shadow: 0 2px 8px rgba(0,0,0,0.4);
      transition: background 0.2s ease, border-color 0.2s ease;
    }
    .lightbox-split-side-btn.antes { left: 14px; }
    .lightbox-split-side-btn.despues { right: 14px; }
    .lightbox-split-side-btn:hover {
      background: rgba(0,0,0,0.55);
      border-color: #fdd835;
    }
    .lightbox-split-instruction-tag {
      position: absolute;
      bottom: 18px;
      left: 50%;
      transform: translateX(-50%);
      z-index: 20;
      pointer-events: none;
      color: #fdd835;
      font-size: 0.86rem;
      font-weight: 800;
      letter-spacing: 0.8px;
      text-transform: uppercase;
      text-shadow: 0 2px 8px #000000, 0 0 16px rgba(0,0,0,0.98);
      font-family: 'Outfit', sans-serif;
      white-space: nowrap;
    }

    .lightbox-nav-btn {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 48px;
      height: 48px;
      border-radius: 50%;
      background: rgba(8, 8, 12, 0.35);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      border: 1.5px solid rgba(253, 216, 53, 0.45);
      color: #fdd835;
      font-size: 1.25rem;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 4px 20px rgba(0,0,0,0.5);
      transition: all 0.25s ease;
      z-index: 50;
    }
    .lightbox-nav-btn:hover {
      background: rgba(253, 216, 53, 0.22);
      border-color: #fdd835;
      color: #ffffff;
      box-shadow: 0 0 25px rgba(253, 216, 53, 0.6), 0 8px 30px rgba(0,0,0,0.7);
      transform: translateY(-50%) scale(1.12);
      filter: drop-shadow(0 0 6px rgba(253, 216, 53, 0.8));
    }
    .lightbox-nav-btn.prev { left: 14px; }
    .lightbox-nav-btn.next { right: 14px; }

    .lightbox-cinema-img {
      display: block;
      max-width: 86vw;
      max-height: 72vh;
      width: auto;
      height: auto;
      object-fit: contain;
      border-radius: 20px;
      border: 2px solid rgba(253, 216, 53, 0.45);
      box-shadow: 0 25px 80px rgba(0, 0, 0, 0.95), 0 0 35px rgba(253, 216, 53, 0.25);
      user-select: none;
      -webkit-user-drag: none;
    }

    .lightbox-filmstrip-bar {
      height: 96px;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 14px 20px 16px 20px;
      background: rgba(8,8,11,0.85);
      border-top: 1px solid rgba(255,255,255,0.08);
      backdrop-filter: blur(15px);
      flex-shrink: 0;
      box-sizing: border-box;
    }
    .lightbox-filmstrip-track {
      display: flex;
      gap: 12px;
      overflow-x: auto;
      overflow-y: hidden;
      padding: 8px 14px;
      max-width: min(94vw, 1400px);
      scrollbar-width: none !important;
      -ms-overflow-style: none !important;
      -webkit-overflow-scrolling: touch;
      align-items: center;
    }
    .lightbox-filmstrip-track::-webkit-scrollbar {
      display: none !important;
      width: 0 !important;
      height: 0 !important;
    }
    .lightbox-film-thumb {
      position: relative !important;
      width: 52px !important;
      height: 52px !important;
      border-radius: 12px !important;
      overflow: hidden !important;
      cursor: pointer !important;
      flex-shrink: 0 !important;
      border: 2px solid rgba(255, 255, 255, 0.2) !important;
      opacity: 0.55 !important;
      transition: border-color 0.2s ease, opacity 0.2s ease, box-shadow 0.2s ease !important;
      transform: none !important;
      background: #121216 !important;
    }
    .lightbox-film-thumb img {
      width: 100% !important;
      height: 100% !important;
      object-fit: cover !important;
      display: block !important;
    }
    .lightbox-film-thumb:hover {
      opacity: 0.95 !important;
      border-color: rgba(253, 216, 53, 0.7) !important;
      transform: none !important;
    }
    .lightbox-film-thumb.active {
      opacity: 1 !important;
      border-color: #fdd835 !important;
      box-shadow: 0 0 10px rgba(253, 216, 53, 0.5), inset 0 0 4px rgba(253, 216, 53, 0.3) !important;
      transform: none !important;
    }

    /* ==========================================================================
       PIE DE PÁGINA ULTRA-LUJO VIP (REDDISEÑADO CON DERECHOS Y ENLACES LEGALES)
       ========================================================================== */
    .luxury-footer {
      position: relative;
      background: radial-gradient(circle at 50% 0%, rgba(253, 216, 53, 0.04) 0%, rgba(8, 8, 12, 0.98) 70%), #050508;
      border-top: 1px solid rgba(253, 216, 53, 0.2);
      padding: 38px 24px 20px 24px;
      z-index: 2;
    }
    .footer-grid {
      max-width: 1200px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1.5fr 1.05fr 1.35fr 0.9fr;
      gap: 32px;
      margin-bottom: 24px;
    }
    .footer-brand-desc {
      color: #94a3b8;
      font-size: 0.85rem;
      line-height: 1.55;
      max-width: 340px;
      margin-bottom: 0;
    }
    .footer-social-row {
      display: flex;
      align-items: center;
      gap: 10px;
    }
    .footer-social-icon {
      width: 38px;
      height: 38px;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.04);
      border: 1px solid rgba(253, 216, 53, 0.3);
      color: #fdd835;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 0.95rem;
      text-decoration: none;
      cursor: pointer;
      transition: all 0.25s ease;
    }
    .footer-social-icon:hover {
      background: rgba(253, 216, 53, 0.2);
      border-color: #fdd835;
      color: #ffffff;
      transform: translateY(-2px);
      box-shadow: 0 0 12px rgba(253, 216, 53, 0.5);
    }
    .footer-col-title {
      font-size: 0.95rem;
      font-weight: 800;
      color: #fdd835;
      letter-spacing: 2px;
      text-transform: uppercase;
      margin-bottom: 20px;
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .footer-links {
      list-style: none;
      padding: 0;
      margin: 0;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .footer-links li {
      color: #94a3b8;
      font-size: 0.88rem;
      line-height: 1.5;
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .footer-links a {
      color: #cbd5e1;
      text-decoration: none;
      font-size: 0.88rem;
      transition: color 0.25s ease, transform 0.25s ease;
      display: inline-flex;
      align-items: center;
      gap: 8px;
    }
    .footer-links a i {
      font-size: 0.72rem;
      color: #fdd835;
      transition: transform 0.2s ease;
    }
    .footer-links a:hover {
      color: #fdd835;
      transform: translateX(4px);
    }
    .footer-call-btn {
      background: linear-gradient(135deg, #fdd835 0%, #c6a700 100%);
      color: #000000;
      font-family: inherit;
      font-weight: 800;
      font-size: 0.82rem;
      letter-spacing: 0.5px;
      padding: 8px 18px;
      border-radius: 20px;
      border: none;
      cursor: pointer;
      box-shadow: 0 4px 15px rgba(253, 216, 53, 0.35);
      transition: transform 0.2s ease, box-shadow 0.2s ease;
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }
    .footer-call-btn:hover {
      transform: translateY(-2px);
      box-shadow: 0 6px 20px rgba(253, 216, 53, 0.55);
    }
    .footer-bottom {
      max-width: 1200px;
      margin: 0 auto;
      border-top: 1px solid rgba(255, 255, 255, 0.08);
      padding-top: 16px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      font-size: 0.84rem;
      color: #94a3b8;
      flex-wrap: wrap;
      gap: 16px;
    }
    .footer-copyright strong {
      color: #fdd835;
    }
    .footer-legal-links {
      display: flex;
      align-items: center;
      gap: 12px;
    }
    .footer-legal-links a {
      color: #94a3b8;
      text-decoration: none;
      transition: color 0.2s ease;
    }
    .footer-legal-links a:hover {
      color: #fdd835;
    }
    .footer-sep {
      color: rgba(255, 255, 255, 0.2);
    }

    /* Modal Legal / RGPD */
    .legal-info-modal-overlay {
      display: none;
      position: fixed;
      inset: 0;
      background: rgba(2, 2, 5, 0.94);
      backdrop-filter: blur(25px);
      -webkit-backdrop-filter: blur(25px);
      z-index: 4000;
      align-items: center;
      justify-content: center;
      padding: 20px;
      opacity: 0;
      transition: opacity 0.3s ease;
    }
    .legal-info-modal-overlay.active {
      display: flex;
      opacity: 1;
    }
    .legal-info-card {
      background: #0e0e14;
      border: 1.5px solid rgba(253, 216, 53, 0.4);
      border-radius: 24px;
      max-width: 640px;
      width: 100%;
      max-height: 80vh;
      display: flex;
      flex-direction: column;
      box-shadow: 0 25px 80px rgba(0,0,0,0.95), 0 0 35px rgba(253,216,53,0.25);
      position: relative;
    }
    .legal-info-header {
      padding: 20px 26px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    .legal-info-title {
      font-size: 1.25rem;
      font-weight: 800;
      color: #fdd835;
      margin: 0;
    }
    .legal-info-body {
      padding: 24px 26px;
      overflow-y: auto;
      color: #cbd5e1;
      font-size: 0.92rem;
      line-height: 1.7;
    }
    .legal-info-body h4 {
      color: #ffffff;
      margin: 16px 0 6px 0;
      font-size: 1rem;
    }
    .legal-info-body p {
      margin: 0 0 12px 0;
    }

    @media (max-width: 1300px) {
      .gallery-categories-grid { grid-template-columns: repeat(3, 1fr); gap: 18px; }
    }
    @media (max-width: 1050px) {
      .team-editorial-stage {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 14px !important;
      }
      .team-editorial-bio {
        display: contents !important;
      }
      .team-name-row {
        order: 1 !important;
        width: 100% !important;
        max-width: 480px !important;
        text-align: center !important;
        align-items: center !important;
        margin-bottom: 2px !important;
        min-height: auto !important;
      }
      .team-name-row .team-signature-title {
        display: none !important;
      }
      .team-name-row .team-signature-name {
        text-align: center !important;
        font-size: clamp(1.2rem, 5vw, 1.85rem) !important;
        white-space: nowrap !important;
        letter-spacing: 0.5px !important;
        text-transform: uppercase !important;
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
      }
      .team-sculpture-wrap {
        order: 2 !important;
        width: 100% !important;
        max-width: 480px !important;
        height: auto !important;
        padding: 0 !important;
        margin: 0 auto !important;
        position: relative !important;
        display: block !important;
        box-sizing: border-box !important;
      }
      .team-sculpture-frame {
        width: 100% !important;
        max-width: 480px !important;
        height: clamp(380px, 52vh, 450px) !important;
        min-height: auto !important;
        aspect-ratio: 4 / 5 !important;
        margin: 0 auto !important;
        border-radius: 26px !important;
      }
      .team-side-nav-btn {
        display: flex !important;
        position: absolute !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        z-index: 10 !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
        border-radius: 50% !important;
        background: rgba(10, 10, 16, 0.85) !important;
        backdrop-filter: blur(14px) !important;
        -webkit-backdrop-filter: blur(14px) !important;
        border: 1.5px solid rgba(253, 216, 53, 0.6) !important;
        color: #fdd835 !important;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.75), 0 0 16px rgba(253, 216, 53, 0.25) !important;
        cursor: pointer !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
      }
      .team-side-nav-btn::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        min-width: 48px;
        min-height: 48px;
      }
      .team-side-nav-btn.prev-side-btn {
        left: 10px !important;
        right: auto !important;
      }
      .team-side-nav-btn.next-side-btn {
        right: 10px !important;
        left: auto !important;
      }
      .team-side-nav-btn:hover {
        transform: translateY(-50%) scale(1.08) !important;
      }
      .team-side-nav-btn:active {
        transform: translateY(-50%) scale(0.95) !important;
      }
      .team-mobile-dots-bar {
        display: flex !important;
        order: 3 !important;
      }
      .team-sculpture-img {
        transform: none !important;
        object-fit: cover !important;
        object-position: center top !important;
      }
      .team-sculpture-frame:hover .team-sculpture-img {
        transform: none !important;
      }
      .team-floating-badge {
        bottom: 12px !important;
        left: 12px !important;
        right: 12px !important;
        padding: 7px 14px !important;
        border-radius: 14px !important;
      }
      .team-badge-role {
        font-size: 0.74rem !important;
        letter-spacing: 1px !important;
      }
      .team-capsule-grid {
        order: 4 !important;
        width: 100% !important;
        max-width: 480px !important;
        margin: 0 auto !important;
        gap: 0 !important;
        min-height: auto !important;
      }
      .team-spec-capsule {
        display: none !important;
      }
      .team-spec-card {
        width: 100% !important;
        max-width: 480px !important;
        height: auto !important;
        min-height: auto !important;
        padding: 14px 18px !important;
        box-sizing: border-box !important;
        overflow: visible !important;
      }
      .team-spec-tags {
        display: none !important;
      }
      .team-spec-motto {
        margin-top: 0 !important;
        padding-top: 0 !important;
        border-top: none !important;
        font-size: 0.92rem !important;
      }
      .team-quote-container {
        order: 5 !important;
        width: 100% !important;
        max-width: 480px !important;
        margin: 0 auto !important;
        height: auto !important;
        min-height: auto !important;
        max-height: none !important;
        padding: 20px 22px !important;
        box-sizing: border-box !important;
        display: block !important;
        overflow: visible !important;
      }
      .team-selector-dock {
        display: none !important;
      }
      .team-dock-pills {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        width: auto !important;
        max-width: calc(100% - 130px) !important;
        overflow-x: auto !important;
        scrollbar-width: none !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 4px 2px !important;
      }
      .team-nav-arrow-btn {
        width: 38px !important;
        height: 38px !important;
        font-size: 0.9rem !important;
        flex-shrink: 0 !important;
      }
      .team-counter-text {
        font-size: 0.82rem !important;
        min-width: 40px !important;
        flex-shrink: 0 !important;
      }
      .contact-split-stage {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        gap: 32px !important;
        margin: 0 auto !important;
        padding: 0 !important;
      }
      .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
    }
    @media (max-width: 900px) {
      .luxury-navbar {
        top: 10px;
        width: 95%;
        height: 56px;
        padding: 0 16px;
        border-radius: 28px;
        background: rgba(10, 10, 16, 0.94);
      }
      .nav-logo-img { height: 36px; }
      .nav-brand-title { font-size: 1rem; letter-spacing: 1.5px; }
      .nav-brand-sub { font-size: 0.58rem; letter-spacing: 2px; }
      .nav-tabs-group { display: none; }
      .nav-actions { gap: 8px; }
      .nav-cta-btn {
        padding: 7px 14px;
        font-size: 0.76rem;
        border-radius: 20px;
        letter-spacing: 0.5px;
        box-shadow: 0 0 12px rgba(253, 216, 53, 0.35);
      }
      .nav-login-btn {
        width: 36px;
        height: 36px;
        padding: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
      }
      .nav-mobile-toggle {
        display: inline-flex;
      }
      .mobile-nav-dropdown {
        top: 72px;
      }
      .service-pillar-card, .service-pillar-card:nth-child(even) { grid-template-columns: 1fr; }
      .service-pillar-card:nth-child(even) .pillar-media-col { order: 0; }
      .pillar-media-col { height: 260px; }
      .pillar-includes-list { display: none !important; }
      .pillar-desc { margin-bottom: 0 !important; }
      .section-header {
        overflow: hidden !important;
      }
      .section-contact {
        padding: 80px 16px 140px 16px !important;
        overflow-x: clip !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
      }
      .contact-split-stage {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        gap: 24px !important;
        margin: 0 auto !important;
        padding: 0 !important;
      }
      .contact-map-monolith,
      .contact-chrono-stream {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        margin: 0 auto !important;
      }
      .contact-map-crystal-card {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        margin: 0 auto !important;
      }
      .contact-access-capsules-row {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        gap: 14px !important;
        margin: 0 auto !important;
      }
      .contact-access-capsule {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        margin: 0 auto !important;
      }
      .gallery-categories-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
        padding: 0 8px !important;
      }
      .gallery-cat-card {
        height: 165px !important;
        border-radius: 14px !important;
      }
      .gallery-cat-overlay {
        padding: 8px 4px !important;
      }
      .gallery-cat-wings-row {
        gap: 0 !important;
        width: 100% !important;
        padding: 0 !important;
        justify-content: center !important;
      }
      .gallery-cat-wing {
        display: none !important;
      }
      .gallery-cat-title {
        font-size: clamp(0.55rem, 2.55vw, 0.72rem) !important;
        letter-spacing: 0px !important;
        line-height: 1.15 !important;
        padding: 0 2px !important;
        white-space: normal !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
        text-align: center !important;
        max-width: 100% !important;
        display: block !important;
      }
      .gallery-cat-explore-btn {
        padding: 5px 12px !important;
        font-size: 0.76rem !important;
      }
      .lightbox-top-bar {
        height: 54px !important;
        padding: 6px 12px !important;
      }
      .lightbox-top-left {
        gap: 8px !important;
        margin-right: 6px !important;
        min-width: 0 !important;
        flex: 1 !important;
      }
      .lightbox-top-right {
        gap: 8px !important;
        flex-shrink: 0 !important;
      }
      .lightbox-brand-logo {
        height: 28px !important;
        width: 28px !important;
        flex-shrink: 0 !important;
      }
      .lightbox-category-badge {
        font-size: 0.88rem !important;
        letter-spacing: 0.3px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        min-width: 0 !important;
      }
      .lightbox-counter-badge {
        font-size: 0.76rem !important;
        padding: 3px 8px !important;
        border-radius: 8px !important;
        letter-spacing: 0.5px !important;
        white-space: nowrap !important;
        flex-shrink: 0 !important;
      }
      .lightbox-btn {
        width: 34px !important;
        height: 34px !important;
        font-size: 0.95rem !important;
        flex-shrink: 0 !important;
      }
      .lightbox-btn svg {
        width: 16px !important;
        height: 16px !important;
      }
      .lightbox-nav-btn {
        width: 38px !important;
        height: 38px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        font-size: 1rem !important;
        background: rgba(8, 8, 12, 0.35) !important;
        backdrop-filter: blur(8px) !important;
        -webkit-backdrop-filter: blur(8px) !important;
        border: 1.5px solid rgba(253, 216, 53, 0.45) !important;
        color: #fdd835 !important;
        box-shadow: 0 4px 15px rgba(0,0,0,0.5) !important;
        z-index: 50 !important;
      }
      .lightbox-nav-btn:hover,
      .lightbox-nav-btn:active {
        background: rgba(253, 216, 53, 0.25) !important;
        border-color: #fdd835 !important;
        color: #ffffff !important;
      }
      .lightbox-nav-btn.prev { left: 4px !important; }
      .lightbox-nav-btn.next { right: 4px !important; }

      .lightbox-photo-center-column {
        max-width: calc(100vw - 84px) !important;
        max-height: calc(100vh - 196px) !important;
      }
      .lightbox-media-viewport {
        max-width: calc(100vw - 84px) !important;
        max-height: calc(100vh - 196px) !important;
      }
      .lightbox-top-title-bar {
        bottom: calc(100% + 8px) !important;
        top: auto !important;
        max-width: calc(100vw - 84px) !important;
      }
      .lightbox-services-hover-wrap {
        display: none !important;
      }
      .lightbox-mobile-services-pills {
        display: none !important;
      }
      .lightbox-mobile-services-pills.has-services {
        display: flex !important;
        position: absolute !important;
        top: calc(100% + 8px) !important;
        bottom: auto !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: max-content !important;
        max-width: calc(100vw - 84px) !important;
        z-index: 25 !important;
        margin-top: 0 !important;
        background: transparent !important;
        border: none !important;
        padding: 0 !important;
        box-shadow: none !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
      }
      .lightbox-mobile-services-toggle-btn {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        background: rgba(10, 10, 16, 0.35);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        border: 1.5px solid rgba(253, 216, 53, 0.45);
        color: #fdd835;
        font-size: 0.72rem;
        font-weight: 800;
        letter-spacing: 0.5px;
        text-transform: uppercase;
        padding: 5px 13px;
        border-radius: 20px;
        cursor: pointer;
        box-shadow: 0 4px 15px rgba(0,0,0,0.4);
        transition: all 0.25s ease;
        outline: none;
      }
      .lightbox-mobile-services-toggle-btn:hover,
      .lightbox-mobile-services-toggle-btn.expanded {
        background: rgba(253, 216, 53, 0.22);
        border-color: #fdd835;
        color: #ffffff;
        box-shadow: 0 0 16px rgba(253, 216, 53, 0.4);
      }
      .lightbox-mobile-services-badge {
        background: #fdd835;
        color: #000000;
        font-size: 0.65rem;
        font-weight: 900;
        padding: 1px 6px;
        border-radius: 10px;
        line-height: 1.2;
      }
      .lightbox-mobile-services-toggle-btn .toggle-arrow-icon {
        transition: transform 0.25s ease;
        margin-left: 2px;
        color: #fdd835;
      }
      .lightbox-mobile-services-toggle-btn.expanded .toggle-arrow-icon {
        transform: rotate(180deg);
        color: #ffffff;
      }
      .lightbox-mobile-services-dropdown {
        margin-top: 6px;
        padding: 6px 10px;
        background: rgba(8, 8, 14, 0.25);
        backdrop-filter: blur(6px);
        -webkit-backdrop-filter: blur(6px);
        border: 1px solid rgba(253, 216, 53, 0.25);
        border-radius: 14px;
        box-shadow: 0 6px 20px rgba(0,0,0,0.4);
        display: flex;
        flex-direction: column;
        align-items: center;
        box-sizing: border-box;
      }
      .lightbox-mobile-services-track {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 6px 8px;
        max-width: 100%;
        box-sizing: border-box;
      }
      .lightbox-mobile-service-chip {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        background: rgba(253, 216, 53, 0.06);
        border: 1px solid rgba(253, 216, 53, 0.28);
        backdrop-filter: blur(2px);
        -webkit-backdrop-filter: blur(2px);
        color: #fef08a;
        font-size: 0.72rem;
        font-weight: 700;
        letter-spacing: 0.2px;
        padding: 4px 10px;
        border-radius: 20px;
        white-space: nowrap;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
      }
      .lightbox-mobile-service-chip .chip-star {
        color: #fdd835;
        font-size: 0.65rem;
      }
      .section-floating-watermark, .team-watermark-text {
        font-size: clamp(3rem, 10vw, 5.5rem);
        letter-spacing: 6px;
        top: 50%;
        max-width: 100% !important;
        overflow: hidden !important;
      }
    }
    @media (max-width: 600px) {
      .luxury-navbar {
        top: 8px;
        width: 95%;
        height: 52px;
        padding: 0 10px;
        border-radius: 26px;
        border-width: 1px;
      }
      .nav-brand { gap: 8px; }
      .nav-logo-img { height: 32px; }
      .nav-brand-text { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
      .nav-brand-title { font-size: 0.92rem; letter-spacing: 1.2px; line-height: 1.1; }
      .nav-brand-sub { font-size: 0.52rem; letter-spacing: 1.6px; line-height: 1.1; margin-top: 1px; }
      .nav-actions { gap: 6px; }
      .nav-cta-btn {
        padding: 6px 11px;
        font-size: 0.72rem;
        gap: 5px;
        border-radius: 18px;
        box-shadow: 0 0 10px rgba(253, 216, 53, 0.3);
      }
      .nav-login-btn {
        width: 32px;
        height: 32px;
        font-size: 0.75rem;
      }
      .nav-mobile-toggle {
        width: 32px;
        height: 32px;
        font-size: 0.88rem;
      }
      .mobile-nav-dropdown {
        top: 66px;
        width: 94%;
      }
      .team-sculpture-wrap {
        width: 100% !important;
        max-width: 100% !important;
        gap: 0 !important;
        padding: 0 !important;
        margin: 0 auto !important;
        position: relative !important;
        display: block !important;
      }
      .team-sculpture-frame {
        width: 100% !important;
        max-width: 100% !important;
        height: clamp(360px, 50vh, 420px) !important;
        min-height: auto !important;
        aspect-ratio: 4 / 5 !important;
        border-radius: 24px !important;
        margin: 0 auto !important;
      }
      .team-sculpture-img {
        transform: none !important;
        object-fit: cover !important;
        object-position: center top !important;
      }
      .team-sculpture-frame:hover .team-sculpture-img {
        transform: none !important;
      }
      .team-floating-badge {
        bottom: 12px !important;
        left: 12px !important;
        right: 12px !important;
        padding: 6px 12px !important;
        border-radius: 14px !important;
      }
      .team-badge-role {
        font-size: 0.74rem !important;
        letter-spacing: 1px !important;
      }
      .team-name-row {
        max-width: 100% !important;
        min-height: auto !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
      }
      .team-name-row .team-signature-name {
        font-size: clamp(1.15rem, 5.4vw, 1.65rem) !important;
        white-space: nowrap !important;
        letter-spacing: 0.5px !important;
        text-align: center !important;
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
      }
      .team-capsule-grid {
        max-width: 100% !important;
        min-height: auto !important;
      }
      .team-spec-tags {
        display: none !important;
      }
      .team-spec-motto {
        margin-top: 0 !important;
        padding-top: 0 !important;
        border-top: none !important;
        font-size: 0.88rem !important;
      }
      .team-editorial-bio {
        display: contents !important;
      }
      .team-spec-card {
        max-width: 100% !important;
        height: auto !important;
        min-height: auto !important;
        padding: 12px 14px !important;
        box-sizing: border-box !important;
        overflow: visible !important;
      }
      .team-quote-container {
        order: 4 !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: auto !important;
        max-height: none !important;
        padding: 16px 18px !important;
        display: block !important;
        overflow: visible !important;
      }
      .team-side-nav-btn {
        position: absolute !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
        font-size: 0.95rem !important;
        z-index: 10 !important;
      }
      .team-side-nav-btn.prev-side-btn { left: 8px !important; right: auto !important; }
      .team-side-nav-btn.next-side-btn { right: 8px !important; left: auto !important; }
      .footer-grid { grid-template-columns: 1fr; }
      .section-header {
        overflow: hidden !important;
        margin-bottom: 28px !important;
      }
      .section-contact {
        padding: 50px 14px 90px 14px !important;
        overflow-x: clip !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
      }
      .contact-split-stage {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        gap: 18px !important;
        margin: 0 auto !important;
        padding: 0 !important;
      }
      .contact-map-monolith,
      .contact-chrono-stream {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        margin: 0 auto !important;
      }
      .contact-map-crystal-card {
        width: 100% !important;
        max-width: 100% !important;
        height: 280px !important;
        min-height: 260px !important;
        border-radius: 20px !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        margin: 0 auto !important;
      }
      #contactMap {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
      }
      .contact-access-capsules-row {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        margin: 0 auto !important;
        gap: 12px !important;
      }
      .contact-access-capsule {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        margin: 0 auto !important;
      }
      .contact-map-hud-bar {
        position: absolute !important;
        left: 8px !important;
        right: 8px !important;
        bottom: 8px !important;
        width: auto !important;
        max-width: calc(100% - 16px) !important;
        box-sizing: border-box !important;
        padding: 8px 12px !important;
        gap: 8px !important;
        border-radius: 14px !important;
        overflow: hidden !important;
      }
      .map-hud-text {
        font-size: 0.74rem !important;
        line-height: 1.25 !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
      }
      .map-hud-action-btn {
        font-size: 0.70rem !important;
        padding: 5px 9px !important;
        border-radius: 10px !important;
        flex-shrink: 0 !important;
        gap: 4px !important;
      }
      .contact-cta-dock {
        padding: 12px 14px !important;
        border-radius: 18px !important;
        gap: 12px !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        margin: 0 auto !important;
      }
      .btn-call-monolith {
        width: 100% !important;
        justify-content: center !important;
        padding: 10px 18px !important;
        font-size: 0.88rem !important;
      }
      .contact-social-inline-group {
        width: 100% !important;
        justify-content: center !important;
      }
      .chrono-stream-header {
        padding: 10px 12px !important;
        border-radius: 14px !important;
      }
      .chrono-header-title {
        font-size: 0.88rem !important;
      }
      .live-status-pill {
        font-size: 0.70rem !important;
        padding: 3px 8px !important;
      }
      .chrono-day-card {
        padding: 8px 12px !important;
        min-height: 48px !important;
        border-radius: 13px !important;
        gap: 8px !important;
      }
      .chrono-day-card.is-today {
        padding: 8px 12px !important;
        min-height: 48px !important;
        transform: none !important;
      }
      .chrono-day-name {
        font-size: 0.86rem !important;
      }
      .chrono-hours-value {
        font-size: 0.86rem !important;
      }
      .chrono-holiday-badge {
        font-size: 0.82rem !important;
      }
      .chrono-holiday-reason {
        font-size: 0.68rem !important;
        max-width: 100% !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        text-align: right !important;
        line-height: 1.2 !important;
      }
      .upcoming-holiday-box {
        padding: 10px 14px !important;
        border-radius: 13px !important;
        gap: 10px !important;
        background: rgba(18, 12, 14, 0.97) !important;
      }
      .upcoming-holiday-line1 {
        font-size: 0.80rem !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
      }
      .upcoming-holiday-line2 {
        font-size: 0.74rem !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
      }
      .footer-bottom { flex-direction: column; gap: 12px; text-align: center; }
      .comparison-container { aspect-ratio: 4 / 3; }
      .section-floating-watermark, .team-watermark-text {
        font-size: clamp(2.4rem, 9vw, 3.8rem);
        letter-spacing: 3px;
        top: 50%;
        max-width: 100% !important;
        overflow: hidden !important;
      }
    }
    @media (max-width: 380px) {
      .luxury-navbar {
        height: 48px;
        padding: 0 8px;
      }
      .nav-cta-text { display: inline-block; font-size: 0.68rem; }
      .nav-cta-btn {
        padding: 5px 8px;
        font-size: 0.68rem;
        gap: 4px;
      }
      .team-name-row .team-signature-name {
        font-size: clamp(1.0rem, 5vw, 1.35rem) !important;
        white-space: nowrap !important;
      }
      .team-sculpture-frame {
        width: 100% !important;
        max-width: 100% !important;
        height: 350px !important;
        aspect-ratio: 4 / 5 !important;
        border-radius: 20px !important;
      }
      .team-side-nav-btn {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
        font-size: 0.92rem !important;
      }
      .team-side-nav-btn.prev-side-btn { left: 6px !important; right: auto !important; }
      .team-side-nav-btn.next-side-btn { right: 6px !important; left: auto !important; }
    }





@media (max-width: 900px) {
  .luxury-navbar {
    top: 10px;
    height: 58px;
    padding: 0 14px;
    width: 95%;
    border-radius: 30px;
  }
  .nav-logo-img {
    width: 36px;
    height: 36px;
  }
  .nav-brand-title {
    font-size: 0.98rem;
    letter-spacing: 1.5px;
  }
  .nav-brand-sub {
    font-size: 0.55rem;
    letter-spacing: 2px;
  }
  .nav-tabs-group {
    display: none !important;
  }
  .nav-mobile-toggle {
    display: inline-flex !important;
  }
  .nav-cta-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 6px 12px !important;
    height: 33px !important;
    font-size: 0.74rem !important;
    font-weight: 700 !important;
    border-radius: 18px !important;
    gap: 4px !important;
    white-space: nowrap !important;
    text-decoration: none !important;
  }
}
@media (max-width: 480px) {
  .luxury-navbar {
    padding: 0 10px;
  }
  .nav-brand-title {
    font-size: 0.92rem;
  }
  .nav-actions {
    gap: 6px;
  }
  .nav-cta-btn {
    padding: 5px 9px !important;
    height: 30px !important;
    font-size: 0.70rem !important;
    gap: 3px !important;
    border-radius: 16px !important;
  }
}

.gallery-lightbox-modal {
  display: none;
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  overflow: hidden !important;
  z-index: 2147483647 !important;
  background: rgba(3, 3, 6, 0.94) !important;
  backdrop-filter: blur(25px) !important;
  -webkit-backdrop-filter: blur(25px) !important;
  box-sizing: border-box;
  opacity: 0;
  transition: opacity 0.25s ease;
}
.gallery-lightbox-modal.active {
  display: block !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

html {
  scrollbar-gutter: stable;
}

/* ==========================================================================
   FINAL CHRISTMAS THEME HIGH-SPECIFICITY OVERRIDES


body.theme-christmas .gallery-lightbox-modal,
html.theme-christmas .gallery-lightbox-modal {
  background: rgba(8, 6, 12, 0.96) !important;
}
body.theme-christmas .lightbox-top-bar,
html.theme-christmas .lightbox-top-bar {
  border-bottom: 1px solid rgba(253, 224, 71, 0.35) !important;
  background: rgba(14, 10, 18, 0.85) !important;
}
body.theme-christmas .lightbox-category-badge,
html.theme-christmas .lightbox-category-badge {
  color: #fde047 !important;
}
body.theme-christmas .lightbox-counter-badge,
html.theme-christmas .lightbox-counter-badge {
  background: rgba(225, 29, 72, 0.25) !important;
  border: 1px solid rgba(253, 224, 71, 0.45) !important;
  color: #ffffff !important;
}
body.theme-christmas .lightbox-nav-btn,
html.theme-christmas .lightbox-nav-btn {
  background: rgba(18, 12, 22, 0.45) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border: 1.5px solid rgba(253, 224, 71, 0.5) !important;
  color: #fde047 !important;
}
body.theme-christmas .lightbox-nav-btn:hover,
html.theme-christmas .lightbox-nav-btn:hover {
  background: rgba(253, 224, 71, 0.25) !important;
  border-color: #fde047 !important;
  color: #ffffff !important;
}
body.theme-christmas .lightbox-cinema-img,
html.theme-christmas .lightbox-cinema-img {
  border: 2px solid rgba(253, 224, 71, 0.6) !important;
  box-shadow: 0 25px 80px rgba(0, 0, 0, 0.95), 0 0 35px rgba(225, 29, 72, 0.4) !important;
}
body.theme-christmas .lightbox-filmstrip-bar,
html.theme-christmas .lightbox-filmstrip-bar {
  background: rgba(12, 8, 16, 0.92) !important;
  border-top: 1px solid rgba(253, 224, 71, 0.25) !important;
}
body.theme-christmas .lightbox-film-thumb.active,
html.theme-christmas .lightbox-film-thumb.active {
  border-color: #fde047 !important;
  box-shadow: 0 0 14px rgba(225, 29, 72, 0.8), inset 0 0 6px rgba(253, 224, 71, 0.5) !important;
}

body.theme-christmas .footer-copyright strong {
  color: #fde047 !important;
}
body.theme-christmas .footer-call-btn {
  background: linear-gradient(135deg, #fef08a 0%, #eab308 45%, #b45309 100%) !important;
  color: #0c0a09 !important;
  box-shadow: 0 4px 15px rgba(234, 179, 8, 0.5) !important;
}
body.theme-christmas .footer-call-btn:hover {
  box-shadow: 0 6px 20px rgba(253, 224, 71, 0.8), 0 0 10px rgba(225, 29, 72, 0.5) !important;
}
body.theme-christmas .footer-legal-links a:hover {
  color: #fde047 !important;
}
body.theme-christmas .nav-tabs-group,
html.theme-christmas .nav-tabs-group {
  border: 1px solid rgba(253, 224, 71, 0.25) !important;
  background: rgba(0, 0, 0, 0.7) !important;
}
body.theme-christmas .luxury-navbar,
html.theme-christmas .luxury-navbar {
  border-color: rgba(253, 224, 71, 0.35) !important;
}

/* ==========================================================================
   FINAL HALLOWEEN THEME HIGH-SPECIFICITY OVERRIDES
   ========================================================================== */
body.theme-halloween .gallery-lightbox-modal,
html.theme-halloween .gallery-lightbox-modal {
  background: rgba(6, 4, 10, 0.96) !important;
}
body.theme-halloween .lightbox-top-bar,
html.theme-halloween .lightbox-top-bar {
  border-bottom: 1px solid rgba(168, 85, 247, 0.4) !important;
  background: rgba(14, 10, 20, 0.85) !important;
}
body.theme-halloween .lightbox-category-badge,
html.theme-halloween .lightbox-category-badge {
  color: #e9d5ff !important;
  text-shadow: 0 0 12px rgba(168, 85, 247, 0.6) !important;
}
body.theme-halloween .lightbox-counter-badge,
html.theme-halloween .lightbox-counter-badge {
  background: rgba(147, 51, 234, 0.3) !important;
  border: 1px solid rgba(192, 132, 252, 0.55) !important;
  color: #ffffff !important;
}
body.theme-halloween .lightbox-btn,
html.theme-halloween .lightbox-btn {
  border-color: rgba(168, 85, 247, 0.5) !important;
  color: #e9d5ff !important;
}
body.theme-halloween .lightbox-btn:hover,
html.theme-halloween .lightbox-btn:hover {
  background: #a855f7 !important;
  border-color: #c084fc !important;
  color: #ffffff !important;
}
body.theme-halloween .lightbox-btn.close-btn:hover,
html.theme-halloween .lightbox-btn.close-btn:hover {
  background: #ef4444 !important;
  border-color: #ef4444 !important;
  color: #fff !important;
}
body.theme-halloween .lightbox-nav-btn,
html.theme-halloween .lightbox-nav-btn {
  background: rgba(18, 10, 26, 0.45) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border: 1.5px solid rgba(168, 85, 247, 0.55) !important;
  color: #e9d5ff !important;
}
body.theme-halloween .lightbox-nav-btn:hover,
html.theme-halloween .lightbox-nav-btn:hover {
  background: rgba(168, 85, 247, 0.25) !important;
  border-color: #c084fc !important;
  color: #ffffff !important;
  box-shadow: 0 0 20px rgba(168, 85, 247, 0.7) !important;
}
body.theme-halloween .lightbox-cinema-img,
html.theme-halloween .lightbox-cinema-img {
  border: 2px solid rgba(168, 85, 247, 0.65) !important;
  box-shadow: 0 25px 80px rgba(0, 0, 0, 0.95), 0 0 35px rgba(147, 51, 234, 0.45) !important;
}
body.theme-halloween .lightbox-filmstrip-bar,
html.theme-halloween .lightbox-filmstrip-bar {
  background: rgba(10, 6, 16, 0.92) !important;
  border-top: 1px solid rgba(168, 85, 247, 0.3) !important;
}
body.theme-halloween .lightbox-film-thumb,
html.theme-halloween .lightbox-film-thumb {
  border-color: rgba(168, 85, 247, 0.3) !important;
}
body.theme-halloween .lightbox-film-thumb:hover,
html.theme-halloween .lightbox-film-thumb:hover {
  border-color: rgba(192, 132, 252, 0.8) !important;
}
body.theme-halloween .lightbox-film-thumb.active,
html.theme-halloween .lightbox-film-thumb.active {
  border-color: #c084fc !important;
  box-shadow: 0 0 14px rgba(168, 85, 247, 0.85), inset 0 0 6px rgba(249, 115, 22, 0.5) !important;
}
body.theme-halloween .footer-copyright strong {
  color: #c084fc !important;
}
body.theme-halloween .footer-call-btn {
  background: linear-gradient(180deg, #fb923c 0%, #ea580c 50%, #c2410c 100%) !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  box-shadow: 0 4px 15px rgba(234, 88, 12, 0.6) !important;
}
body.theme-halloween .footer-call-btn:hover {
  background: linear-gradient(180deg, #fed7aa 0%, #f97316 50%, #ea580c 100%) !important;
  box-shadow: 0 6px 20px rgba(249, 115, 22, 0.8) !important;
}
body.theme-halloween .footer-legal-links a:hover {
  color: #c084fc !important;
}
body.theme-halloween .nav-tabs-group,
html.theme-halloween .nav-tabs-group {
  border: 1.5px solid rgba(168, 85, 247, 0.5) !important;
  background: rgba(0, 0, 0, 0.7) !important;
}
body.theme-halloween .luxury-navbar,
html.theme-halloween .luxury-navbar {
  border-color: #f97316 !important;
}


/* ══════════════════════════════════════════════════════════════════════
   MARCO PERIMETRAL GLOBAL DE TELARAÑAS GÓTICAS (INSPIRACIÓN FOTO 1)
══════════════════════════════════════════════════════════════════════ */
.global-halloween-web-layer {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  z-index: 10;
  overflow: hidden;
  contain: layout paint;
}

/* Telarañas en esquinas y laterales con resplandor púrpura/naranja */
.global-web-corner {
  position: absolute;
  pointer-events: none;
  z-index: 2;
  filter: drop-shadow(0 0 10px rgba(168, 85, 247, 0.45)) drop-shadow(0 0 18px rgba(249, 115, 22, 0.22));
  opacity: 0.88;
  transition: opacity 0.4s ease;
}
.global-web-corner svg {
  width: 100%;
  height: 100%;
  display: block;
}

.web-screen-top-left {
  top: 0;
  left: 0;
  width: clamp(240px, 30vw, 480px);
  height: clamp(240px, 30vw, 480px);
}
.web-screen-top-right {
  top: 0;
  right: 0;
  width: clamp(250px, 32vw, 500px);
  height: clamp(250px, 32vw, 500px);
}
.web-screen-bottom-left {
  bottom: 0;
  left: 0;
  width: clamp(220px, 28vw, 440px);
  height: clamp(220px, 28vw, 440px);
}
.web-screen-bottom-right {
  bottom: 0;
  right: 0;
  width: clamp(240px, 30vw, 460px);
  height: clamp(240px, 30vw, 460px);
}

/* Drapes de seda perimetrales en los bordes superior e inferior */
.global-web-top-drapes {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 140px;
  filter: drop-shadow(0 0 8px rgba(168, 85, 247, 0.4));
  opacity: 0.85;
}
.global-web-bottom-drapes {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 100px;
  filter: drop-shadow(0 0 8px rgba(168, 85, 247, 0.35));
  opacity: 0.8;
}

/* Tarjetas con Borde y Sombra Gótica Limpia (Sin parches oscuros) */
body.theme-halloween .service-pillar-card,
body.theme-halloween .team-sculpture-frame,
body.theme-halloween .contact-map-crystal-card,
body.theme-halloween .stat-card-glass,
body.theme-halloween .review-slide-card {
  position: relative;
  border-color: rgba(249, 115, 22, 0.35) !important;
  box-shadow: 0 16px 45px rgba(0, 0, 0, 0.95), 0 0 20px rgba(147, 51, 234, 0.2) !important;
}
body.theme-halloween .service-pillar-card:hover,
body.theme-halloween .stat-card-glass:hover,
body.theme-halloween .contact-map-crystal-card:hover,
body.theme-halloween .team-sculpture-frame:hover {
  border-color: #f97316 !important;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.98), 0 0 35px rgba(249, 115, 22, 0.45), 0 0 20px rgba(168, 85, 247, 0.3) !important;
}

body.theme-halloween .stat-card-glass::before {
  background: linear-gradient(90deg, transparent, #c084fc, transparent) !important;
  box-shadow: 0 0 14px #a855f7 !important;
}
body.theme-halloween .stat-card-glass:hover::before {
  background: linear-gradient(90deg, transparent, #f97316, transparent) !important;
  box-shadow: 0 0 18px #f97316 !important;
}

body.theme-halloween .legal-modal-card,
html.theme-halloween .legal-modal-card {
  border: 1.5px solid rgba(249, 115, 22, 0.5) !important;
  box-shadow: 0 25px 80px rgba(0, 0, 0, 0.95), 0 0 40px rgba(234, 88, 12, 0.3) !important;
  background: rgba(14, 10, 20, 0.98) !important;
}
body.theme-halloween .legal-modal-header,
html.theme-halloween .legal-modal-header {
  border-bottom: 1px solid rgba(249, 115, 22, 0.3) !important;
  background: rgba(8, 5, 14, 0.7) !important;
}
body.theme-halloween .legal-tab-btn,
html.theme-halloween .legal-tab-btn {
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(249, 115, 22, 0.35) !important;
  color: #fed7aa !important;
}
body.theme-halloween .legal-tab-btn:hover,
html.theme-halloween .legal-tab-btn:hover {
  background: rgba(234, 88, 12, 0.22) !important;
  border-color: #f97316 !important;
  color: #ffffff !important;
}
body.theme-halloween .legal-tab-btn.active,
html.theme-halloween .legal-tab-btn.active {
  background: linear-gradient(135deg, #fb923c 0%, #ea580c 50%, #c2410c 100%) !important;
  color: #ffffff !important;
  border-color: #f97316 !important;
  box-shadow: 0 2px 14px rgba(234, 88, 12, 0.65) !important;
}
body.theme-halloween .legal-modal-close-btn,
html.theme-halloween .legal-modal-close-btn {
  background: rgba(234, 88, 12, 0.15) !important;
  border: 1px solid rgba(249, 115, 22, 0.5) !important;
  color: #fed7aa !important;
}
body.theme-halloween .legal-modal-close-btn:hover,
html.theme-halloween .legal-modal-close-btn:hover {
  background: #ef4444 !important;
  border-color: #ef4444 !important;
  color: #ffffff !important;
}
body.theme-halloween .legal-doc-title,
body.theme-halloween .legal-modal-body h3,
body.theme-halloween .legal-info-title,
html.theme-halloween .legal-doc-title,
html.theme-halloween .legal-modal-body h3,
html.theme-halloween .legal-info-title {
  color: #f97316 !important;
}
body.theme-halloween .legal-meta-box strong,
body.theme-halloween .legal-modal-body strong,
html.theme-halloween .legal-meta-box strong,
html.theme-halloween .legal-modal-body strong {
  color: #ffedd5 !important;
}
body.theme-halloween .legal-email-link,
body.theme-halloween .legal-modal-body a,
html.theme-halloween .legal-email-link,
html.theme-halloween .legal-modal-body a {
  color: #f97316 !important;
}
body.theme-halloween .legal-modal-body::-webkit-scrollbar-thumb,
html.theme-halloween .legal-modal-body::-webkit-scrollbar-thumb {
  background: rgba(249, 115, 22, 0.4) !important;
}

/* ══════════════════════════════════════════════════════════════════════
   CARAVANA DE ORO DE LOS 3 REYES MAGOS EN EL HERO (MODO NAVIDAD)
══════════════════════════════════════════════════════════════════════ */
.hero-three-kings-scene {
  position: absolute;
  bottom: 0;
  left: 2.5%;
  width: 95%;
  height: clamp(380px, 58vh, 540px);
  pointer-events: none;
  z-index: 1;
  opacity: 0.95;
  transition: opacity 0.6s ease;
  overflow: visible;
  contain: layout style;
}

/* Línea de horizonte de arena 95% de lado a lado */
.kings-horizon-line-full {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 45px;
  pointer-events: none;
  z-index: 1;
}

/* Capa de Reyes Magos, Estrella de Belén en lo alto y Haz de Luz */
.kings-elements-layer {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  z-index: 2;
  filter: drop-shadow(0 0 16px rgba(253, 216, 53, 0.45));
}

/* Pulso y Resplandor de la Estrella de Belén (en lo alto) */
.kings-star-glow {
  animation: kingsStarPulse 3.5s ease-in-out infinite alternate;
  transform-origin: 1740px 70px;
}

@keyframes kingsStarPulse {
  0% {
    transform: scale(0.92);
    opacity: 0.85;
    filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.8)) drop-shadow(0 0 25px rgba(253, 216, 53, 0.85));
  }
  100% {
    transform: scale(1.1);
    opacity: 1;
    filter: drop-shadow(0 0 20px rgba(255, 255, 255, 1)) drop-shadow(0 0 45px rgba(253, 216, 53, 1));
  }
}

.kings-light-beam {
  animation: kingsBeamShimmer 4s ease-in-out infinite alternate;
}

@keyframes kingsBeamShimmer {
  0% { opacity: 0.3; }
  100% { opacity: 0.65; }
}

.kings-stardust {
  animation: kingsStardustTwinkle 2.5s ease-in-out infinite alternate;
}

@keyframes kingsStardustTwinkle {
  0% { opacity: 0.35; }
  100% { opacity: 0.95; }
}

/* AVANCE SERENO Y MAJESTUOSO: SIGUIENDO EL RELIEVE Y LAS CURVAS DE LAS DUNAS (160s, SIN MARCHA ATRÁS) */
.kings-caravan-group {
  animation: kingsDuneTravel 160s cubic-bezier(0.25, 0.7, 0.35, 1) forwards;
  transform-origin: bottom center;
  will-change: transform;
}

@keyframes kingsDuneTravel {
  0% {
    transform: translate(0px, 0px) rotate(0deg);
  }
  12% {
    transform: translate(110px, -4px) rotate(-1.5deg); /* Subiendo pendiente suave */
  }
  26% {
    transform: translate(250px, -8px) rotate(-0.5deg); /* Coronando primera duna */
  }
  40% {
    transform: translate(380px, -3px) rotate(1.4deg);  /* Bajando suavemente */
  }
  54% {
    transform: translate(520px, 2px) rotate(0.4deg);   /* Cruzando vaguada dorada */
  }
  68% {
    transform: translate(660px, -5px) rotate(-1.6deg); /* Subiendo segunda duna */
  }
  82% {
    transform: translate(800px, -9px) rotate(-0.8deg); /* Acercándose a la estrella */
  }
  94% {
    transform: translate(910px, -8px) rotate(0deg);    /* Aminorando el paso */
  }
  100% {
    transform: translate(950px, -8px) rotate(0deg);    /* Llegada y reverencia bajo la Estrella */
  }
}

/* PASO Y BALANCEO ORGÁNICO DE AMBLADURA DE CAMELLO (INCLINACIÓN Y ELEVACIÓN CON RITMO VIVO) */
.king-bob-1 {
  animation: camelAmbleMelchor 3.2s ease-in-out infinite;
  transform-origin: 100px 160px;
  will-change: transform;
}

.king-bob-2 {
  animation: camelAmbleGaspar 3.2s ease-in-out infinite -1.1s;
  transform-origin: 100px 160px;
  will-change: transform;
}

.king-bob-3 {
  animation: camelAmbleBaltasar 3.2s ease-in-out infinite -2.2s;
  transform-origin: 100px 160px;
  will-change: transform;
}

@keyframes camelAmbleMelchor {
  0% {
    transform: translateY(0px) rotate(-1.2deg);
  }
  28% {
    transform: translateY(-4.5px) rotate(1.0deg);
  }
  58% {
    transform: translateY(-1.8px) rotate(-0.4deg);
  }
  82% {
    transform: translateY(-3.8px) rotate(0.8deg);
  }
  100% {
    transform: translateY(0px) rotate(-1.2deg);
  }
}

@keyframes camelAmbleGaspar {
  0% {
    transform: translateY(0px) rotate(-1.0deg);
  }
  32% {
    transform: translateY(-4.2px) rotate(0.9deg);
  }
  60% {
    transform: translateY(-1.5px) rotate(-0.3deg);
  }
  85% {
    transform: translateY(-3.5px) rotate(0.7deg);
  }
  100% {
    transform: translateY(0px) rotate(-1.0deg);
  }
}

@keyframes camelAmbleBaltasar {
  0% {
    transform: translateY(0px) rotate(-0.9deg);
  }
  35% {
    transform: translateY(-4.0px) rotate(0.8deg);
  }
  62% {
    transform: translateY(-1.4px) rotate(-0.3deg);
  }
  88% {
    transform: translateY(-3.2px) rotate(0.6deg);
  }
  100% {
    transform: translateY(0px) rotate(-0.9deg);
  }
}

@media (max-width: 768px) {
  .hero-three-kings-scene {
    left: 2.5%;
    width: 95%;
    height: clamp(240px, 48vh, 360px);
    opacity: 0.85;
  }
  .kings-horizon-line-full {
    height: 32px;
  }
  .kings-elements-layer {
    height: 100%;
  }
}

/* ==========================================================================
   FINAL FALLAS THEME HIGH-SPECIFICITY OVERRIDES (100% VALENCIA FALLERA)
   ========================================================================== */

/* 1. Selector de Empleados / Team Carousel Pills (Exterior Rojo, Interior Azul Noche, Acentos Amarillos) */
body.theme-fallas .team-selector-dock,
html.theme-fallas .team-selector-dock {
  background: none !important;
  border: none !important;
  border-top: 1px solid rgba(220, 38, 38, 0.35) !important;
  box-shadow: none !important;
}

body.theme-fallas .team-dock-btn,
html.theme-fallas .team-dock-btn,
body.theme-fallas .team-pill-btn,
html.theme-fallas .team-pill-btn {
  border: 1.5px solid rgba(220, 38, 38, 0.5) !important;
  color: #e2e8f0 !important;
  background: rgba(10, 15, 28, 0.9) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.6) !important;
}

body.theme-fallas .team-dock-btn:hover,
html.theme-fallas .team-dock-btn:hover,
body.theme-fallas .team-pill-btn:hover,
html.theme-fallas .team-pill-btn:hover {
  border-color: #ef4444 !important;
  background: rgba(30, 58, 138, 0.35) !important;
  color: #fef08a !important;
  box-shadow: 0 0 16px rgba(239, 68, 68, 0.7), 0 0 6px rgba(250, 204, 21, 0.4) !important;
  transform: translateY(-2px);
}

body.theme-fallas .team-dock-btn.active,
html.theme-fallas .team-dock-btn.active,
body.theme-fallas button.team-dock-btn.active,
html.theme-fallas button.team-dock-btn.active,
body.theme-fallas .team-pill-btn.active,
html.theme-fallas .team-pill-btn.active {
  background: linear-gradient(135deg, rgba(29, 78, 216, 0.6) 0%, rgba(15, 23, 42, 0.95) 100%) !important;
  border: 1.5px solid #ef4444 !important;
  color: #ffffff !important;
  box-shadow: 0 0 16px rgba(239, 68, 68, 0.75), 0 0 6px rgba(250, 204, 21, 0.4) !important;
}

body.theme-fallas .team-dock-avatar,
html.theme-fallas .team-dock-avatar,
body.theme-fallas .team-pill-avatar-wrap,
html.theme-fallas .team-pill-avatar-wrap {
  border: 1.5px solid #facc15 !important;
  box-shadow: 0 0 6px rgba(250, 204, 21, 0.5) !important;
}

body.theme-fallas .team-dock-btn.active .team-dock-avatar,
html.theme-fallas .team-dock-btn.active .team-dock-avatar {
  border: 2px solid #facc15 !important;
  box-shadow: 0 0 10px rgba(250, 204, 21, 0.9) !important;
}

body.theme-fallas .team-nav-arrow-btn,
html.theme-fallas .team-nav-arrow-btn {
  border-color: rgba(220, 38, 38, 0.55) !important;
  color: #facc15 !important;
  background: rgba(10, 15, 28, 0.9) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.6) !important;
}

body.theme-fallas .team-nav-arrow-btn:hover,
html.theme-fallas .team-nav-arrow-btn:hover {
  border-color: #ef4444 !important;
  background: rgba(30, 58, 138, 0.45) !important;
  color: #ffffff !important;
  box-shadow: 0 0 16px rgba(239, 68, 68, 0.8), 0 0 8px rgba(250, 204, 21, 0.6) !important;
}

body.theme-fallas .team-counter-display,
html.theme-fallas .team-counter-display {
  color: #fef08a !important;
}

/* 2. Líneas Laterales de Títulos y Categorías */
body.theme-fallas .gallery-cat-wing.left,
html.theme-fallas .gallery-cat-wing.left {
  background: linear-gradient(to left, #2563eb 0%, #facc15 50%, #dc2626 100%) !important;
}
body.theme-fallas .gallery-cat-wing.right,
html.theme-fallas .gallery-cat-wing.right {
  background: linear-gradient(to right, #2563eb 0%, #facc15 50%, #dc2626 100%) !important;
}
body.theme-fallas .gallery-cat-card:hover .gallery-cat-wing.left,
html.theme-fallas .gallery-cat-card:hover .gallery-cat-wing.left {
  background: linear-gradient(to left, #38bdf8 0%, #fef08a 50%, #ef4444 100%) !important;
  box-shadow: 0 0 10px rgba(239, 68, 68, 0.8) !important;
}
body.theme-fallas .gallery-cat-card:hover .gallery-cat-wing.right,
html.theme-fallas .gallery-cat-card:hover .gallery-cat-wing.right {
  background: linear-gradient(to right, #38bdf8 0%, #fef08a 50%, #ef4444 100%) !important;
  box-shadow: 0 0 10px rgba(239, 68, 68, 0.8) !important;
}
body.theme-fallas .hero-enter-link .enter-line:first-child,
html.theme-fallas .hero-enter-link .enter-line:first-child {
  background: linear-gradient(90deg, transparent, #2563eb, #facc15) !important;
}
body.theme-fallas .hero-enter-link .enter-line:last-child,
html.theme-fallas .hero-enter-link .enter-line:last-child {
  background: linear-gradient(90deg, #facc15, #dc2626, transparent) !important;
}

/* 3. Resplandor Superior de Tarjetas con la Senyera */
body.theme-fallas .stat-card-glass::before,
html.theme-fallas .stat-card-glass::before {
  background: linear-gradient(90deg, #dc2626 0%, #facc15 50%, #2563eb 100%) !important;
  box-shadow: 0 0 14px rgba(239, 68, 68, 0.8), 0 0 24px rgba(250, 204, 21, 0.8) !important;
}
body.theme-fallas .stat-card-glass:hover::before,
html.theme-fallas .stat-card-glass:hover::before {
  background: linear-gradient(90deg, #ef4444 0%, #fef08a 50%, #38bdf8 100%) !important;
  box-shadow: 0 0 18px #facc15, 0 0 25px rgba(239, 68, 68, 0.8) !important;
}
body.theme-fallas .service-pillar-card::before,
html.theme-fallas .service-pillar-card::before,
body.theme-fallas .service-card-luxury::before,
html.theme-fallas .service-card-luxury::before {
  background: linear-gradient(90deg, #dc2626 0%, #facc15 50%, #2563eb 100%) !important;
  box-shadow: 0 0 14px rgba(239, 68, 68, 0.7) !important;
}

/* 4. Lightbox Cinemático Fallero */
body.theme-fallas .gallery-lightbox-modal,
html.theme-fallas .gallery-lightbox-modal {
  background: radial-gradient(circle at 50% 20%, rgba(30, 58, 138, 0.2) 0%, rgba(8, 12, 22, 0.98) 55%, #04060c 90%) !important;
}
body.theme-fallas .lightbox-top-bar,
html.theme-fallas .lightbox-top-bar {
  border-bottom: 1.5px solid rgba(220, 38, 38, 0.45) !important;
  background: rgba(10, 14, 26, 0.95) !important;
}
body.theme-fallas .lightbox-category-badge,
html.theme-fallas .lightbox-category-badge {
  color: #fef08a !important;
  text-shadow: 0 0 12px rgba(250, 204, 21, 0.6) !important;
}
body.theme-fallas .lightbox-counter-badge,
html.theme-fallas .lightbox-counter-badge {
  background: rgba(30, 58, 138, 0.35) !important;
  border: 1px solid #facc15 !important;
  color: #ffffff !important;
}
body.theme-fallas .lightbox-btn,
html.theme-fallas .lightbox-btn {
  border-color: rgba(220, 38, 38, 0.5) !important;
  background: rgba(10, 15, 28, 0.9) !important;
  color: #fef08a !important;
}
body.theme-fallas .lightbox-btn:hover {
  background: rgba(30, 58, 138, 0.45) !important;
  border-color: #ef4444 !important;
  color: #ffffff !important;
}
body.theme-fallas .lightbox-btn.close-btn:hover {
  background: #ef4444 !important;
  border-color: #facc15 !important;
  color: #fff !important;
}
body.theme-fallas .lightbox-nav-btn,
html.theme-fallas .lightbox-nav-btn {
  background: rgba(10, 14, 26, 0.45) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border: 1.5px solid rgba(250, 204, 21, 0.55) !important;
  color: #fef08a !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5) !important;
}
body.theme-fallas .lightbox-nav-btn:hover {
  background: rgba(250, 204, 21, 0.25) !important;
  border-color: #facc15 !important;
  color: #ffffff !important;
  box-shadow: 0 0 25px rgba(250, 204, 21, 0.9) !important;
}
body.theme-fallas .lightbox-cinema-img,
html.theme-fallas .lightbox-cinema-img {
  border: 2.5px solid rgba(220, 38, 38, 0.65) !important;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.98), 0 0 35px rgba(220, 38, 38, 0.4), inset 0 0 15px rgba(250, 204, 21, 0.2) !important;
}
body.theme-fallas #lightboxPhotoTitleText,
html.theme-fallas #lightboxPhotoTitleText {
  color: #fef08a !important;
  text-shadow: 0 0 14px rgba(239, 68, 68, 0.8), 0 2px 10px rgba(0,0,0,0.95) !important;
}
body.theme-fallas .lightbox-title-line-left,
html.theme-fallas .lightbox-title-line-left {
  background: linear-gradient(90deg, transparent, #ef4444) !important;
}
body.theme-fallas .lightbox-title-line-right,
html.theme-fallas .lightbox-title-line-right {
  background: linear-gradient(90deg, #ef4444, transparent) !important;
}
body.theme-fallas #lightboxSplitSliderWrap,
html.theme-fallas #lightboxSplitSliderWrap {
  border-color: #ef4444 !important;
  box-shadow: 0 35px 95px rgba(0, 0, 0, 0.98), 0 0 35px rgba(220, 38, 38, 0.4) !important;
}
body.theme-fallas #lightboxSplitHandle,
html.theme-fallas #lightboxSplitHandle {
  border-color: #facc15 !important;
  color: #fef08a !important;
  box-shadow: 0 0 15px rgba(239, 68, 68, 0.7) !important;
}
body.theme-fallas #lightboxServicesBtn,
html.theme-fallas #lightboxServicesBtn {
  border-color: rgba(220, 38, 38, 0.6) !important;
  background: rgba(10, 15, 28, 0.9) !important;
  color: #fef08a !important;
}
body.theme-fallas #lightboxServicesCountBadge,
html.theme-fallas #lightboxServicesCountBadge {
  background: #ef4444 !important;
  color: #ffffff !important;
  border-color: #facc15 !important;
}
body.theme-fallas #lightboxServicesPopover,
html.theme-fallas #lightboxServicesPopover {
  border-color: rgba(220, 38, 38, 0.5) !important;
  background: rgba(8, 12, 24, 0.98) !important;
}
body.theme-fallas #lightboxServicesPopover > div:first-child,
html.theme-fallas #lightboxServicesPopover > div:first-child {
  color: #fef08a !important;
}
body.theme-fallas .lightbox-filmstrip-bar,
html.theme-fallas .lightbox-filmstrip-bar {
  background: rgba(10, 14, 26, 0.96) !important;
  border-top: 1.5px solid rgba(220, 38, 38, 0.35) !important;
}
body.theme-fallas .lightbox-film-thumb,
html.theme-fallas .lightbox-film-thumb {
  border-color: rgba(220, 38, 38, 0.35) !important;
}
body.theme-fallas .lightbox-film-thumb:hover,
html.theme-fallas .lightbox-film-thumb:hover {
  border-color: #facc15 !important;
  box-shadow: 0 0 10px rgba(239, 68, 68, 0.6) !important;
}
body.theme-fallas .lightbox-film-thumb.active,
html.theme-fallas .lightbox-film-thumb.active {
  border-color: #ef4444 !important;
  box-shadow: 0 0 16px rgba(239, 68, 68, 0.9), inset 0 0 6px rgba(250, 204, 21, 0.6) !important;
  transform: scale(1.08);
}

/* 5. Marcas de Agua Flotantes de Fondo y Títulos Falleros */
body.theme-fallas .section-floating-watermark,
html.theme-fallas .section-floating-watermark,
body.theme-fallas .team-watermark-text,
html.theme-fallas .team-watermark-text,
body.theme-fallas .section-watermark-title,
html.theme-fallas .section-watermark-title {
  -webkit-text-stroke: 1.5px rgba(250, 204, 21, 0.22) !important;
  color: rgba(37, 99, 235, 0.02) !important;
  text-shadow: 0 0 35px rgba(37, 99, 235, 0.25), 0 0 15px rgba(250, 204, 21, 0.15) !important;
}

body.theme-fallas .section-tag,
html.theme-fallas .section-tag,
body.theme-fallas .section-sub-badge,
html.theme-fallas .section-sub-badge,
body.theme-fallas .spotlight-badge,
html.theme-fallas .spotlight-badge {
  color: #facc15 !important;
  border: none !important;
  background: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  text-shadow: 0 0 14px rgba(250, 204, 21, 0.6) !important;
}

body.theme-fallas .section-title span,
html.theme-fallas .section-title span {
  background: linear-gradient(135deg, #ffffff 0%, #fef08a 22%, #facc15 50%, #f97316 75%, #dc2626 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  filter: drop-shadow(0 0 16px rgba(220, 38, 38, 0.65));
}

/* ==========================================================================
SEASONAL LUXURY THEMES FOR BOOKING WIZARD & MODAL
   (Halloween, Fallas, Navidad, San Valentín)
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. MODO HALLOWEEN (Naranjas Fuego, Calabaza & Púrpura Brujo / Violeta Neón)
   -------------------------------------------------------------------------- */
html.theme-halloween .booking-modal-card,
body.theme-halloween .booking-modal-card {
  background: radial-gradient(circle at 50% -10%, rgba(147, 51, 234, 0.22) 0%, rgba(234, 88, 12, 0.12) 30%, rgba(14, 8, 22, 0.98) 65%, #07030a 100%) !important;
  border: 1.5px solid rgba(249, 115, 22, 0.6) !important;
  box-shadow: 0 30px 100px rgba(0, 0, 0, 0.98), 0 0 45px rgba(147, 51, 234, 0.28), 0 0 25px rgba(234, 88, 12, 0.3) !important;
}

html.theme-halloween .booking-modal-ambient-glow,
body.theme-halloween .booking-modal-ambient-glow {
  background: radial-gradient(circle at 50% 30%, rgba(147, 51, 234, 0.25) 0%, rgba(234, 88, 12, 0.16) 45%, transparent 75%) !important;
}

html.theme-halloween .booking-modal-close-btn,
body.theme-halloween .booking-modal-close-btn {
  background: rgba(147, 51, 234, 0.15) !important;
  border: 1.5px solid rgba(168, 85, 247, 0.5) !important;
  color: #e9d5ff !important;
}
html.theme-halloween .booking-modal-close-btn:hover,
body.theme-halloween .booking-modal-close-btn:hover {
  background: #dc2626 !important;
  border-color: #dc2626 !important;
  color: #ffffff !important;
  box-shadow: 0 0 15px rgba(220, 38, 38, 0.7) !important;
}

/* Emblema LUAN PELUQUEROS estilo Witchcraft Glow (Morado) */
html.theme-halloween .booking-emblem,
body.theme-halloween .booking-emblem {
  background: rgba(147, 51, 234, 0.2) !important;
  border: 1.5px solid rgba(192, 132, 252, 0.6) !important;
  color: #e9d5ff !important;
  box-shadow: 0 0 14px rgba(168, 85, 247, 0.45) !important;
}
html.theme-halloween .booking-emblem svg,
body.theme-halloween .booking-emblem svg {
  color: #c084fc !important;
}

/* Stepper de progreso (Burbuja Naranja, Marco Morado) */
html.theme-halloween .booking-step-item,
body.theme-halloween .booking-step-item {
  border-color: rgba(168, 85, 247, 0.28) !important;
}
html.theme-halloween .booking-step-item.active,
body.theme-halloween .booking-step-item.active {
  color: #e9d5ff !important;
  background: rgba(147, 51, 234, 0.2) !important;
  border-color: rgba(192, 132, 252, 0.6) !important;
  box-shadow: 0 0 16px rgba(168, 85, 247, 0.4) !important;
}
html.theme-halloween .booking-step-item.active .booking-step-bubble,
body.theme-halloween .booking-step-item.active .booking-step-bubble {
  background: linear-gradient(135deg, #fb923c 0%, #ea580c 100%) !important;
  border: 1px solid rgba(254, 215, 170, 0.85) !important;
  color: #ffffff !important;
  box-shadow: 0 0 14px rgba(234, 88, 12, 0.75) !important;
}

/* Chip de cliente superior */
html.theme-halloween .top-client-pill,
body.theme-halloween .top-client-pill {
  background: rgba(18, 10, 26, 0.9) !important;
  border: 1.5px solid rgba(168, 85, 247, 0.45) !important;
  box-shadow: 0 0 14px rgba(147, 51, 234, 0.2) !important;
}
html.theme-halloween .top-client-icon,
body.theme-halloween .top-client-icon {
  color: #fb923c !important;
}
html.theme-halloween .top-client-tag,
body.theme-halloween .top-client-tag {
  color: #c084fc !important;
  background: rgba(147, 51, 234, 0.2) !important;
  border: 1px solid rgba(192, 132, 252, 0.45) !important;
}
html.theme-halloween .top-client-change-btn:hover,
body.theme-halloween .top-client-change-btn:hover {
  color: #e9d5ff !important;
  border-color: #c084fc !important;
  background: rgba(147, 51, 234, 0.25) !important;
}

/* Selector Global de Largura de Cabello: Pista Morada, Botón Activo Naranja Puro */
html.theme-halloween .booking-hair-segmented-track,
body.theme-halloween .booking-hair-segmented-track,
html.theme-halloween .booking-hair-length-options,
body.theme-halloween .booking-hair-length-options {
  background: rgba(14, 8, 22, 0.95) !important;
  border: 1.5px solid rgba(168, 85, 247, 0.45) !important;
  box-shadow: inset 0 2px 10px rgba(0, 0, 0, 0.6), 0 4px 15px rgba(147, 51, 234, 0.18) !important;
}
html.theme-halloween .booking-hair-pill,
body.theme-halloween .booking-hair-pill {
  color: #cbd5e1 !important;
}
html.theme-halloween .booking-hair-pill:hover:not(.active),
body.theme-halloween .booking-hair-pill:hover:not(.active) {
  background: rgba(234, 88, 12, 0.15) !important;
  color: #fb923c !important;
  border-color: rgba(249, 115, 22, 0.5) !important;
}
html.theme-halloween .booking-hair-pill:hover:not(.active) .pill-guide,
body.theme-halloween .booking-hair-pill:hover:not(.active) > span:last-child {
  color: #fed7aa !important;
}
html.theme-halloween .booking-hair-pill.active,
body.theme-halloween .booking-hair-pill.active {
  background: linear-gradient(135deg, #fb923c 0%, #ea580c 50%, #c2410c 100%) !important;
  border: 1.5px solid rgba(254, 215, 170, 0.8) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 20px rgba(234, 88, 12, 0.65) !important;
}
html.theme-halloween .booking-hair-pill.active .pill-title,
body.theme-halloween .booking-hair-pill.active .pill-guide,
html.theme-halloween .booking-hair-pill.active > span {
  color: #ffffff !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.8) !important;
}

/* Placeholder guía de largura bloqueada */
html.theme-halloween .booking-length-locked-placeholder,
body.theme-halloween .booking-length-locked-placeholder {
  border: 1.5px dashed rgba(168, 85, 247, 0.45) !important;
  background: radial-gradient(circle at 50% 50%, rgba(147, 51, 234, 0.08) 0%, rgba(14, 8, 22, 0.85) 100%) !important;
}
html.theme-halloween .booking-length-locked-icon,
body.theme-halloween .booking-length-locked-icon {
  color: #c084fc !important;
}

/* Filtros de Categorías */
html.theme-halloween .booking-category-pill,
body.theme-halloween .booking-category-pill {
  background: rgba(18, 10, 26, 0.85) !important;
  border: 1px solid rgba(168, 85, 247, 0.35) !important;
  color: #e2e8f0 !important;
}
html.theme-halloween .booking-category-pill:hover:not(.active),
body.theme-halloween .booking-category-pill:hover:not(.active) {
  background: rgba(234, 88, 12, 0.16) !important;
  border-color: #f97316 !important;
  color: #fb923c !important;
  box-shadow: 0 0 12px rgba(234, 88, 12, 0.35) !important;
}
html.theme-halloween .booking-category-pill.active,
body.theme-halloween .booking-category-pill.active {
  background: linear-gradient(135deg, #fb923c 0%, #ea580c 100%) !important;
  border: 1.5px solid rgba(254, 215, 170, 0.8) !important;
  color: #ffffff !important;
  box-shadow: 0 0 16px rgba(234, 88, 12, 0.65) !important;
}
html.theme-halloween .booking-category-pills-bar::-webkit-scrollbar-thumb,
body.theme-halloween .booking-category-pills-bar::-webkit-scrollbar-thumb {
  background: #ea580c !important;
}

/* ==========================================================================
   SECCIÓN "TUS SERVICIOS HABITUALES":
   - MARCO EXTERIOR: MORADO / VIOLETA NEÓN
   - TARJETAS INTERIORES: NARANJA DE ALTO CONTRASTE
   ========================================================================== */
html.theme-halloween #bookingCatSec-habituales,
body.theme-halloween #bookingCatSec-habituales {
  background: rgba(147, 51, 234, 0.08) !important;
  border: 1.5px solid rgba(192, 132, 252, 0.65) !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 25px rgba(0, 0, 0, 0.6), 0 0 20px rgba(168, 85, 247, 0.3) !important;
}
html.theme-halloween #bookingCatSec-habituales .booking-category-title,
body.theme-halloween #bookingCatSec-habituales .booking-category-title {
  color: #fb923c !important;
  border-bottom: 1px solid rgba(168, 85, 247, 0.3) !important;
}
html.theme-halloween #bookingCatSec-habituales .booking-category-title i,
body.theme-halloween #bookingCatSec-habituales .booking-category-title svg {
  color: #c084fc !important;
}
html.theme-halloween #bookingCatSec-habituales span[style*="background: rgba(253, 216, 53, 0.15)"],
html.theme-halloween #bookingCatSec-habituales [style*="border-color: rgba(253, 216, 53, 0.4)"] {
  background: rgba(147, 51, 234, 0.25) !important;
  border: 1px solid rgba(192, 132, 252, 0.55) !important;
  color: #e9d5ff !important;
  box-shadow: 0 0 10px rgba(147, 51, 234, 0.35) !important;
}

/* ==========================================================================
   TARJETAS DE SERVICIOS: CADA SERVICIO CON SU BORDE EN NARANJA
   ========================================================================== */
html.theme-halloween .booking-service-card-fresha,
body.theme-halloween .booking-service-card-fresha {
  background: rgba(18, 10, 26, 0.9) !important;
  border: 1.5px solid rgba(249, 115, 22, 0.5) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.55) !important;
}
html.theme-halloween .booking-service-card-fresha:hover,
body.theme-halloween .booking-service-card-fresha:hover {
  background: rgba(28, 14, 42, 0.96) !important;
  border-color: #f97316 !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.65), 0 0 18px rgba(249, 115, 22, 0.45) !important;
}
html.theme-halloween .booking-service-card-fresha.selected,
body.theme-halloween .booking-service-card-fresha.selected {
  border: 1.5px solid #f97316 !important;
  background: radial-gradient(circle at 100% 0%, rgba(234, 88, 12, 0.22) 0%, rgba(18, 10, 26, 0.98) 100%) !important;
  box-shadow: 0 0 20px rgba(234, 88, 12, 0.45), inset 0 0 15px rgba(234, 88, 12, 0.12) !important;
}

/* Duración de servicio con toque violeta de contraste */
html.theme-halloween .service-dur-pill,
body.theme-halloween .service-dur-pill {
  background: rgba(147, 51, 234, 0.2) !important;
  border-color: rgba(168, 85, 247, 0.45) !important;
  color: #e9d5ff !important;
}
html.theme-halloween .service-dur-pill i,
body.theme-halloween .service-dur-pill svg {
  color: #c084fc !important;
}
html.theme-halloween .booking-service-price-tag,
body.theme-halloween .booking-service-price-tag {
  color: #fb923c !important;
  text-shadow: 0 0 10px rgba(249, 115, 22, 0.4) !important;
}

/* Botón de añadir (+) en Morado, y Check seleccionado en Naranja */
html.theme-halloween .booking-service-action-btn,
body.theme-halloween .booking-service-action-btn {
  background: rgba(147, 51, 234, 0.15) !important;
  border: 1.5px solid rgba(168, 85, 247, 0.5) !important;
  color: #c084fc !important;
}
html.theme-halloween .booking-service-card-fresha:hover .booking-service-action-btn,
body.theme-halloween .booking-service-card-fresha:hover .booking-service-action-btn {
  border-color: #f97316 !important;
  color: #f97316 !important;
  background: rgba(234, 88, 12, 0.18) !important;
  box-shadow: 0 0 12px rgba(234, 88, 12, 0.4) !important;
}
html.theme-halloween .booking-service-card-fresha.selected .booking-service-action-btn,
body.theme-halloween .booking-service-card-fresha.selected .booking-service-action-btn {
  background: #ea580c !important;
  border: 1.5px solid #f97316 !important;
  color: #ffffff !important;
  box-shadow: 0 0 14px rgba(234, 88, 12, 0.7) !important;
}

/* ==========================================================================
   CARRITO LATERAL ("TU RESERVA"):
   - MARCO EXTERIOR: MORADO NEÓN
   - ITEMS INTERNOS: BORDE NARANJA
   - BOTÓN CONTINUAR: NARANJA FUEGO PURO
   ========================================================================== */
html.theme-halloween .booking-cart-sidebar,
body.theme-halloween .booking-cart-sidebar {
  border: 1.5px solid rgba(168, 85, 247, 0.55) !important;
  background: rgba(14, 8, 22, 0.97) !important;
  box-shadow: 0 10px 35px rgba(0, 0, 0, 0.85), 0 0 25px rgba(168, 85, 247, 0.25) !important;
}
html.theme-halloween .booking-cart-header-compact,
body.theme-halloween .booking-cart-header-compact {
  border-bottom: 1px solid rgba(168, 85, 247, 0.25) !important;
}
html.theme-halloween .booking-cart-header-title i,
body.theme-halloween .booking-cart-header-title svg {
  color: #c084fc !important;
}
html.theme-halloween .booking-cart-count-badge,
body.theme-halloween .booking-cart-count-badge {
  background: rgba(147, 51, 234, 0.3) !important;
  border: 1.5px solid rgba(192, 132, 252, 0.7) !important;
  color: #e9d5ff !important;
  box-shadow: 0 0 10px rgba(168, 85, 247, 0.45) !important;
}
html.theme-halloween .booking-cart-item-row,
body.theme-halloween .booking-cart-item-row {
  background: rgba(234, 88, 12, 0.06) !important;
  border: 1px solid rgba(249, 115, 22, 0.35) !important;
}
html.theme-halloween .booking-cart-item-row:hover,
body.theme-halloween .booking-cart-item-row:hover {
  background: rgba(234, 88, 12, 0.14) !important;
  border-color: #f97316 !important;
}
html.theme-halloween .booking-cart-item-price,
body.theme-halloween .booking-cart-item-price {
  color: #fb923c !important;
}
html.theme-halloween .booking-cart-total-row,
body.theme-halloween .booking-cart-total-row {
  border-top: 1px solid rgba(168, 85, 247, 0.3) !important;
}
html.theme-halloween .booking-cart-total-label,
body.theme-halloween .booking-cart-total-label {
  color: #e9d5ff !important;
}
html.theme-halloween .booking-cart-total-amount,
body.theme-halloween .booking-cart-total-amount {
  color: #fb923c !important;
  text-shadow: 0 0 14px rgba(249, 115, 22, 0.6) !important;
}

/* Botón Principal (CONTINUAR / ENVIAR SOLICITUD): Naranja puro incandescente */
html.theme-halloween .booking-btn-primary,
body.theme-halloween .booking-btn-primary {
  background: linear-gradient(135deg, #fb923c 0%, #ea580c 50%, #c2410c 100%) !important;
  border: 1.5px solid rgba(254, 215, 170, 0.75) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 22px rgba(234, 88, 12, 0.65) !important;
}
html.theme-halloween .booking-btn-primary:hover:not(:disabled),
body.theme-halloween .booking-btn-primary:hover:not(:disabled) {
  background: linear-gradient(135deg, #fdba74 0%, #f97316 50%, #ea580c 100%) !important;
  box-shadow: 0 6px 28px rgba(249, 115, 22, 0.85) !important;
  transform: translateY(-2px) !important;
}

/* Formulario & Campos de Entrada */
html.theme-halloween .booking-input:focus,
body.theme-halloween .booking-input:focus {
  border-left-color: #f97316 !important;
  box-shadow: 0 0 0 3px rgba(147, 51, 234, 0.25), 0 4px 20px rgba(0, 0, 0, 0.5) !important;
}
html.theme-halloween .booking-input-icon,
body.theme-halloween .booking-input-icon {
  color: #c084fc !important;
}
html.theme-halloween .booking-form-label span.req,
body.theme-halloween .booking-form-label span.req {
  color: #f97316 !important;
}

/* ==========================================================================
   PASO 3: CITA EXPRÉS (ACCESO RÁPIDO)
   ========================================================================== */
html.theme-halloween .booking-quick-slots-bar,
body.theme-halloween .booking-quick-slots-bar {
  border: 1.5px solid rgba(168, 85, 247, 0.45) !important;
  background: rgba(18, 10, 26, 0.85) !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.4) !important;
}
html.theme-halloween .booking-quick-badge,
body.theme-halloween .booking-quick-badge {
  background: linear-gradient(135deg, #fb923c 0%, #ea580c 100%) !important;
  border: 1px solid rgba(254, 215, 170, 0.8) !important;
  color: #ffffff !important;
  box-shadow: 0 0 10px rgba(234, 88, 12, 0.6) !important;
}
html.theme-halloween .booking-quick-badge svg,
body.theme-halloween .booking-quick-badge i {
  color: #ffffff !important;
  fill: #ffffff !important;
}
html.theme-halloween .booking-quick-text,
body.theme-halloween .booking-quick-text {
  color: #e2e8f0 !important;
}
html.theme-halloween .booking-quick-btn,
body.theme-halloween .booking-quick-btn {
  background: rgba(147, 51, 234, 0.15) !important;
  border: 1.5px solid rgba(168, 85, 247, 0.45) !important;
  color: #e9d5ff !important;
}
html.theme-halloween .booking-quick-btn svg,
html.theme-halloween .booking-quick-btn i {
  color: #c084fc !important;
}
html.theme-halloween .booking-quick-btn:hover,
body.theme-halloween .booking-quick-btn:hover {
  background: linear-gradient(135deg, #fb923c 0%, #ea580c 100%) !important;
  border-color: #f97316 !important;
  color: #ffffff !important;
  box-shadow: 0 0 14px rgba(234, 88, 12, 0.7) !important;
}
html.theme-halloween .booking-quick-btn:hover svg,
html.theme-halloween .booking-quick-btn:hover i {
  color: #ffffff !important;
  fill: none !important;
}

/* ==========================================================================
   PASO 3: SELECCIÓN DE ESTILISTAS
   ========================================================================== */
html.theme-halloween .booking-step3-section,
body.theme-halloween .booking-step3-section,
html.theme-halloween .booking-stylists-section,
body.theme-halloween .booking-stylists-section {
  background: rgba(18, 10, 26, 0.88) !important;
  border: 1.5px solid rgba(168, 85, 247, 0.45) !important;
}
html.theme-halloween .booking-step3-section-title,
body.theme-halloween .booking-step3-section-title {
  color: #fb923c !important;
}
html.theme-halloween .booking-stylist-card,
body.theme-halloween .booking-stylist-card {
  border: 1.5px solid rgba(249, 115, 22, 0.45) !important;
  background: rgba(18, 10, 26, 0.85) !important;
}
html.theme-halloween .booking-stylist-card:hover,
body.theme-halloween .booking-stylist-card:hover {
  border-color: #f97316 !important;
  background: rgba(28, 14, 42, 0.95) !important;
  box-shadow: 0 0 14px rgba(249, 115, 22, 0.35) !important;
}
html.theme-halloween .booking-stylist-card.active,
body.theme-halloween .booking-stylist-card.active {
  border-color: #f97316 !important;
  background: radial-gradient(circle at 50% 0%, rgba(234, 88, 12, 0.3) 0%, rgba(18, 10, 26, 0.98) 100%) !important;
  box-shadow: 0 0 16px rgba(234, 88, 12, 0.5) !important;
}
html.theme-halloween .booking-stylist-avatar,
body.theme-halloween .booking-stylist-avatar {
  border: 2px solid rgba(168, 85, 247, 0.5) !important;
  color: #c084fc !important;
  background: rgba(147, 51, 234, 0.15) !important;
}
html.theme-halloween .booking-stylist-card.active .booking-stylist-avatar {
  border-color: #f97316 !important;
  box-shadow: 0 0 12px rgba(249, 115, 22, 0.65) !important;
}
html.theme-halloween .booking-stylist-card.active .booking-stylist-name {
  color: #fb923c !important;
}

/* ==========================================================================
   PASO 3: CALENDARIO Y HORAS
   ========================================================================== */
html.theme-halloween .booking-calendar-card,
body.theme-halloween .booking-calendar-card {
  background: rgba(12, 6, 18, 0.85) !important;
  border: 1.5px solid rgba(168, 85, 247, 0.45) !important;
}
html.theme-halloween .booking-cal-month-title,
body.theme-halloween .booking-cal-month-title {
  color: #e9d5ff !important;
}
html.theme-halloween .booking-cal-nav-btn,
body.theme-halloween .booking-cal-nav-btn {
  background: rgba(147, 51, 234, 0.15) !important;
  border: 1.5px solid rgba(168, 85, 247, 0.45) !important;
  color: #c084fc !important;
}
html.theme-halloween .booking-cal-nav-btn:hover:not(:disabled),
body.theme-halloween .booking-cal-nav-btn:hover:not(:disabled) {
  background: #ea580c !important;
  color: #ffffff !important;
  border-color: #f97316 !important;
}
html.theme-halloween .booking-cal-day,
body.theme-halloween .booking-cal-day {
  border-color: rgba(168, 85, 247, 0.25) !important;
}
html.theme-halloween .booking-cal-day:hover:not(.past):not(.closed):not(.empty),
body.theme-halloween .booking-cal-day:hover:not(.past):not(.closed):not(.empty) {
  background: rgba(234, 88, 12, 0.2) !important;
  border-color: #f97316 !important;
  color: #ffffff !important;
  box-shadow: 0 0 10px rgba(234, 88, 12, 0.5) !important;
}
html.theme-halloween .booking-cal-day.active,
html.theme-halloween .booking-cal-day.selected,
body.theme-halloween .booking-cal-day.active,
body.theme-halloween .booking-cal-day.selected {
  background: linear-gradient(135deg, #fb923c 0%, #ea580c 100%) !important;
  border-color: rgba(254, 215, 170, 0.85) !important;
  color: #ffffff !important;
  box-shadow: 0 0 14px rgba(234, 88, 12, 0.75) !important;
}
html.theme-halloween .booking-cal-day.today::after,
body.theme-halloween .booking-cal-day.today::after {
  background: #c084fc !important;
}

/* Pastillas de Hora */
html.theme-halloween .booking-time-pill,
body.theme-halloween .booking-time-pill {
  border: 1.5px solid rgba(249, 115, 22, 0.4) !important;
  background: rgba(234, 88, 12, 0.05) !important;
  color: #e2e8f0 !important;
}
html.theme-halloween .booking-time-pill:hover:not(.disabled),
body.theme-halloween .booking-time-pill:hover:not(.disabled) {
  background: rgba(234, 88, 12, 0.2) !important;
  border-color: #f97316 !important;
  color: #ffffff !important;
  box-shadow: 0 0 10px rgba(234, 88, 12, 0.45) !important;
}
html.theme-halloween .booking-time-pill.selected,
body.theme-halloween .booking-time-pill.selected {
  background: linear-gradient(135deg, #fb923c 0%, #ea580c 100%) !important;
  border-color: rgba(254, 215, 170, 0.85) !important;
  color: #ffffff !important;
  box-shadow: 0 0 14px rgba(234, 88, 12, 0.7) !important;
}

/* ==========================================================================
   PASO 4: CONFIRMACIÓN Y DISCLAIMERS
   ========================================================================== */
html.theme-halloween .booking-confirm-card,
body.theme-halloween .booking-confirm-card {
  border: 1.5px solid rgba(168, 85, 247, 0.5) !important;
  background: rgba(14, 8, 22, 0.97) !important;
}
html.theme-halloween .booking-confirm-card-header,
body.theme-halloween .booking-confirm-card-header {
  border-bottom: 1px solid rgba(168, 85, 247, 0.3) !important;
}
html.theme-halloween .booking-confirm-card-header svg,
body.theme-halloween .booking-confirm-card-header svg,
html.theme-halloween .booking-confirm-client-phone svg,
body.theme-halloween .booking-confirm-client-phone svg,
html.theme-halloween .turnstile-header-title svg,
body.theme-halloween .turnstile-header-title svg,
html.theme-halloween .duration-label svg,
body.theme-halloween .duration-label svg {
  color: #c084fc !important;
}
html.theme-halloween .booking-confirm-client-box,
body.theme-halloween .booking-confirm-client-box {
  border: 1.5px solid rgba(249, 115, 22, 0.4) !important;
  background: rgba(234, 88, 12, 0.08) !important;
}
html.theme-halloween .booking-confirm-client-icon-circle,
body.theme-halloween .booking-confirm-client-icon-circle {
  border: 1.5px solid rgba(254, 215, 170, 0.7) !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #fb923c 0%, #ea580c 100%) !important;
  box-shadow: 0 0 12px rgba(234, 88, 12, 0.5) !important;
}
html.theme-halloween .booking-confirm-grid-tile,
body.theme-halloween .booking-confirm-grid-tile {
  border: 1px solid rgba(168, 85, 247, 0.3) !important;
}
html.theme-halloween .booking-confirm-grid-tile.highlight-time-tile,
body.theme-halloween .booking-confirm-grid-tile.highlight-time-tile {
  border-color: rgba(249, 115, 22, 0.6) !important;
  background: radial-gradient(circle at 0% 50%, rgba(234, 88, 12, 0.22) 0%, rgba(18, 10, 26, 0.98) 100%) !important;
}
html.theme-halloween .tile-icon,
body.theme-halloween .tile-icon {
  background: rgba(147, 51, 234, 0.2) !important;
  color: #c084fc !important;
}
html.theme-halloween .tile-value.time-val,
body.theme-halloween .tile-value.time-val {
  color: #fb923c !important;
}
html.theme-halloween .booking-turnstile-box,
body.theme-halloween .booking-turnstile-box {
  border: 1.5px solid rgba(168, 85, 247, 0.4) !important;
}
html.theme-halloween .booking-confirm-service-item,
body.theme-halloween .booking-confirm-service-item {
  border: 1px solid rgba(249, 115, 22, 0.4) !important;
  background: rgba(234, 88, 12, 0.06) !important;
}
html.theme-halloween .booking-confirm-totals-block,
body.theme-halloween .booking-confirm-totals-block {
  border: 1.5px solid rgba(168, 85, 247, 0.45) !important;
  background: rgba(147, 51, 234, 0.08) !important;
}
html.theme-halloween .duration-val,
body.theme-halloween .duration-val {
  color: #fb923c !important;
}
html.theme-halloween .booking-confirm-total-amount,
body.theme-halloween .booking-confirm-total-amount {
  color: #fb923c !important;
  text-shadow: 0 0 14px rgba(249, 115, 22, 0.6) !important;
}
html.theme-halloween .booking-drawer-chevron,
body.theme-halloween .booking-drawer-chevron {
  border-color: rgba(168, 85, 247, 0.55) !important;
  color: #c084fc !important;
  background: rgba(147, 51, 234, 0.2) !important;
}
html.theme-halloween .drawer-open .booking-drawer-chevron,
body.theme-halloween .drawer-open .booking-drawer-chevron,
html.theme-halloween .booking-confirm-card-summary.drawer-open .booking-drawer-chevron,
body.theme-halloween .booking-confirm-card-summary.drawer-open .booking-drawer-chevron {
  background: #ea580c !important;
  color: #ffffff !important;
}

/* Modal de Secado / Blowdry */
html.theme-halloween .booking-blowdry-dialog-card,
body.theme-halloween .booking-blowdry-dialog-card {
  border: 1.5px solid rgba(168, 85, 247, 0.55) !important;
  background: radial-gradient(circle at 50% -10%, rgba(147, 51, 234, 0.22) 0%, rgba(14, 8, 22, 0.98) 70%, #07030a 100%) !important;
  box-shadow: 0 25px 80px rgba(0,0,0,0.95), 0 0 35px rgba(147, 51, 234, 0.3) !important;
}
html.theme-halloween .booking-blowdry-brand-badge,
body.theme-halloween .booking-blowdry-brand-badge {
  background: rgba(147, 51, 234, 0.2) !important;
  border-color: rgba(192, 132, 252, 0.55) !important;
  color: #e9d5ff !important;
}
html.theme-halloween .booking-blowdry-option-card,
body.theme-halloween .booking-blowdry-option-card {
  border: 1.5px solid rgba(249, 115, 22, 0.45) !important;
}
html.theme-halloween .booking-blowdry-option-card:hover,
body.theme-halloween .booking-blowdry-option-card:hover {
  background: rgba(234, 88, 12, 0.15) !important;
  border-color: #f97316 !important;
  box-shadow: 0 0 15px rgba(249, 115, 22, 0.35) !important;
}
html.theme-halloween .booking-blowdry-option-card.selected,
body.theme-halloween .booking-blowdry-option-card.selected {
  border-color: #f97316 !important;
  background: radial-gradient(circle at 100% 0%, rgba(234, 88, 12, 0.25) 0%, rgba(18, 10, 26, 0.98) 100%) !important;
  box-shadow: 0 0 18px rgba(234, 88, 12, 0.45) !important;
}
html.theme-halloween .booking-blowdry-option-price,
body.theme-halloween .booking-blowdry-option-price {
  color: #fb923c !important;
}
html.theme-halloween .booking-blowdry-icon-circle,
body.theme-halloween .booking-blowdry-icon-circle {
  border-color: #f97316 !important;
  color: #fb923c !important;
  background: radial-gradient(circle, rgba(234, 88, 12, 0.25) 0%, rgba(147, 51, 234, 0.1) 100%) !important;
  box-shadow: 0 0 20px rgba(234, 88, 12, 0.4) !important;
}
html.theme-halloween .booking-blowdry-tag,
body.theme-halloween .booking-blowdry-tag {
  color: #fb923c !important;
  border-color: rgba(249, 115, 22, 0.45) !important;
  background: rgba(234, 88, 12, 0.12) !important;
}

/* Pantalla de Éxito / Confirmación Final */
html.theme-halloween .success-checkmark-circle,
body.theme-halloween .success-checkmark-circle {
  background: linear-gradient(135deg, #fb923c 0%, #ea580c 100%) !important;
  border: 2px solid rgba(254, 215, 170, 0.85) !important;
  color: #ffffff !important;
}
html.theme-halloween .success-glow-ring,
body.theme-halloween .success-glow-ring {
  border-color: rgba(168, 85, 247, 0.5) !important;
}
html.theme-halloween .success-status-pill,
body.theme-halloween .success-status-pill {
  background: rgba(147, 51, 234, 0.2) !important;
  border-color: rgba(192, 132, 252, 0.5) !important;
  color: #e9d5ff !important;
}
html.theme-halloween .ticket-value.highlight-gold,
body.theme-halloween .ticket-value.highlight-gold {
  color: #fb923c !important;
}
html.theme-halloween .booking-btn-submit-final,
body.theme-halloween .booking-btn-submit-final {
  background: linear-gradient(135deg, #fb923c 0%, #ea580c 100%) !important;
  border: 1.5px solid rgba(254, 215, 170, 0.8) !important;
  color: #ffffff !important;
}

/* Reglas universales para eliminar cualquier resto dorado (#fdd835) */
html.theme-halloween .booking-modal-overlay [style*="color: #fdd835"],
html.theme-halloween .booking-modal-overlay [style*="color:#fdd835"],
body.theme-halloween .booking-modal-overlay [style*="color: #fdd835"],
body.theme-halloween .booking-modal-overlay [style*="color:#fdd835"] {
  color: #fb923c !important;
}
html.theme-halloween .booking-modal-overlay [style*="background: #fdd835"],
html.theme-halloween .booking-modal-overlay [style*="background:#fdd835"],
body.theme-halloween .booking-modal-overlay [style*="background: #fdd835"],
body.theme-halloween .booking-modal-overlay [style*="background:#fdd835"] {
  background: linear-gradient(135deg, #fb923c 0%, #ea580c 100%) !important;
}


/* --------------------------------------------------------------------------
   
html.theme-halloween .booking-modal-ambient-glow,
body.theme-halloween .booking-modal-ambient-glow {
  background: radial-gradient(circle, rgba(249, 115, 22, 0.25) 0%, rgba(234, 88, 12, 0.08) 50%, transparent 75%) !important;
}
html.theme-halloween .booking-hair-segmented-track,
body.theme-halloween .booking-hair-segmented-track,
html.theme-halloween .booking-hair-length-options,
body.theme-halloween .booking-hair-length-options {
  border-color: rgba(249, 115, 22, 0.4) !important;
  background: rgba(16, 10, 22, 0.95) !important;
}
html.theme-halloween .booking-length-locked-placeholder,
body.theme-halloween .booking-length-locked-placeholder {
  border-color: rgba(249, 115, 22, 0.4) !important;
  background: radial-gradient(circle at 50% 50%, rgba(249, 115, 22, 0.06) 0%, rgba(14, 10, 20, 0.7) 100%) !important;
}
html.theme-halloween .booking-length-locked-icon,
body.theme-halloween .booking-length-locked-icon {
  color: #fb923c !important;
}
html.theme-halloween .top-client-pill,
body.theme-halloween .top-client-pill {
  border-color: rgba(249, 115, 22, 0.45) !important;
}
html.theme-halloween .top-client-icon,
body.theme-halloween .top-client-icon {
  color: #fb923c !important;
}
html.theme-halloween .booking-modal-close-btn,
body.theme-halloween .booking-modal-close-btn {
  border-color: rgba(249, 115, 22, 0.45) !important;
}
html.theme-halloween .booking-client-greet span,
body.theme-halloween .booking-client-greet span {
  color: #fb923c !important;
}
html.theme-halloween .booking-client-badge,
body.theme-halloween .booking-client-badge {
  color: #fb923c !important;
  border-color: rgba(249, 115, 22, 0.45) !important;
  background: rgba(249, 115, 22, 0.12) !important;
}
html.theme-halloween .booking-category-title i,
body.theme-halloween .booking-category-title i {
  color: #fb923c !important;
}
html.theme-halloween .service-dur-pill i,
body.theme-halloween .service-dur-pill i {
  color: #fb923c !important;
}
html.theme-halloween .confirm-service-dur i,
body.theme-halloween .confirm-service-dur i {
  color: #fb923c !important;
}
html.theme-halloween .service-price,
body.theme-halloween .service-price {
  color: #fb923c !important;
}
html.theme-halloween .booking-confirm-card,
body.theme-halloween .booking-confirm-card {
  border-color: rgba(249, 115, 22, 0.45) !important;
}
html.theme-halloween .booking-confirm-client-box,
body.theme-halloween .booking-confirm-client-box {
  border-color: rgba(249, 115, 22, 0.35) !important;
  background: rgba(249, 115, 22, 0.08) !important;
}
html.theme-halloween .booking-confirm-client-icon-circle,
body.theme-halloween .booking-confirm-client-icon-circle {
  border-color: rgba(249, 115, 22, 0.5) !important;
  color: #fb923c !important;
  background: linear-gradient(135deg, rgba(249, 115, 22, 0.25) 0%, rgba(249, 115, 22, 0.08) 100%) !important;
}
html.theme-halloween .booking-confirm-grid-tile.highlight-time-tile,
body.theme-halloween .booking-confirm-grid-tile.highlight-time-tile {
  border-color: rgba(249, 115, 22, 0.5) !important;
  background: radial-gradient(circle at 0% 50%, rgba(249, 115, 22, 0.18) 0%, rgba(18, 12, 22, 0.95) 100%) !important;
}
html.theme-halloween .tile-icon,
body.theme-halloween .tile-icon {
  background: rgba(249, 115, 22, 0.15) !important;
  color: #fb923c !important;
}
html.theme-halloween .tile-value.time-val,
body.theme-halloween .tile-value.time-val {
  color: #fb923c !important;
}
html.theme-halloween .booking-turnstile-box,
body.theme-halloween .booking-turnstile-box {
  border-color: rgba(249, 115, 22, 0.35) !important;
}
html.theme-halloween .booking-confirm-totals-block,
body.theme-halloween .booking-confirm-totals-block {
  border-color: rgba(249, 115, 22, 0.4) !important;
}
html.theme-halloween .duration-val,
body.theme-halloween .duration-val {
  color: #fb923c !important;
}
html.theme-halloween .booking-drawer-chevron,
body.theme-halloween .booking-drawer-chevron {
  border-color: rgba(249, 115, 22, 0.5) !important;
  color: #fb923c !important;
  background: rgba(249, 115, 22, 0.15) !important;
}
html.theme-halloween .drawer-open .booking-drawer-chevron,
body.theme-halloween .drawer-open .booking-drawer-chevron,
html.theme-halloween .booking-confirm-card-summary.drawer-open .booking-drawer-chevron,
body.theme-halloween .booking-confirm-card-summary.drawer-open .booking-drawer-chevron {
  background: #ea580c !important;
  color: #ffffff !important;
}
html.theme-halloween .booking-step3-section,
body.theme-halloween .booking-step3-section,
html.theme-halloween .booking-stylists-section,
body.theme-halloween .booking-stylists-section {
  border-color: rgba(249, 115, 22, 0.35) !important;
}
html.theme-halloween .booking-step3-section-title,
body.theme-halloween .booking-step3-section-title {
  color: #fb923c !important;
}
html.theme-halloween .booking-stylist-card.active,
body.theme-halloween .booking-stylist-card.active {
  border-color: #f97316 !important;
  background: radial-gradient(circle at 50% 0%, rgba(249, 115, 22, 0.3) 0%, rgba(24, 16, 28, 0.95) 100%) !important;
}
html.theme-halloween .booking-stylist-card.active .booking-stylist-name {
  color: #fb923c !important;
}
html.theme-halloween .booking-stylist-avatar,
body.theme-halloween .booking-stylist-avatar {
  border-color: rgba(249, 115, 22, 0.45) !important;
  color: #fb923c !important;
}
html.theme-halloween .booking-quick-slots-bar,
body.theme-halloween .booking-quick-slots-bar {
  border-color: rgba(249, 115, 22, 0.35) !important;
  background: linear-gradient(135deg, rgba(249, 115, 22, 0.12) 0%, rgba(255, 255, 255, 0.02) 100%) !important;
}
html.theme-halloween .booking-cal-nav-btn,
body.theme-halloween .booking-cal-nav-btn {
  border-color: rgba(249, 115, 22, 0.35) !important;
  color: #fb923c !important;
}
html.theme-halloween .booking-cal-nav-btn:hover:not(:disabled),
body.theme-halloween .booking-cal-nav-btn:hover:not(:disabled) {
  background: #ea580c !important;
  color: #ffffff !important;
}
html.theme-halloween .booking-cal-day.selected,
body.theme-halloween .booking-cal-day.selected {
  background: linear-gradient(135deg, #f97316 0%, #ea580c 100%) !important;
  border-color: #f97316 !important;
  color: #ffffff !important;
}
html.theme-halloween .booking-cal-day:hover:not(.past):not(.closed):not(.empty),
body.theme-halloween .booking-cal-day:hover:not(.past):not(.closed):not(.empty) {
  border-color: rgba(249, 115, 22, 0.6) !important;
  color: #fb923c !important;
  background: rgba(249, 115, 22, 0.15) !important;
}

2. MODO FALLAS (Azul Real Fallero, Rojo Carmesí y Oro Valenciano)
   -------------------------------------------------------------------------- */
html.theme-fallas .booking-modal-card,
body.theme-fallas .booking-modal-card {
  background: radial-gradient(circle at 50% -10%, rgba(220, 38, 38, 0.25) 0%, rgba(37, 99, 235, 0.12) 25%, rgba(14, 10, 18, 0.98) 65%, #070408 100%) !important;
  border-color: rgba(250, 204, 21, 0.5) !important;
  box-shadow: 0 30px 100px rgba(0, 0, 0, 0.98), 0 0 55px rgba(220, 38, 38, 0.3) !important;
}

html.theme-fallas .booking-emblem,
body.theme-fallas .booking-emblem {
  background: rgba(37, 99, 235, 0.15) !important;
  border-color: rgba(250, 204, 21, 0.45) !important;
  color: #fef08a !important;
}

html.theme-fallas .booking-step-item.active,
body.theme-fallas .booking-step-item.active {
  color: #fef08a !important;
  background: rgba(220, 38, 38, 0.2) !important;
  border-color: rgba(250, 204, 21, 0.6) !important;
  box-shadow: 0 0 16px rgba(220, 38, 38, 0.3) !important;
}
html.theme-fallas .booking-step-item.active .booking-step-bubble,
body.theme-fallas .booking-step-item.active .booking-step-bubble {
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
  border-color: #facc15 !important;
  color: #ffffff !important;
  box-shadow: 0 0 12px rgba(37, 99, 235, 0.8) !important;
}

html.theme-fallas .booking-hair-pill:hover:not(.active),
body.theme-fallas .booking-hair-pill:hover:not(.active) {
  background: rgba(37, 99, 235, 0.15) !important;
  color: #fef08a !important;
  border-color: rgba(250, 204, 21, 0.35) !important;
}
html.theme-fallas .booking-hair-pill.active,
body.theme-fallas .booking-hair-pill.active {
  background: linear-gradient(135deg, #dc2626 0%, #b91c1c 45%, #2563eb 100%) !important;
  border-color: #facc15 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 18px rgba(220, 38, 38, 0.5) !important;
}
html.theme-fallas .booking-hair-pill.active .pill-title,
body.theme-fallas .booking-hair-pill.active .pill-title,
html.theme-fallas .booking-hair-pill.active .pill-guide,
body.theme-fallas .booking-hair-pill.active .pill-guide,
html.theme-fallas .booking-hair-pill.active > span,
body.theme-fallas .booking-hair-pill.active > span {
  color: #ffffff !important;
}

html.theme-fallas .booking-category-pill.active,
body.theme-fallas .booking-category-pill.active {
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
  border-color: #facc15 !important;
  color: #ffffff !important;
  box-shadow: 0 0 14px rgba(37, 99, 235, 0.6) !important;
}
html.theme-fallas .booking-category-pill:hover:not(.active),
body.theme-fallas .booking-category-pill:hover:not(.active) {
  border-color: rgba(250, 204, 21, 0.5) !important;
  color: #fef08a !important;
}
html.theme-fallas .booking-category-pills-bar::-webkit-scrollbar-thumb,
body.theme-fallas .booking-category-pills-bar::-webkit-scrollbar-thumb {
  background: rgba(37, 99, 235, 0.5) !important;
}

html.theme-fallas #bookingCatSec-habituales,
body.theme-fallas #bookingCatSec-habituales {
  background: rgba(220, 38, 38, 0.08) !important;
  border-color: rgba(250, 204, 21, 0.4) !important;
}
html.theme-fallas #bookingCatSec-habituales .booking-category-title,
body.theme-fallas #bookingCatSec-habituales .booking-category-title {
  color: #fef08a !important;
}

html.theme-fallas .booking-service-card-fresha:hover,
body.theme-fallas .booking-service-card-fresha:hover {
  border-color: rgba(250, 204, 21, 0.6) !important;
  box-shadow: 0 0 14px rgba(220, 38, 38, 0.25) !important;
}
html.theme-fallas .booking-service-card-fresha.selected,
body.theme-fallas .booking-service-card-fresha.selected {
  border-color: #facc15 !important;
  background: radial-gradient(circle at 100% 0%, rgba(37, 99, 235, 0.20) 0%, rgba(20, 12, 20, 0.98) 100%) !important;
  box-shadow: 0 0 18px rgba(220, 38, 38, 0.3) !important;
}
html.theme-fallas .booking-service-price-tag,
body.theme-fallas .booking-service-price-tag {
  color: #facc15 !important;
}
html.theme-fallas .booking-service-card-fresha.selected .booking-service-action-btn,
body.theme-fallas .booking-service-card-fresha.selected .booking-service-action-btn {
  background: #dc2626 !important;
  border-color: #facc15 !important;
  color: #ffffff !important;
  box-shadow: 0 0 14px rgba(220, 38, 38, 0.7) !important;
}
html.theme-fallas .booking-service-card-fresha:hover .booking-service-action-btn,
body.theme-fallas .booking-service-card-fresha:hover .booking-service-action-btn {
  border-color: #facc15 !important;
  color: #facc15 !important;
}

html.theme-fallas .booking-cart-sidebar,
body.theme-fallas .booking-cart-sidebar {
  border-color: rgba(250, 204, 21, 0.45) !important;
  background: rgba(14, 12, 22, 0.96) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.7), 0 0 20px rgba(37, 99, 235, 0.2) !important;
}
html.theme-fallas .booking-cart-count-badge,
body.theme-fallas .booking-cart-count-badge {
  background: rgba(37, 99, 235, 0.25) !important;
  border-color: rgba(250, 204, 21, 0.5) !important;
  color: #facc15 !important;
}
html.theme-fallas .booking-cart-total-amount,
body.theme-fallas .booking-cart-total-amount {
  color: #fef08a !important;
}
html.theme-fallas .booking-btn-primary,
body.theme-fallas .booking-btn-primary {
  background: linear-gradient(135deg, #dc2626 0%, #e11d48 40%, #2563eb 100%) !important;
  border: 1px solid rgba(250, 204, 21, 0.6) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 20px rgba(220, 38, 38, 0.55), 0 0 12px rgba(37, 99, 235, 0.4) !important;
}
html.theme-fallas .booking-btn-primary:hover:not(:disabled),
body.theme-fallas .booking-btn-primary:hover:not(:disabled) {
  background: linear-gradient(135deg, #ef4444 0%, #f43f5e 40%, #3b82f6 100%) !important;
  box-shadow: 0 6px 26px rgba(220, 38, 38, 0.75), 0 0 18px rgba(37, 99, 235, 0.6) !important;
}

html.theme-fallas .booking-input:focus,
body.theme-fallas .booking-input:focus {
  border-left-color: #facc15 !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.2), 0 4px 20px rgba(0, 0, 0, 0.4) !important;
}
html.theme-fallas .booking-input-icon,
body.theme-fallas .booking-input-icon {
  color: #facc15 !important;
}
html.theme-fallas .booking-form-label span.req,
body.theme-fallas .booking-form-label span.req {
  color: #dc2626 !important;
}
html.theme-fallas .top-client-change-btn:hover,
body.theme-fallas .top-client-change-btn:hover {
  color: #facc15 !important;
  border-color: rgba(250, 204, 21, 0.5) !important;
  background: rgba(37, 99, 235, 0.15) !important;
}

html.theme-fallas .booking-quick-badge,
body.theme-fallas .booking-quick-badge {
  background: #dc2626 !important;
  border: 1px solid #facc15 !important;
  color: #ffffff !important;
}
html.theme-fallas .booking-quick-btn:hover,
body.theme-fallas .booking-quick-btn:hover {
  border-color: #facc15 !important;
  color: #fef08a !important;
}
html.theme-fallas .booking-stylist-card:hover,
body.theme-fallas .booking-stylist-card:hover {
  border-color: rgba(250, 204, 21, 0.5) !important;
}
html.theme-fallas .booking-stylist-card.selected,
body.theme-fallas .booking-stylist-card.selected {
  border-color: #facc15 !important;
  background: rgba(37, 99, 235, 0.2) !important;
  box-shadow: 0 0 14px rgba(37, 99, 235, 0.3) !important;
}
html.theme-fallas .booking-cal-day.active,
body.theme-fallas .booking-cal-day.active {
  background: #2563eb !important;
  border-color: #facc15 !important;
  color: #ffffff !important;
  box-shadow: 0 0 12px rgba(37, 99, 235, 0.8) !important;
}
html.theme-fallas .booking-cal-day.today::after,
body.theme-fallas .booking-cal-day.today::after {
  background: #dc2626 !important;
}
html.theme-fallas .booking-time-pill.selected,
body.theme-fallas .booking-time-pill.selected {
  background: #dc2626 !important;
  border-color: #facc15 !important;
  color: #ffffff !important;
  box-shadow: 0 0 12px rgba(220, 38, 38, 0.7) !important;
}
html.theme-fallas .booking-confirm-card-header svg,
body.theme-fallas .booking-confirm-card-header svg,
html.theme-fallas .booking-confirm-client-phone svg,
body.theme-fallas .booking-confirm-client-phone svg,
html.theme-fallas .turnstile-header-title svg,
body.theme-fallas .turnstile-header-title svg,
html.theme-fallas .duration-label svg,
body.theme-fallas .duration-label svg {
  color: #facc15 !important;
}
html.theme-fallas .booking-confirm-total-amount,
body.theme-fallas .booking-confirm-total-amount {
  color: #fef08a !important;
}
html.theme-fallas .booking-modal-overlay [style*="color: #fdd835"],
html.theme-fallas .booking-modal-overlay [style*="color:#fdd835"],
body.theme-fallas .booking-modal-overlay [style*="color: #fdd835"],
body.theme-fallas .booking-modal-overlay [style*="color:#fdd835"] {
  color: #facc15 !important;
}
html.theme-fallas .booking-blowdry-dialog-card,
body.theme-fallas .booking-blowdry-dialog-card {
  border-color: rgba(250, 204, 21, 0.5) !important;
  box-shadow: 0 25px 80px rgba(0,0,0,0.9), 0 0 35px rgba(220, 38, 38, 0.3) !important;
}
html.theme-fallas .booking-blowdry-brand-badge,
body.theme-fallas .booking-blowdry-brand-badge {
  background: rgba(37, 99, 235, 0.15) !important;
  border-color: rgba(250, 204, 21, 0.4) !important;
  color: #fef08a !important;
}
html.theme-fallas .booking-blowdry-option-card.selected,
body.theme-fallas .booking-blowdry-option-card.selected {
  border-color: #facc15 !important;
}
html.theme-fallas .booking-blowdry-option-price,
body.theme-fallas .booking-blowdry-option-price {
  color: #facc15 !important;
}

/* --------------------------------------------------------------------------
   
html.theme-fallas .booking-modal-ambient-glow,
body.theme-fallas .booking-modal-ambient-glow {
  background: radial-gradient(circle, rgba(220, 38, 38, 0.22) 0%, rgba(37, 99, 235, 0.1) 50%, transparent 75%) !important;
}
html.theme-fallas .booking-hair-segmented-track,
body.theme-fallas .booking-hair-segmented-track,
html.theme-fallas .booking-hair-length-options,
body.theme-fallas .booking-hair-length-options {
  border-color: rgba(250, 204, 21, 0.4) !important;
  background: rgba(14, 12, 22, 0.95) !important;
}
html.theme-fallas .booking-length-locked-placeholder,
body.theme-fallas .booking-length-locked-placeholder {
  border-color: rgba(250, 204, 21, 0.4) !important;
  background: radial-gradient(circle at 50% 50%, rgba(220, 38, 38, 0.06) 0%, rgba(14, 10, 20, 0.7) 100%) !important;
}
html.theme-fallas .booking-length-locked-icon,
body.theme-fallas .booking-length-locked-icon {
  color: #fef08a !important;
}
html.theme-fallas .top-client-pill,
body.theme-fallas .top-client-pill {
  border-color: rgba(250, 204, 21, 0.45) !important;
}
html.theme-fallas .top-client-icon,
body.theme-fallas .top-client-icon {
  color: #fef08a !important;
}
html.theme-fallas .booking-modal-close-btn,
body.theme-fallas .booking-modal-close-btn {
  border-color: rgba(250, 204, 21, 0.45) !important;
}
html.theme-fallas .booking-client-greet span,
body.theme-fallas .booking-client-greet span {
  color: #fef08a !important;
}
html.theme-fallas .booking-client-badge,
body.theme-fallas .booking-client-badge {
  color: #fef08a !important;
  border-color: rgba(250, 204, 21, 0.45) !important;
  background: rgba(37, 99, 235, 0.15) !important;
}
html.theme-fallas .booking-category-title i,
body.theme-fallas .booking-category-title i {
  color: #facc15 !important;
}
html.theme-fallas .service-dur-pill i,
body.theme-fallas .service-dur-pill i {
  color: #facc15 !important;
}
html.theme-fallas .confirm-service-dur i,
body.theme-fallas .confirm-service-dur i {
  color: #facc15 !important;
}
html.theme-fallas .service-price,
body.theme-fallas .service-price {
  color: #facc15 !important;
}
html.theme-fallas .booking-confirm-card,
body.theme-fallas .booking-confirm-card {
  border-color: rgba(250, 204, 21, 0.45) !important;
}
html.theme-fallas .booking-confirm-client-box,
body.theme-fallas .booking-confirm-client-box {
  border-color: rgba(250, 204, 21, 0.35) !important;
  background: rgba(37, 99, 235, 0.08) !important;
}
html.theme-fallas .booking-confirm-client-icon-circle,
body.theme-fallas .booking-confirm-client-icon-circle {
  border-color: rgba(250, 204, 21, 0.5) !important;
  color: #facc15 !important;
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.25) 0%, rgba(220, 38, 38, 0.1) 100%) !important;
}
html.theme-fallas .booking-confirm-grid-tile.highlight-time-tile,
body.theme-fallas .booking-confirm-grid-tile.highlight-time-tile {
  border-color: rgba(250, 204, 21, 0.5) !important;
  background: radial-gradient(circle at 0% 50%, rgba(37, 99, 235, 0.18) 0%, rgba(18, 12, 22, 0.95) 100%) !important;
}
html.theme-fallas .tile-icon,
body.theme-fallas .tile-icon {
  background: rgba(37, 99, 235, 0.15) !important;
  color: #facc15 !important;
}
html.theme-fallas .tile-value.time-val,
body.theme-fallas .tile-value.time-val {
  color: #fef08a !important;
}
html.theme-fallas .booking-turnstile-box,
body.theme-fallas .booking-turnstile-box {
  border-color: rgba(250, 204, 21, 0.35) !important;
}
html.theme-fallas .booking-confirm-totals-block,
body.theme-fallas .booking-confirm-totals-block {
  border-color: rgba(250, 204, 21, 0.4) !important;
}
html.theme-fallas .duration-val,
body.theme-fallas .duration-val {
  color: #facc15 !important;
}
html.theme-fallas .booking-drawer-chevron,
body.theme-fallas .booking-drawer-chevron {
  border-color: rgba(250, 204, 21, 0.5) !important;
  color: #facc15 !important;
  background: rgba(37, 99, 235, 0.15) !important;
}
html.theme-fallas .drawer-open .booking-drawer-chevron,
body.theme-fallas .drawer-open .booking-drawer-chevron,
html.theme-fallas .booking-confirm-card-summary.drawer-open .booking-drawer-chevron,
body.theme-fallas .booking-confirm-card-summary.drawer-open .booking-drawer-chevron {
  background: #2563eb !important;
  color: #ffffff !important;
}
html.theme-fallas .booking-step3-section,
body.theme-fallas .booking-step3-section,
html.theme-fallas .booking-stylists-section,
body.theme-fallas .booking-stylists-section {
  border-color: rgba(250, 204, 21, 0.35) !important;
}
html.theme-fallas .booking-step3-section-title,
body.theme-fallas .booking-step3-section-title {
  color: #fef08a !important;
}
html.theme-fallas .booking-stylist-card.active,
body.theme-fallas .booking-stylist-card.active {
  border-color: #facc15 !important;
  background: radial-gradient(circle at 50% 0%, rgba(37, 99, 235, 0.3) 0%, rgba(24, 16, 28, 0.95) 100%) !important;
}
html.theme-fallas .booking-stylist-card.active .booking-stylist-name {
  color: #fef08a !important;
}
html.theme-fallas .booking-stylist-avatar,
body.theme-fallas .booking-stylist-avatar {
  border-color: rgba(250, 204, 21, 0.45) !important;
  color: #facc15 !important;
}
html.theme-fallas .booking-quick-slots-bar,
body.theme-fallas .booking-quick-slots-bar {
  border-color: rgba(250, 204, 21, 0.35) !important;
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.12) 0%, rgba(255, 255, 255, 0.02) 100%) !important;
}
html.theme-fallas .booking-cal-nav-btn,
body.theme-fallas .booking-cal-nav-btn {
  border-color: rgba(250, 204, 21, 0.35) !important;
  color: #facc15 !important;
}
html.theme-fallas .booking-cal-nav-btn:hover:not(:disabled),
body.theme-fallas .booking-cal-nav-btn:hover:not(:disabled) {
  background: #2563eb !important;
  color: #ffffff !important;
}
html.theme-fallas .booking-cal-day.selected,
body.theme-fallas .booking-cal-day.selected {
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
  border-color: #facc15 !important;
  color: #ffffff !important;
}
html.theme-fallas .booking-cal-day:hover:not(.past):not(.closed):not(.empty),
body.theme-fallas .booking-cal-day:hover:not(.past):not(.closed):not(.empty) {
  border-color: rgba(250, 204, 21, 0.6) !important;
  color: #fef08a !important;
  background: rgba(37, 99, 235, 0.15) !important;
}

3. MODO NAVIDAD (Rojo Rubí, Verde Acebo/Pino y Oro Champagne)
   -------------------------------------------------------------------------- */
html.theme-christmas .booking-modal-card,
body.theme-christmas .booking-modal-card {
  background: radial-gradient(circle at 50% -10%, rgba(225, 29, 72, 0.24) 0%, rgba(21, 128, 61, 0.10) 28%, rgba(14, 10, 16, 0.98) 65%, #060408 100%) !important;
  border-color: rgba(253, 224, 71, 0.45) !important;
  box-shadow: 0 30px 100px rgba(0, 0, 0, 0.98), 0 0 55px rgba(225, 29, 72, 0.25) !important;
}

html.theme-christmas .booking-emblem,
body.theme-christmas .booking-emblem {
  background: rgba(225, 29, 72, 0.15) !important;
  border-color: rgba(253, 224, 71, 0.4) !important;
  color: #fde047 !important;
}

html.theme-christmas .booking-step-item.active,
body.theme-christmas .booking-step-item.active {
  color: #fde047 !important;
  background: rgba(225, 29, 72, 0.2) !important;
  border-color: rgba(253, 224, 71, 0.6) !important;
  box-shadow: 0 0 16px rgba(225, 29, 72, 0.3) !important;
}
html.theme-christmas .booking-step-item.active .booking-step-bubble,
body.theme-christmas .booking-step-item.active .booking-step-bubble {
  background: linear-gradient(135deg, #e11d48 0%, #be123c 100%) !important;
  border-color: #fde047 !important;
  color: #ffffff !important;
  box-shadow: 0 0 12px rgba(225, 29, 72, 0.7) !important;
}

html.theme-christmas .booking-hair-pill:hover:not(.active),
body.theme-christmas .booking-hair-pill:hover:not(.active) {
  background: rgba(225, 29, 72, 0.12) !important;
  color: #fde047 !important;
  border-color: rgba(253, 224, 71, 0.35) !important;
}
html.theme-christmas .booking-hair-pill.active,
body.theme-christmas .booking-hair-pill.active {
  background: linear-gradient(135deg, #e11d48 0%, #be123c 60%, #9f1239 100%) !important;
  border-color: #fde047 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 18px rgba(225, 29, 72, 0.45) !important;
}
html.theme-christmas .booking-hair-pill.active .pill-title,
body.theme-christmas .booking-hair-pill.active .pill-title,
html.theme-christmas .booking-hair-pill.active .pill-guide,
body.theme-christmas .booking-hair-pill.active .pill-guide,
html.theme-christmas .booking-hair-pill.active > span,
body.theme-christmas .booking-hair-pill.active > span {
  color: #ffffff !important;
}

html.theme-christmas .booking-category-pill.active,
body.theme-christmas .booking-category-pill.active {
  background: linear-gradient(135deg, #15803d 0%, #166534 100%) !important;
  border-color: #fde047 !important;
  color: #ffffff !important;
  box-shadow: 0 0 14px rgba(21, 128, 61, 0.6) !important;
}
html.theme-christmas .booking-category-pill:hover:not(.active),
body.theme-christmas .booking-category-pill:hover:not(.active) {
  border-color: rgba(253, 224, 71, 0.45) !important;
  color: #fef08a !important;
}
html.theme-christmas .booking-category-pills-bar::-webkit-scrollbar-thumb,
body.theme-christmas .booking-category-pills-bar::-webkit-scrollbar-thumb {
  background: rgba(225, 29, 72, 0.4) !important;
}

html.theme-christmas #bookingCatSec-habituales,
body.theme-christmas #bookingCatSec-habituales {
  background: rgba(225, 29, 72, 0.08) !important;
  border-color: rgba(253, 224, 71, 0.4) !important;
}
html.theme-christmas #bookingCatSec-habituales .booking-category-title,
body.theme-christmas #bookingCatSec-habituales .booking-category-title {
  color: #fde047 !important;
}

html.theme-christmas .booking-service-card-fresha:hover,
body.theme-christmas .booking-service-card-fresha:hover {
  border-color: rgba(253, 224, 71, 0.6) !important;
  box-shadow: 0 0 14px rgba(225, 29, 72, 0.2) !important;
}
html.theme-christmas .booking-service-card-fresha.selected,
body.theme-christmas .booking-service-card-fresha.selected {
  border-color: #fde047 !important;
  background: radial-gradient(circle at 100% 0%, rgba(225, 29, 72, 0.18) 0%, rgba(18, 12, 20, 0.98) 100%) !important;
  box-shadow: 0 0 18px rgba(225, 29, 72, 0.25) !important;
}
html.theme-christmas .booking-service-price-tag,
body.theme-christmas .booking-service-price-tag {
  color: #fde047 !important;
}
html.theme-christmas .booking-service-card-fresha.selected .booking-service-action-btn,
body.theme-christmas .booking-service-card-fresha.selected .booking-service-action-btn {
  background: #e11d48 !important;
  border-color: #fde047 !important;
  color: #ffffff !important;
  box-shadow: 0 0 12px rgba(225, 29, 72, 0.6) !important;
}
html.theme-christmas .booking-service-card-fresha:hover .booking-service-action-btn,
body.theme-christmas .booking-service-card-fresha:hover .booking-service-action-btn {
  border-color: #fde047 !important;
  color: #fde047 !important;
}

html.theme-christmas .booking-cart-sidebar,
body.theme-christmas .booking-cart-sidebar {
  border-color: rgba(253, 224, 71, 0.4) !important;
  background: rgba(16, 12, 20, 0.96) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.7), 0 0 20px rgba(225, 29, 72, 0.2) !important;
}
html.theme-christmas .booking-cart-count-badge,
body.theme-christmas .booking-cart-count-badge {
  background: rgba(225, 29, 72, 0.25) !important;
  border-color: rgba(253, 224, 71, 0.45) !important;
  color: #fde047 !important;
}
html.theme-christmas .booking-cart-total-amount,
body.theme-christmas .booking-cart-total-amount {
  color: #fde047 !important;
}
html.theme-christmas .booking-btn-primary,
body.theme-christmas .booking-btn-primary {
  background: linear-gradient(135deg, #e11d48 0%, #be123c 50%, #9f1239 100%) !important;
  border: 1px solid rgba(253, 224, 71, 0.6) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 20px rgba(225, 29, 72, 0.5) !important;
}
html.theme-christmas .booking-btn-primary:hover:not(:disabled),
body.theme-christmas .booking-btn-primary:hover:not(:disabled) {
  background: linear-gradient(135deg, #f43f5e 0%, #e11d48 50%, #be123c 100%) !important;
  box-shadow: 0 6px 26px rgba(225, 29, 72, 0.7) !important;
}

html.theme-christmas .booking-input:focus,
body.theme-christmas .booking-input:focus {
  border-left-color: #fde047 !important;
  box-shadow: 0 0 0 3px rgba(225, 29, 72, 0.15), 0 4px 20px rgba(0, 0, 0, 0.4) !important;
}
html.theme-christmas .booking-input-icon,
body.theme-christmas .booking-input-icon {
  color: #fde047 !important;
}
html.theme-christmas .booking-form-label span.req,
body.theme-christmas .booking-form-label span.req {
  color: #e11d48 !important;
}
html.theme-christmas .top-client-change-btn:hover,
body.theme-christmas .top-client-change-btn:hover {
  color: #fde047 !important;
  border-color: rgba(253, 224, 71, 0.5) !important;
  background: rgba(225, 29, 72, 0.15) !important;
}

html.theme-christmas .booking-quick-badge,
body.theme-christmas .booking-quick-badge {
  background: #e11d48 !important;
  border: 1px solid #fde047 !important;
  color: #ffffff !important;
}
html.theme-christmas .booking-quick-btn:hover,
body.theme-christmas .booking-quick-btn:hover {
  border-color: #fde047 !important;
  color: #fde047 !important;
}
html.theme-christmas .booking-stylist-card:hover,
body.theme-christmas .booking-stylist-card:hover {
  border-color: rgba(253, 224, 71, 0.5) !important;
}
html.theme-christmas .booking-stylist-card.selected,
body.theme-christmas .booking-stylist-card.selected {
  border-color: #fde047 !important;
  background: rgba(225, 29, 72, 0.18) !important;
  box-shadow: 0 0 14px rgba(225, 29, 72, 0.25) !important;
}
html.theme-christmas .booking-cal-day.active,
body.theme-christmas .booking-cal-day.active {
  background: #e11d48 !important;
  border-color: #fde047 !important;
  color: #ffffff !important;
  box-shadow: 0 0 12px rgba(225, 29, 72, 0.7) !important;
}
html.theme-christmas .booking-cal-day.today::after,
body.theme-christmas .booking-cal-day.today::after {
  background: #15803d !important;
}
html.theme-christmas .booking-time-pill.selected,
body.theme-christmas .booking-time-pill.selected {
  background: #e11d48 !important;
  border-color: #fde047 !important;
  color: #ffffff !important;
  box-shadow: 0 0 12px rgba(225, 29, 72, 0.6) !important;
}
html.theme-christmas .booking-confirm-card-header svg,
body.theme-christmas .booking-confirm-card-header svg,
html.theme-christmas .booking-confirm-client-phone svg,
body.theme-christmas .booking-confirm-client-phone svg,
html.theme-christmas .turnstile-header-title svg,
body.theme-christmas .turnstile-header-title svg,
html.theme-christmas .duration-label svg,
body.theme-christmas .duration-label svg {
  color: #fde047 !important;
}
html.theme-christmas .booking-confirm-total-amount,
body.theme-christmas .booking-confirm-total-amount {
  color: #fde047 !important;
}
html.theme-christmas .booking-modal-overlay [style*="color: #fdd835"],
html.theme-christmas .booking-modal-overlay [style*="color:#fdd835"],
body.theme-christmas .booking-modal-overlay [style*="color: #fdd835"],
body.theme-christmas .booking-modal-overlay [style*="color:#fdd835"] {
  color: #fde047 !important;
}
html.theme-christmas .booking-blowdry-dialog-card,
body.theme-christmas .booking-blowdry-dialog-card {
  border-color: rgba(253, 224, 71, 0.5) !important;
  box-shadow: 0 25px 80px rgba(0,0,0,0.9), 0 0 35px rgba(225, 29, 72, 0.25) !important;
}
html.theme-christmas .booking-blowdry-brand-badge,
body.theme-christmas .booking-blowdry-brand-badge {
  background: rgba(225, 29, 72, 0.15) !important;
  border-color: rgba(253, 224, 71, 0.4) !important;
  color: #fde047 !important;
}
html.theme-christmas .booking-blowdry-option-card.selected,
body.theme-christmas .booking-blowdry-option-card.selected {
  border-color: #fde047 !important;
}
html.theme-christmas .booking-blowdry-option-price,
body.theme-christmas .booking-blowdry-option-price {
  color: #fde047 !important;
}

/* --------------------------------------------------------------------------
   
html.theme-christmas .booking-modal-ambient-glow,
body.theme-christmas .booking-modal-ambient-glow {
  background: radial-gradient(circle, rgba(225, 29, 72, 0.22) 0%, rgba(21, 128, 61, 0.1) 50%, transparent 75%) !important;
}
html.theme-christmas .booking-hair-segmented-track,
body.theme-christmas .booking-hair-segmented-track,
html.theme-christmas .booking-hair-length-options,
body.theme-christmas .booking-hair-length-options {
  border-color: rgba(253, 224, 71, 0.4) !important;
  background: rgba(14, 10, 18, 0.95) !important;
}
html.theme-christmas .booking-length-locked-placeholder,
body.theme-christmas .booking-length-locked-placeholder {
  border-color: rgba(253, 224, 71, 0.4) !important;
  background: radial-gradient(circle at 50% 50%, rgba(225, 29, 72, 0.06) 0%, rgba(14, 10, 20, 0.7) 100%) !important;
}
html.theme-christmas .booking-length-locked-icon,
body.theme-christmas .booking-length-locked-icon {
  color: #fde047 !important;
}
html.theme-christmas .top-client-pill,
body.theme-christmas .top-client-pill {
  border-color: rgba(253, 224, 71, 0.45) !important;
}
html.theme-christmas .top-client-icon,
body.theme-christmas .top-client-icon {
  color: #fde047 !important;
}
html.theme-christmas .booking-modal-close-btn,
body.theme-christmas .booking-modal-close-btn {
  border-color: rgba(253, 224, 71, 0.45) !important;
}
html.theme-christmas .booking-client-greet span,
body.theme-christmas .booking-client-greet span {
  color: #fde047 !important;
}
html.theme-christmas .booking-client-badge,
body.theme-christmas .booking-client-badge {
  color: #fde047 !important;
  border-color: rgba(253, 224, 71, 0.45) !important;
  background: rgba(225, 29, 72, 0.15) !important;
}
html.theme-christmas .booking-category-title i,
body.theme-christmas .booking-category-title i {
  color: #fde047 !important;
}
html.theme-christmas .service-dur-pill i,
body.theme-christmas .service-dur-pill i {
  color: #fde047 !important;
}
html.theme-christmas .confirm-service-dur i,
body.theme-christmas .confirm-service-dur i {
  color: #fde047 !important;
}
html.theme-christmas .service-price,
body.theme-christmas .service-price {
  color: #fde047 !important;
}
html.theme-christmas .booking-confirm-card,
body.theme-christmas .booking-confirm-card {
  border-color: rgba(253, 224, 71, 0.45) !important;
}
html.theme-christmas .booking-confirm-client-box,
body.theme-christmas .booking-confirm-client-box {
  border-color: rgba(253, 224, 71, 0.35) !important;
  background: rgba(225, 29, 72, 0.08) !important;
}
html.theme-christmas .booking-confirm-client-icon-circle,
body.theme-christmas .booking-confirm-client-icon-circle {
  border-color: rgba(253, 224, 71, 0.5) !important;
  color: #fde047 !important;
  background: linear-gradient(135deg, rgba(225, 29, 72, 0.25) 0%, rgba(21, 128, 61, 0.1) 100%) !important;
}
html.theme-christmas .booking-confirm-grid-tile.highlight-time-tile,
body.theme-christmas .booking-confirm-grid-tile.highlight-time-tile {
  border-color: rgba(253, 224, 71, 0.5) !important;
  background: radial-gradient(circle at 0% 50%, rgba(225, 29, 72, 0.18) 0%, rgba(18, 12, 22, 0.95) 100%) !important;
}
html.theme-christmas .tile-icon,
body.theme-christmas .tile-icon {
  background: rgba(225, 29, 72, 0.15) !important;
  color: #fde047 !important;
}
html.theme-christmas .tile-value.time-val,
body.theme-christmas .tile-value.time-val {
  color: #fde047 !important;
}
html.theme-christmas .booking-turnstile-box,
body.theme-christmas .booking-turnstile-box {
  border-color: rgba(253, 224, 71, 0.35) !important;
}
html.theme-christmas .booking-confirm-totals-block,
body.theme-christmas .booking-confirm-totals-block {
  border-color: rgba(253, 224, 71, 0.4) !important;
}
html.theme-christmas .duration-val,
body.theme-christmas .duration-val {
  color: #fde047 !important;
}
html.theme-christmas .booking-drawer-chevron,
body.theme-christmas .booking-drawer-chevron {
  border-color: rgba(253, 224, 71, 0.5) !important;
  color: #fde047 !important;
  background: rgba(225, 29, 72, 0.15) !important;
}
html.theme-christmas .drawer-open .booking-drawer-chevron,
body.theme-christmas .drawer-open .booking-drawer-chevron,
html.theme-christmas .booking-confirm-card-summary.drawer-open .booking-drawer-chevron,
body.theme-christmas .booking-confirm-card-summary.drawer-open .booking-drawer-chevron {
  background: #e11d48 !important;
  color: #ffffff !important;
}
html.theme-christmas .booking-step3-section,
body.theme-christmas .booking-step3-section,
html.theme-christmas .booking-stylists-section,
body.theme-christmas .booking-stylists-section {
  border-color: rgba(253, 224, 71, 0.35) !important;
}
html.theme-christmas .booking-step3-section-title,
body.theme-christmas .booking-step3-section-title {
  color: #fde047 !important;
}
html.theme-christmas .booking-stylist-card.active,
body.theme-christmas .booking-stylist-card.active {
  border-color: #fde047 !important;
  background: radial-gradient(circle at 50% 0%, rgba(225, 29, 72, 0.3) 0%, rgba(24, 16, 28, 0.95) 100%) !important;
}
html.theme-christmas .booking-stylist-card.active .booking-stylist-name {
  color: #fde047 !important;
}
html.theme-christmas .booking-stylist-avatar,
body.theme-christmas .booking-stylist-avatar {
  border-color: rgba(253, 224, 71, 0.45) !important;
  color: #fde047 !important;
}
html.theme-christmas .booking-quick-slots-bar,
body.theme-christmas .booking-quick-slots-bar {
  border-color: rgba(253, 224, 71, 0.35) !important;
  background: linear-gradient(135deg, rgba(225, 29, 72, 0.12) 0%, rgba(255, 255, 255, 0.02) 100%) !important;
}
html.theme-christmas .booking-cal-nav-btn,
body.theme-christmas .booking-cal-nav-btn {
  border-color: rgba(253, 224, 71, 0.35) !important;
  color: #fde047 !important;
}
html.theme-christmas .booking-cal-nav-btn:hover:not(:disabled),
body.theme-christmas .booking-cal-nav-btn:hover:not(:disabled) {
  background: #e11d48 !important;
  color: #ffffff !important;
}
html.theme-christmas .booking-cal-day.selected,
body.theme-christmas .booking-cal-day.selected {
  background: linear-gradient(135deg, #e11d48 0%, #be123c 100%) !important;
  border-color: #fde047 !important;
  color: #ffffff !important;
}
html.theme-christmas .booking-cal-day:hover:not(.past):not(.closed):not(.empty),
body.theme-christmas .booking-cal-day:hover:not(.past):not(.closed):not(.empty) {
  border-color: rgba(253, 224, 71, 0.6) !important;
  color: #fde047 !important;
  background: rgba(225, 29, 72, 0.15) !important;
}

4. MODO SAN VALENTÍN (Rojo Pasión, Rosa Enamórate y Oro Cálido)
   -------------------------------------------------------------------------- */
html.theme-sanvalentin .booking-modal-card,
body.theme-sanvalentin .booking-modal-card {
  background: radial-gradient(circle at 50% -10%, rgba(255, 77, 109, 0.28) 0%, rgba(190, 18, 60, 0.14) 28%, rgba(18, 8, 14, 0.98) 65%, #080305 100%) !important;
  border-color: rgba(255, 77, 109, 0.5) !important;
  box-shadow: 0 30px 100px rgba(0, 0, 0, 0.98), 0 0 55px rgba(255, 77, 109, 0.3) !important;
}

html.theme-sanvalentin .booking-emblem,
body.theme-sanvalentin .booking-emblem {
  background: rgba(255, 77, 109, 0.15) !important;
  border-color: rgba(255, 77, 109, 0.45) !important;
  color: #ffd700 !important;
}

html.theme-sanvalentin .booking-step-item.active,
body.theme-sanvalentin .booking-step-item.active {
  color: #ffd700 !important;
  background: rgba(255, 77, 109, 0.2) !important;
  border-color: rgba(255, 77, 109, 0.6) !important;
  box-shadow: 0 0 16px rgba(255, 77, 109, 0.35) !important;
}
html.theme-sanvalentin .booking-step-item.active .booking-step-bubble,
body.theme-sanvalentin .booking-step-item.active .booking-step-bubble {
  background: linear-gradient(135deg, #ff4d6d 0%, #e11d48 100%) !important;
  border-color: #ffd700 !important;
  color: #ffffff !important;
  box-shadow: 0 0 14px rgba(255, 77, 109, 0.8) !important;
}

html.theme-sanvalentin .booking-hair-pill:hover:not(.active),
body.theme-sanvalentin .booking-hair-pill:hover:not(.active) {
  background: rgba(255, 77, 109, 0.15) !important;
  color: #ffd700 !important;
  border-color: rgba(255, 77, 109, 0.35) !important;
}
html.theme-sanvalentin .booking-hair-pill.active,
body.theme-sanvalentin .booking-hair-pill.active {
  background: linear-gradient(135deg, #ff4d6d 0%, #e11d48 50%, #be123c 100%) !important;
  border-color: #ffd700 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 18px rgba(255, 77, 109, 0.5) !important;
}
html.theme-sanvalentin .booking-hair-pill.active .pill-title,
body.theme-sanvalentin .booking-hair-pill.active .pill-title,
html.theme-sanvalentin .booking-hair-pill.active .pill-guide,
body.theme-sanvalentin .booking-hair-pill.active .pill-guide,
html.theme-sanvalentin .booking-hair-pill.active > span,
body.theme-sanvalentin .booking-hair-pill.active > span {
  color: #ffffff !important;
}

html.theme-sanvalentin .booking-category-pill.active,
body.theme-sanvalentin .booking-category-pill.active {
  background: linear-gradient(135deg, #e11d48 0%, #be123c 100%) !important;
  border-color: #ffd700 !important;
  color: #ffffff !important;
  box-shadow: 0 0 14px rgba(225, 29, 72, 0.6) !important;
}
html.theme-sanvalentin .booking-category-pill:hover:not(.active),
body.theme-sanvalentin .booking-category-pill:hover:not(.active) {
  border-color: rgba(255, 77, 109, 0.5) !important;
  color: #ffccd5 !important;
}
html.theme-sanvalentin .booking-category-pills-bar::-webkit-scrollbar-thumb,
body.theme-sanvalentin .booking-category-pills-bar::-webkit-scrollbar-thumb {
  background: rgba(255, 77, 109, 0.45) !important;
}

html.theme-sanvalentin #bookingCatSec-habituales,
body.theme-sanvalentin #bookingCatSec-habituales {
  background: rgba(255, 77, 109, 0.08) !important;
  border-color: rgba(255, 77, 109, 0.4) !important;
}
html.theme-sanvalentin #bookingCatSec-habituales .booking-category-title,
body.theme-sanvalentin #bookingCatSec-habituales .booking-category-title {
  color: #ffd700 !important;
}

html.theme-sanvalentin .booking-service-card-fresha:hover,
body.theme-sanvalentin .booking-service-card-fresha:hover {
  border-color: rgba(255, 77, 109, 0.6) !important;
  box-shadow: 0 0 14px rgba(255, 77, 109, 0.25) !important;
}
html.theme-sanvalentin .booking-service-card-fresha.selected,
body.theme-sanvalentin .booking-service-card-fresha.selected {
  border-color: #ff4d6d !important;
  background: radial-gradient(circle at 100% 0%, rgba(255, 77, 109, 0.18) 0%, rgba(22, 10, 16, 0.98) 100%) !important;
  box-shadow: 0 0 18px rgba(255, 77, 109, 0.3) !important;
}
html.theme-sanvalentin .booking-service-price-tag,
body.theme-sanvalentin .booking-service-price-tag {
  color: #ffd700 !important;
}
html.theme-sanvalentin .booking-service-card-fresha.selected .booking-service-action-btn,
body.theme-sanvalentin .booking-service-card-fresha.selected .booking-service-action-btn {
  background: #ff4d6d !important;
  border-color: #ffd700 !important;
  color: #ffffff !important;
  box-shadow: 0 0 14px rgba(255, 77, 109, 0.7) !important;
}
html.theme-sanvalentin .booking-service-card-fresha:hover .booking-service-action-btn,
body.theme-sanvalentin .booking-service-card-fresha:hover .booking-service-action-btn {
  border-color: #ff4d6d !important;
  color: #ff4d6d !important;
}

html.theme-sanvalentin .booking-cart-sidebar,
body.theme-sanvalentin .booking-cart-sidebar {
  border-color: rgba(255, 77, 109, 0.45) !important;
  background: rgba(18, 8, 14, 0.96) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.7), 0 0 20px rgba(255, 77, 109, 0.25) !important;
}
html.theme-sanvalentin .booking-cart-count-badge,
body.theme-sanvalentin .booking-cart-count-badge {
  background: rgba(255, 77, 109, 0.25) !important;
  border-color: rgba(255, 77, 109, 0.5) !important;
  color: #ffd700 !important;
}
html.theme-sanvalentin .booking-cart-total-amount,
body.theme-sanvalentin .booking-cart-total-amount {
  color: #ffd700 !important;
}
html.theme-sanvalentin .booking-btn-primary,
body.theme-sanvalentin .booking-btn-primary {
  background: linear-gradient(135deg, #ff4d6d 0%, #e11d48 50%, #be123c 100%) !important;
  border: 1px solid rgba(255, 215, 0, 0.6) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 22px rgba(255, 77, 109, 0.55) !important;
}
html.theme-sanvalentin .booking-btn-primary:hover:not(:disabled),
body.theme-sanvalentin .booking-btn-primary:hover:not(:disabled) {
  background: linear-gradient(135deg, #ff758f 0%, #ff4d6d 50%, #e11d48 100%) !important;
  box-shadow: 0 6px 28px rgba(255, 77, 109, 0.75) !important;
}

html.theme-sanvalentin .booking-input:focus,
body.theme-sanvalentin .booking-input:focus {
  border-left-color: #ff4d6d !important;
  box-shadow: 0 0 0 3px rgba(255, 77, 109, 0.2), 0 4px 20px rgba(0, 0, 0, 0.4) !important;
}
html.theme-sanvalentin .booking-input-icon,
body.theme-sanvalentin .booking-input-icon {
  color: #ff4d6d !important;
}
html.theme-sanvalentin .booking-form-label span.req,
body.theme-sanvalentin .booking-form-label span.req {
  color: #e11d48 !important;
}
html.theme-sanvalentin .top-client-change-btn:hover,
body.theme-sanvalentin .top-client-change-btn:hover {
  color: #ffd700 !important;
  border-color: rgba(255, 77, 109, 0.5) !important;
  background: rgba(255, 77, 109, 0.15) !important;
}

html.theme-sanvalentin .booking-quick-badge,
body.theme-sanvalentin .booking-quick-badge {
  background: #e11d48 !important;
  border: 1px solid #ffd700 !important;
  color: #ffffff !important;
}
html.theme-sanvalentin .booking-quick-btn:hover,
body.theme-sanvalentin .booking-quick-btn:hover {
  border-color: #ffd700 !important;
  color: #ffd700 !important;
}
html.theme-sanvalentin .booking-stylist-card:hover,
body.theme-sanvalentin .booking-stylist-card:hover {
  border-color: rgba(255, 77, 109, 0.5) !important;
}
html.theme-sanvalentin .booking-stylist-card.selected,
body.theme-sanvalentin .booking-stylist-card.selected {
  border-color: #ff4d6d !important;
  background: rgba(255, 77, 109, 0.18) !important;
  box-shadow: 0 0 14px rgba(255, 77, 109, 0.3) !important;
}
html.theme-sanvalentin .booking-cal-day.active,
body.theme-sanvalentin .booking-cal-day.active {
  background: #ff4d6d !important;
  border-color: #ffd700 !important;
  color: #ffffff !important;
  box-shadow: 0 0 12px rgba(255, 77, 109, 0.7) !important;
}
html.theme-sanvalentin .booking-cal-day.today::after,
body.theme-sanvalentin .booking-cal-day.today::after {
  background: #e11d48 !important;
}
html.theme-sanvalentin .booking-time-pill.selected,
body.theme-sanvalentin .booking-time-pill.selected {
  background: #ff4d6d !important;
  border-color: #ffd700 !important;
  color: #ffffff !important;
  box-shadow: 0 0 12px rgba(255, 77, 109, 0.7) !important;
}
html.theme-sanvalentin .booking-confirm-card-header svg,
body.theme-sanvalentin .booking-confirm-card-header svg,
html.theme-sanvalentin .booking-confirm-client-phone svg,
body.theme-sanvalentin .booking-confirm-client-phone svg,
html.theme-sanvalentin .turnstile-header-title svg,
body.theme-sanvalentin .turnstile-header-title svg,
html.theme-sanvalentin .duration-label svg,
body.theme-sanvalentin .duration-label svg {
  color: #ffd700 !important;
}
html.theme-sanvalentin .booking-confirm-total-amount,
body.theme-sanvalentin .booking-confirm-total-amount {
  color: #ffd700 !important;
}
html.theme-sanvalentin .booking-modal-overlay [style*="color: #fdd835"],
html.theme-sanvalentin .booking-modal-overlay [style*="color:#fdd835"],
body.theme-sanvalentin .booking-modal-overlay [style*="color: #fdd835"],
body.theme-sanvalentin .booking-modal-overlay [style*="color:#fdd835"] {
  color: #ff4d6d !important;
}
html.theme-sanvalentin .booking-blowdry-dialog-card,
body.theme-sanvalentin .booking-blowdry-dialog-card {
  border-color: rgba(255, 77, 109, 0.5) !important;
  box-shadow: 0 25px 80px rgba(0,0,0,0.9), 0 0 35px rgba(255, 77, 109, 0.3) !important;
}
html.theme-sanvalentin .booking-blowdry-brand-badge,
body.theme-sanvalentin .booking-blowdry-brand-badge {
  background: rgba(255, 77, 109, 0.15) !important;
  border-color: rgba(255, 77, 109, 0.45) !important;
  color: #ffd700 !important;
}
html.theme-sanvalentin .booking-blowdry-option-card.selected,
body.theme-sanvalentin .booking-blowdry-option-card.selected {
  border-color: #ff4d6d !important;
}
html.theme-sanvalentin .booking-blowdry-option-price,
body.theme-sanvalentin .booking-blowdry-option-price {
  color: #ffd700 !important;
}



html.theme-sanvalentin .booking-modal-ambient-glow,
body.theme-sanvalentin .booking-modal-ambient-glow {
  background: radial-gradient(circle, rgba(255, 77, 109, 0.25) 0%, rgba(190, 18, 60, 0.1) 50%, transparent 75%) !important;
}
html.theme-sanvalentin .booking-hair-segmented-track,
body.theme-sanvalentin .booking-hair-segmented-track,
html.theme-sanvalentin .booking-hair-length-options,
body.theme-sanvalentin .booking-hair-length-options {
  border-color: rgba(255, 77, 109, 0.4) !important;
  background: rgba(18, 8, 14, 0.95) !important;
}
html.theme-sanvalentin .booking-length-locked-placeholder,
body.theme-sanvalentin .booking-length-locked-placeholder {
  border-color: rgba(255, 77, 109, 0.4) !important;
  background: radial-gradient(circle at 50% 50%, rgba(255, 77, 109, 0.06) 0%, rgba(18, 8, 14, 0.7) 100%) !important;
}
html.theme-sanvalentin .booking-length-locked-icon,
body.theme-sanvalentin .booking-length-locked-icon {
  color: #ffd700 !important;
}
html.theme-sanvalentin .top-client-pill,
body.theme-sanvalentin .top-client-pill {
  border-color: rgba(255, 77, 109, 0.45) !important;
}
html.theme-sanvalentin .top-client-icon,
body.theme-sanvalentin .top-client-icon {
  color: #ffd700 !important;
}
html.theme-sanvalentin .booking-modal-close-btn,
body.theme-sanvalentin .booking-modal-close-btn {
  border-color: rgba(255, 77, 109, 0.45) !important;
}
html.theme-sanvalentin .booking-client-greet span,
body.theme-sanvalentin .booking-client-greet span {
  color: #ffd700 !important;
}
html.theme-sanvalentin .booking-client-badge,
body.theme-sanvalentin .booking-client-badge {
  color: #ffd700 !important;
  border-color: rgba(255, 77, 109, 0.45) !important;
  background: rgba(255, 77, 109, 0.15) !important;
}
html.theme-sanvalentin .booking-category-title i,
body.theme-sanvalentin .booking-category-title i {
  color: #ffd700 !important;
}
html.theme-sanvalentin .service-dur-pill i,
body.theme-sanvalentin .service-dur-pill i {
  color: #ffd700 !important;
}
html.theme-sanvalentin .confirm-service-dur i,
body.theme-sanvalentin .confirm-service-dur i {
  color: #ffd700 !important;
}
html.theme-sanvalentin .service-price,
body.theme-sanvalentin .service-price {
  color: #ffd700 !important;
}
html.theme-sanvalentin .booking-confirm-card,
body.theme-sanvalentin .booking-confirm-card {
  border-color: rgba(255, 77, 109, 0.45) !important;
}
html.theme-sanvalentin .booking-confirm-client-box,
body.theme-sanvalentin .booking-confirm-client-box {
  border-color: rgba(255, 77, 109, 0.35) !important;
  background: rgba(255, 77, 109, 0.08) !important;
}
html.theme-sanvalentin .booking-confirm-client-icon-circle,
body.theme-sanvalentin .booking-confirm-client-icon-circle {
  border-color: rgba(255, 77, 109, 0.5) !important;
  color: #ffd700 !important;
  background: linear-gradient(135deg, rgba(255, 77, 109, 0.25) 0%, rgba(225, 29, 72, 0.1) 100%) !important;
}
html.theme-sanvalentin .booking-confirm-grid-tile.highlight-time-tile,
body.theme-sanvalentin .booking-confirm-grid-tile.highlight-time-tile {
  border-color: rgba(255, 77, 109, 0.5) !important;
  background: radial-gradient(circle at 0% 50%, rgba(255, 77, 109, 0.18) 0%, rgba(18, 8, 14, 0.95) 100%) !important;
}
html.theme-sanvalentin .tile-icon,
body.theme-sanvalentin .tile-icon {
  background: rgba(255, 77, 109, 0.15) !important;
  color: #ffd700 !important;
}
html.theme-sanvalentin .tile-value.time-val,
body.theme-sanvalentin .tile-value.time-val {
  color: #ffd700 !important;
}
html.theme-sanvalentin .booking-turnstile-box,
body.theme-sanvalentin .booking-turnstile-box {
  border-color: rgba(255, 77, 109, 0.35) !important;
}
html.theme-sanvalentin .booking-confirm-totals-block,
body.theme-sanvalentin .booking-confirm-totals-block {
  border-color: rgba(255, 77, 109, 0.4) !important;
}
html.theme-sanvalentin .duration-val,
body.theme-sanvalentin .duration-val {
  color: #ffd700 !important;
}
html.theme-sanvalentin .booking-drawer-chevron,
body.theme-sanvalentin .booking-drawer-chevron {
  border-color: rgba(255, 77, 109, 0.5) !important;
  color: #ffd700 !important;
  background: rgba(255, 77, 109, 0.15) !important;
}
html.theme-sanvalentin .drawer-open .booking-drawer-chevron,
body.theme-sanvalentin .drawer-open .booking-drawer-chevron,
html.theme-sanvalentin .booking-confirm-card-summary.drawer-open .booking-drawer-chevron,
body.theme-sanvalentin .booking-confirm-card-summary.drawer-open .booking-drawer-chevron {
  background: #ff4d6d !important;
  color: #ffffff !important;
}
html.theme-sanvalentin .booking-step3-section,
body.theme-sanvalentin .booking-step3-section,
html.theme-sanvalentin .booking-stylists-section,
body.theme-sanvalentin .booking-stylists-section {
  border-color: rgba(255, 77, 109, 0.35) !important;
}
html.theme-sanvalentin .booking-step3-section-title,
body.theme-sanvalentin .booking-step3-section-title {
  color: #ffd700 !important;
}
html.theme-sanvalentin .booking-stylist-card.active,
body.theme-sanvalentin .booking-stylist-card.active {
  border-color: #ff4d6d !important;
  background: radial-gradient(circle at 50% 0%, rgba(255, 77, 109, 0.3) 0%, rgba(24, 10, 18, 0.95) 100%) !important;
}
html.theme-sanvalentin .booking-stylist-card.active .booking-stylist-name {
  color: #ffd700 !important;
}
html.theme-sanvalentin .booking-stylist-avatar,
body.theme-sanvalentin .booking-stylist-avatar {
  border-color: rgba(255, 77, 109, 0.45) !important;
  color: #ffd700 !important;
}
html.theme-sanvalentin .booking-quick-slots-bar,
body.theme-sanvalentin .booking-quick-slots-bar {
  border-color: rgba(255, 77, 109, 0.35) !important;
  background: linear-gradient(135deg, rgba(255, 77, 109, 0.12) 0%, rgba(255, 255, 255, 0.02) 100%) !important;
}
html.theme-sanvalentin .booking-cal-nav-btn,
body.theme-sanvalentin .booking-cal-nav-btn {
  border-color: rgba(255, 77, 109, 0.35) !important;
  color: #ffd700 !important;
}
html.theme-sanvalentin .booking-cal-nav-btn:hover:not(:disabled),
body.theme-sanvalentin .booking-cal-nav-btn:hover:not(:disabled) {
  background: #ff4d6d !important;
  color: #ffffff !important;
}
html.theme-sanvalentin .booking-cal-day.selected,
body.theme-sanvalentin .booking-cal-day.selected {
  background: linear-gradient(135deg, #ff4d6d 0%, #e11d48 100%) !important;
  border-color: #ffd700 !important;
  color: #ffffff !important;
}
html.theme-sanvalentin .booking-cal-day:hover:not(.past):not(.closed):not(.empty),
body.theme-sanvalentin .booking-cal-day:hover:not(.past):not(.closed):not(.empty) {
  border-color: rgba(255, 77, 109, 0.6) !important;
  color: #ffd700 !important;
  background: rgba(255, 77, 109, 0.15) !important;
}

.booking-modal-card.step-compact {
  max-width: 530px !important;
  min-height: auto !important;
  height: auto !important;
  padding: 34px 30px 28px 30px !important;
}

.booking-modal-card.step-compact .booking-stepper,
.booking-modal-card.screen-single-focus .booking-stepper,
.booking-modal-card.step-compact .booking-top-customer-badge,
.booking-modal-card.step-compact .booking-notice-box {
  display: none !important;
}

.booking-brand-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-bottom: 8px;
}

.booking-brand-avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, rgba(253, 216, 53, 0.25) 0%, rgba(18, 14, 24, 0.95) 75%);
  border: 1.5px solid rgba(253, 216, 53, 0.55);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.7), 0 0 16px rgba(253, 216, 53, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 10px auto;
  overflow: hidden;
  transition: all 0.3s ease;
}

.booking-brand-logo-img {
  width: 44px;
  height: 44px;
  object-fit: contain;
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.7));
}

.booking-brand-kicker {
  display: inline-block;
  color: #ffd700;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 3px;
  text-transform: uppercase;
  margin-bottom: 6px;
  text-shadow: 0 0 12px rgba(253, 216, 53, 0.4);
}

.booking-header-lead {
  color: #94a3b8;
  font-size: 0.88rem;
  line-height: 1.45;
  margin: 6px auto 0 auto;
  max-width: 440px;
}

.booking-login-benefits-bar {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(253, 216, 53, 0.22);
  border-radius: 14px;
  padding: 12px 14px;
  margin-bottom: 22px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
}
@media (max-width: 520px) {
  .booking-login-benefits-bar {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 10px 12px;
  }
}
.login-benefit-item {
  display: flex;
  align-items: center;
  gap: 10px;
  text-align: left;
}
.benefit-icon {
  font-size: 1.25rem;
  flex-shrink: 0;
}
.benefit-text {
  display: flex;
  flex-direction: column;
}
.benefit-text strong {
  color: #f1f5f9;
  font-size: 0.80rem;
  font-weight: 700;
  line-height: 1.2;
}
.benefit-text span {
  color: #94a3b8;
  font-size: 0.72rem;
  line-height: 1.25;
  margin-top: 2px;
}

.booking-input-hint {
  display: block;
  font-size: 0.74rem;
  color: #94a3b8;
  margin-top: 5px;
  line-height: 1.35;
}

.booking-btn-login-cta {
  height: 48px;
  font-size: 0.96rem;
  letter-spacing: 0.5px;
  font-weight: 800;
  margin-top: 10px;
}

.booking-login-footer-help {
  text-align: center;
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 0.80rem;
  color: #94a3b8;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
}
.login-support-phone {
  color: #ffd700;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.2s ease;
}
.login-support-phone:hover {
  color: #ffffff;
  text-decoration: underline;
}

.booking-emblem {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: linear-gradient(135deg, rgba(253, 216, 53, 0.16) 0%, rgba(20, 20, 28, 0.9) 100%);
  border: 1.5px solid rgba(253, 216, 53, 0.45);
  padding: 7px 22px;
  border-radius: 24px;
  color: #ffd700;
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  margin-bottom: 14px;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.7), 0 0 14px rgba(253, 216, 53, 0.2);
}

.booking-emblem svg {
  color: #ffd700;
  filter: drop-shadow(0 0 4px rgba(253, 216, 53, 0.5));
}

.booking-title {
  font-size: 2.05rem;
  font-weight: 800;
  color: #ffffff;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.6);
}

html.theme-sanvalentin .booking-brand-avatar,
body.theme-sanvalentin .booking-brand-avatar {
  border-color: rgba(255, 77, 109, 0.6) !important;
  background: radial-gradient(circle at 35% 30%, rgba(255, 77, 109, 0.3) 0%, rgba(20, 6, 12, 0.95) 75%) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.7), 0 0 16px rgba(255, 77, 109, 0.35) !important;
}

html.theme-sanvalentin .booking-brand-kicker,
body.theme-sanvalentin .booking-brand-kicker {
  color: #ffd700 !important;
  text-shadow: 0 0 12px rgba(255, 77, 109, 0.5) !important;
}

html.theme-sanvalentin .booking-login-benefits-bar,
body.theme-sanvalentin .booking-login-benefits-bar {
  border-color: rgba(255, 77, 109, 0.28) !important;
  background: rgba(255, 77, 109, 0.06) !important;
}

html.theme-sanvalentin .booking-emblem,
body.theme-sanvalentin .booking-emblem {
  background: linear-gradient(135deg, rgba(255, 77, 109, 0.25) 0%, rgba(26, 8, 16, 0.95) 100%) !important;
  border: 1.5px solid rgba(255, 77, 109, 0.6) !important;
  color: #ffd700 !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.7), 0 0 16px rgba(255, 77, 109, 0.35) !important;
  font-size: 0.88rem !important;
  letter-spacing: 2.5px !important;
}
