/* ==========================================================================
   MILKY STUDIO — HOJA DE ESTILOS PRINCIPAL (css/styles.css)
   Arquitectura UI, Scrollytelling, Cotizador, Marquee y Protección de Activos
   ========================================================================== */
*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#1E2536}
html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:"Inter",system-ui,-apple-system,sans-serif;scroll-behavior:smooth}
body{margin:0;background-color:#07090E;color:#F1F5F9;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;user-select:none}
input,textarea,select{-webkit-user-select:text;user-select:text}
img{-webkit-user-drag:none;user-drag:none}
::selection{background-color:#009FE3;color:#FFFFFF}
h1,h2,h3,h4,p,ul{margin:0;padding:0}
ul{list-style:none}
a{color:inherit;text-decoration:inherit}
button,input,select,textarea{font-family:inherit;font-size:100%;line-height:inherit;color:inherit;margin:0;padding:0;background-color:transparent}
button{cursor:pointer}
img,video{display:block;max-width:100%;height:auto}
.font-display{font-family:"Space Grotesk",system-ui,sans-serif}
.studio-panel{background:#0E121B;border:1px solid #1E2536}
.option-card{background:#111622;border:1px solid #1E2536;transition:all 0.2s ease}
.option-card:hover{border-color:rgba(0,159,227,0.5)}
.option-card.selected{background:rgba(0,159,227,0.08);border:1.5px solid #009FE3;box-shadow:0 0 20px -5px rgba(0,159,227,0.25)}
input[type=range].studio-slider{-webkit-appearance:none;appearance:none;width:100%;background:transparent}
input[type=range].studio-slider::-webkit-slider-runnable-track{width:100%;height:6px;cursor:pointer;background:#1E2536;border-radius:999px}
input[type=range].studio-slider::-webkit-slider-thumb{height:20px;width:20px;border-radius:50%;background:#009FE3;cursor:pointer;-webkit-appearance:none;margin-top:-7px;border:2px solid #FFFFFF}
.fade-step{animation:fadeIn 0.25s ease-out}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;background:transparent;border-bottom:1px solid transparent;transition:background-color 0.3s ease,border-color 0.3s ease,backdrop-filter 0.3s ease}
.site-header.scrolled{background:rgba(7,9,14,0.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom-color:#1E2536}
.nav-glass-pill{background:rgba(7,9,14,0.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.14);padding:0.4rem 0.5rem 0.4rem 1.1rem;border-radius:9999px}
.scrolly-track{position:relative;height:520vh;background-color:#07090E}
.scrolly-sticky{position:sticky;top:0;width:100%;height:100vh;height:100dvh;overflow:hidden;display:flex;align-items:center;justify-content:flex-start}
#scrub-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;background:#07090E;pointer-events:none}
.scrolly-vignette{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(7,9,14,0.35) 0%,transparent 35%)}
.scrolly-content-wrap{position:relative;z-index:10;width:100%;max-width:76rem;margin:0 auto;padding:0 2rem;display:flex;align-items:center}
.scrolly-card{max-width:430px;width:100%;margin-left:1.5rem;background:rgba(14,18,27,0.65);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(0,159,227,0.3);border-radius:1rem;padding:1.75rem;box-shadow:0 25px 50px -12px rgba(0,0,0,0.65);transition:transform 0.25s ease,opacity 0.25s ease}
.scrolly-progress-bar{width:100%;height:3px;background:rgba(255,255,255,0.12);border-radius:999px;overflow:hidden;margin:1rem 0 1.25rem}
.scrolly-progress-fill{height:100%;width:16.66%;background:linear-gradient(90deg,#009FE3,#F7A823);transition:width 0.15s ease-out}
.stations-dock{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);z-index:20;display:flex;align-items:center;gap:0.35rem;background:rgba(14,18,27,0.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid #1E2536;padding:0.4rem;border-radius:9999px;max-width:94vw;overflow-x:auto}
.station-pill{padding:0.45rem 0.95rem;border-radius:9999px;font-size:0.75rem;font-weight:600;color:#CBD5E1;white-space:nowrap;transition:all 0.2s ease}
.station-pill:hover{color:#FFFFFF}
.station-pill.active{background-color:#0072A6;color:#FFFFFF;box-shadow:0 0 14px rgba(0,159,227,0.45)}

/* Estilos Sobre Mí, Testimonios y Slider Infinito de Logos */
.credential-pill{display:inline-flex;align-items:center;gap:0.4rem;padding:0.35rem 0.75rem;border-radius:0.5rem;background:#111622;border:1px solid #1E2536;font-size:0.75rem;color:#E2E8F0;font-weight:500}
.testimonial-card{background:#0E121B;border:1px solid #1E2536;border-radius:1rem;padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between;transition:border-color 0.25s ease,transform 0.25s ease}
.testimonial-card:hover{border-color:rgba(0,159,227,0.45);transform:translateY(-2px)}
.quote-stars{color:#F7A823;font-size:0.85rem;letter-spacing:0.1em}

/* Checkmark interactivo para opción de IA */
.ai-check-box{background:#0B0E16;border:1.5px solid #1E2536;border-radius:0.85rem;padding:1rem 1.25rem;transition:all 0.2s ease}
.ai-check-box:hover{border-color:rgba(0,159,227,0.5)}
.ai-check-box.active{background:rgba(0,159,227,0.08);border-color:#009FE3;box-shadow:0 0 18px -5px rgba(0,159,227,0.25)}

/* Slider Infinito de Logos — Alto Contraste y Auto-Escala al 100% */
.logo-marquee-mask{position:relative;width:100%;overflow:hidden;padding:1.75rem 0;-webkit-mask-image:linear-gradient(to right,transparent 0%,black 10%,black 90%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,black 10%,black 90%,transparent 100%)}
.logo-marquee-track{display:flex;align-items:center;gap:2.25rem;width:max-content;animation:scrollMarquee 38s linear infinite}
.logo-marquee-track:hover{animation-play-state:paused}
@keyframes scrollMarquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

.brand-logo-item{
  display:flex;
  align-items:center;
  justify-content:center;
  width:14.5rem;
  height:6.75rem;
  padding:1.1rem 1.75rem;
  border-radius:0.85rem;
  background:radial-gradient(circle at center, rgba(226,232,240,0.18) 0%, rgba(14,18,27,0.88) 100%);
  border:1px solid rgba(255,255,255,0.09);
  transition:all 0.3s ease;
  overflow:hidden;
  flex-shrink:0;
}
.brand-logo-item img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:grayscale(100%) contrast(1.08) drop-shadow(0 0 6px rgba(255,255,255,0.35)) drop-shadow(0 2px 4px rgba(0,0,0,0.65));
  opacity:0.85;
  transition:filter 0.35s ease, opacity 0.35s ease, transform 0.35s ease;
}
.brand-logo-item:hover{
  border-color:rgba(0,159,227,0.55);
  background:radial-gradient(circle at center, rgba(248,250,252,0.96) 0%, rgba(226,232,240,0.9) 100%);
  box-shadow:0 12px 28px -8px rgba(0,159,227,0.3);
}
.brand-logo-item:hover img{
  filter:grayscale(0%) contrast(1) drop-shadow(0 2px 6px rgba(0,0,0,0.18));
  opacity:1;
}
.brand-logo-item.is-white-logo:hover{
  background:radial-gradient(circle at center, rgba(30,41,59,0.95) 0%, rgba(14,18,27,0.98) 100%);
}
.brand-logo-item.is-white-logo:hover img{
  filter:grayscale(0%) drop-shadow(0 2px 6px rgba(0,0,0,0.7));
}

@media (max-width:768px){
  .site-header > div{height:3.4rem;padding:0 0.65rem}
  .nav-glass-pill{padding:0.2rem 0.25rem 0.2rem 0.65rem;gap:0.45rem}
  .nav-glass-pill a,.nav-glass-pill button{white-space:nowrap;font-size:10.5px}
  .nav-glass-pill button{padding:0.3rem 0.65rem}
  .scrolly-sticky{align-items:flex-end;padding-bottom:3.4rem}
  #scrub-video{object-position:center 42%}
  .scrolly-vignette{background:linear-gradient(180deg,transparent 0%,transparent 68%,rgba(7,9,14,0.68) 90%,#07090E 100%)}
  .scrolly-content-wrap{padding:0 0.5rem;margin-left:0}
  .scrolly-card{max-width:100%;width:100%;margin-left:0;padding:0.5rem 0.75rem;border-radius:0.7rem;background:rgba(7,9,14,0.48);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,0.14);box-shadow:0 8px 20px rgba(0,0,0,0.45)}
  #st-counter{font-size:9.5px;letter-spacing:0.1em}
  .scrolly-hint-badge{font-size:8.5px!important;padding:0.08rem 0.35rem!important}
  .scrolly-progress-bar{margin:0.25rem 0 0.3rem;height:2px}
  #st-title{font-size:0.88rem;line-height:1.18;margin-bottom:0.12rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  #st-desc{font-size:10.5px;line-height:1.25;margin-bottom:0;color:#E2E8F0;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
  .scrolly-actions{display:none!important;margin-top:0.35rem}
  .scrolly-actions.mobile-cta-final{display:flex!important}
  .scrolly-actions button{padding:0.3rem 0.65rem!important;font-size:10.5px!important;border-radius:0.4rem!important;width:100%}
  .scrolly-actions a{display:none!important}
  .stations-dock{bottom:0.3rem;width:calc(100% - 1rem);max-width:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.15rem;padding:0.2rem;border-radius:0.6rem;background:rgba(10,14,22,0.72);overflow:visible}
  .station-pill{padding:0.22rem 0.15rem;font-size:9.2px;text-align:center;border-radius:0.35rem;overflow:hidden;text-overflow:ellipsis}
  .logo-marquee-track{gap:1.25rem;animation-duration:24s}
  .brand-logo-item{width:11.5rem;height:5.5rem;padding:0.85rem 1.25rem}
}

/* Clases Utilitarias Compiladas */
.sticky{position:sticky}.relative{position:relative}.absolute{position:absolute}
.top-0{top:0}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{top:0;bottom:0}.bottom-3{bottom:0.75rem}.left-3{left:0.75rem}.right-3{right:0.75rem}.top-1\/2{top:50%}
.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}
.-translate-y-1\/2{transform:translateY(-50%)}.-translate-x-1\/2{transform:translate(-50%,-50%)}
.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.grid{display:grid}.hidden{display:none!important}.invisible{visibility:hidden}
.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}
.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-baseline{align-items:baseline}
.justify-between{justify-content:space-between}.justify-center{justify-content:center}
.shrink-0{flex-shrink:0}.pointer-events-none{pointer-events:none}.select-none{user-select:none}.cursor-pointer{cursor:pointer}.cursor-ew-resize{cursor:ew-resize}
.overflow-hidden{overflow:hidden}
.w-full{width:100%}.w-auto{width:auto}.w-0\.5{width:0.125rem}.w-2{width:0.5rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-10{width:2.5rem}
.h-full{height:100%}.h-2{height:0.5rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-11{height:2.75rem}.h-20{height:5rem}
.max-w-\[400px\]{max-width:400px}.max-w-\[340px\]{max-width:340px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.mx-auto{margin-left:auto;margin-right:auto}
.aspect-video{aspect-ratio:16/9}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-\[4\/5\]{aspect-ratio:4/5}.aspect-\[16\/9\]{aspect-ratio:16/9}
.gap-2{gap:0.5rem}.gap-2\.5{gap:0.625rem}.gap-3{gap:0.75rem}.gap-3\.5{gap:0.875rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-10{gap:2.5rem}
.space-y-2>:not([hidden])~:not([hidden]){margin-top:0.5rem}.space-y-3>:not([hidden])~:not([hidden]){margin-top:0.75rem}.space-y-3\.5>:not([hidden])~:not([hidden]){margin-top:0.875rem}.space-y-4>:not([hidden])~:not([hidden]){margin-top:1rem}.space-y-5>:not([hidden])~:not([hidden]){margin-top:1.25rem}.space-y-6>:not([hidden])~:not([hidden]){margin-top:1.5rem}.space-y-7>:not([hidden])~:not([hidden]){margin-top:1.75rem}
.p-2\.5{padding:0.625rem}.p-3{padding:0.75rem}.p-3\.5{padding:0.875rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}
.px-2{padding-left:0.5rem;padding-right:0.5rem}.px-2\.5{padding-left:0.625rem;padding-right:0.625rem}.px-3{padding-left:0.75rem;padding-right:0.75rem}.px-3\.5{padding-left:0.875rem;padding-right:0.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}
.py-0\.5{padding-top:0.125rem;padding-bottom:0.125rem}.py-1{padding-top:0.25rem;padding-bottom:0.25rem}.py-1\.5{padding-top:0.375rem;padding-bottom:0.375rem}.py-2{padding-top:0.5rem;padding-bottom:0.5rem}.py-2\.5{padding-top:0.625rem;padding-bottom:0.625rem}.py-3{padding-top:0.75rem;padding-bottom:0.75rem}.py-3\.5{padding-top:0.875rem;padding-bottom:0.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}
.pt-1{padding-top:0.25rem}.pt-2{padding-top:0.5rem}.pt-3{padding-top:0.75rem}.pt-4{padding-top:1rem}.pt-14{padding-top:3.5rem}.pb-3{padding-bottom:0.75rem}.pb-4{padding-bottom:1rem}.pb-10{padding-bottom:2.5rem}
.mt-0\.5{margin-top:0.125rem}.mt-1{margin-top:0.25rem}.mt-1\.5{margin-top:0.375rem}.mt-3{margin-top:0.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}
.mb-1{margin-bottom:0.25rem}.mb-1\.5{margin-bottom:0.375rem}.mb-2{margin-bottom:0.5rem}.mb-2\.5{margin-bottom:0.625rem}.mb-3{margin-bottom:0.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}
.scroll-mt-20{scroll-margin-top:5rem}
.rounded{border-radius:0.25rem}.rounded-lg{border-radius:0.5rem}.rounded-xl{border-radius:0.75rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}
.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}
.border-studioBorder{border-color:#1E2536}.border-studioBorder\/60{border-color:rgba(30,37,54,0.6)}.border-milkyBlue\/30{border-color:rgba(0,159,227,0.3)}.border-milkyBlue\/40{border-color:rgba(0,159,227,0.4)}.border-milkyAmber\/40{border-color:rgba(247,168,35,0.4)}.border-white{border-color:#FFFFFF}
.bg-studioBlack{background-color:#07090E}.bg-studioBlack\/90{background-color:rgba(7,9,14,0.9)}.bg-studioCard{background-color:#0E121B}.bg-studioBorder{background-color:#1E2536}.bg-\[\#0B0E16\]{background-color:#0B0E16}.bg-black{background-color:#000000}.bg-black\/80{background-color:rgba(0,0,0,0.8)}.bg-white{background-color:#FFFFFF}.bg-white\/5{background-color:rgba(255,255,255,0.05)}.bg-white\/10{background-color:rgba(255,255,255,0.1)}
.bg-milkyBlue{background-color:#0072A6}.bg-milkyBlue-dot{background-color:#009FE3}.bg-milkyBlue\/10{background-color:rgba(0,159,227,0.1)}.bg-milkyBlue\/15{background-color:rgba(0,159,227,0.15)}.bg-milkyAmber{background-color:#F7A823}.bg-milkyAmber\/15{background-color:rgba(247,168,35,0.15)}
.backdrop-blur-md{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,0.4)}.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,0.6)}.opacity-0{opacity:0}
.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}
.text-\[10px\]{font-size:10px;line-height:14px}.text-\[11px\]{font-size:11px;line-height:16px}.text-xs{font-size:0.75rem;line-height:1rem}.text-sm{font-size:0.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}
.leading-relaxed{line-height:1.625}.leading-\[1\.15\]{line-height:1.15}.tracking-tight{letter-spacing:-0.025em}.tracking-wider{letter-spacing:0.05em}.tracking-widest{letter-spacing:0.1em}.tracking-\[0\.2em\]{letter-spacing:0.2em}.uppercase{text-transform:uppercase}.underline{text-decoration:underline}.text-left{text-align:left}.text-center{text-align:center}
.text-white{color:#FFFFFF}.text-black{color:#000000}.text-slate-200{color:#E2E8F0}.text-slate-300{color:#CBD5E1}.text-slate-400{color:#94A3B8}.text-milkyBlue{color:#38BDF8}.text-milkyAmber{color:#F7A823}
input::placeholder,textarea::placeholder{color:#94A3B8}
.object-contain{object-fit:contain}.object-cover{object-fit:cover}.accent-milkyBlue{accent-color:#009FE3}
.transition{transition:all 0.2s ease}.duration-500{transition-duration:500ms}
.group:hover .group-hover\:scale-105{transform:scale(1.05)}
.hover\:text-white:hover{color:#FFFFFF}.hover\:bg-sky-500:hover{background-color:#0284C7}.hover\:bg-slate-200:hover{background-color:#E2E8F0}.hover\:bg-milkyBlue\/25:hover{background-color:rgba(0,159,227,0.25)}.hover\:border-milkyBlue:hover{border-color:#009FE3}
.focus\:outline-none:focus{outline:none}.focus\:border-milkyBlue:focus{border-color:#009FE3}
#ba-img-before{clip-path:inset(0 50% 0 0)}

/* Modal Términos y Menú Contextual Clic Derecho WhatsApp */
#terms-modal{position:fixed;inset:0;z-index:9998;background:rgba(7,9,14,0.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:1.25rem;overflow-y:auto}
#ms-context-menu{position:fixed;z-index:9999;display:none;background:rgba(14,18,27,0.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1.5px solid #009FE3;border-radius:0.75rem;padding:0.65rem 1rem;box-shadow:0 15px 35px rgba(0,0,0,0.8),0 0 20px rgba(0,159,227,0.25);animation:fadeIn 0.15s ease-out}
#ms-context-menu a{display:flex;align-items:center;gap:0.5rem;font-size:0.82rem;font-weight:600;color:#FFFFFF;white-space:nowrap}
#ms-context-menu a:hover{color:#38BDF8}
.ms-wa-dot{width:8px;height:8px;border-radius:50%;background-color:#25D366;box-shadow:0 0 8px #25D366}

@media (min-width:640px){
  .sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:p-8{padding:2rem}.sm\:h-12{height:3rem}.sm\:gap-6{gap:1.5rem}
  .sm\:text-sm{font-size:0.875rem;line-height:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-5xl{font-size:3rem;line-height:1.12}
  .sm\:w-auto{width:auto}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:text-right{text-align:right}
  .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:aspect-\[21\/9\]{aspect-ratio:21/9}
}
@media (min-width:768px){
  .md\:inline-block{display:inline-block}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}
  .md\:col-span-5{grid-column:span 5/span 5}.md\:col-span-7{grid-column:span 7/span 7}
}
@media (min-width:1024px){
  .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}
  .lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-8{grid-column:span 8/span 8}
}

/* ==========================================================================
   MEJORAS 10/10 HIGH-END: LIGHTBOX PORTAFOLIO, VALIDACIÓN B2B Y DESGLOSE IVA
   ========================================================================== */
.gallery-card-clickable {
  cursor: zoom-in;
  position: relative;
}
.gallery-zoom-badge {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 10;
  background: rgba(7, 9, 14, 0.78);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #F1F5F9;
  font-size: 10px;
  font-weight: 600;
  padding: 0.25rem 0.6rem;
  border-radius: 9999px;
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
  pointer-events: none;
}
.gallery-card-clickable:hover .gallery-zoom-badge {
  opacity: 1;
  transform: translateY(0);
  border-color: rgba(0, 159, 227, 0.6);
}
#portfolio-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(5, 7, 11, 0.94);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  animation: fadeIn 0.2s ease-out;
}
.lightbox-content-wrap {
  position: relative;
  max-width: 1040px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.lightbox-img-box {
  position: relative;
  width: 100%;
  max-height: 78vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 0.85rem;
  border: 1px solid #1E2536;
  background: #05070B;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.85);
}
.lightbox-img-box img {
  max-height: 78vh;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}
.lightbox-nav-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 9999px;
  background: rgba(14, 18, 27, 0.88);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  transition: all 0.2s ease;
  z-index: 20;
}
.lightbox-nav-btn:hover {
  background: #0072A6;
  border-color: #009FE3;
}
.lightbox-prev { left: 0.85rem; }
.lightbox-next { right: 0.85rem; }
.lightbox-close-btn {
  position: absolute;
  top: -2.75rem;
  right: 0;
  padding: 0.35rem 0.85rem;
  border-radius: 0.5rem;
  background: #0E121B;
  border: 1px solid #1E2536;
  color: #E2E8F0;
  font-size: 0.75rem;
  font-weight: 600;
  transition: all 0.2s ease;
}
.lightbox-close-btn:hover {
  color: #FFFFFF;
  border-color: #009FE3;
}
.input-error-highlight {
  border-color: #F7A823 !important;
  box-shadow: 0 0 0 2px rgba(247, 168, 35, 0.22);
}
.tax-breakdown-box {
  margin-top: 0.75rem;
  padding: 0.75rem 0.9rem;
  border-radius: 0.65rem;
  background: rgba(14, 18, 27, 0.9);
  border: 1px solid #1E2536;
  font-size: 0.75rem;
}