/* Formulario de contacto emergente (IGLOBALIA Booking) · imagen de marca: tinta #0c0b10, degradado magenta→rojo, Manrope + Instrument Serif cursiva */
.igbc{--igbc-ink:#0c0b10;--igbc-cream:#f6f3ee;--igbc-mut:#a9a6b3;--igbc-line:rgba(255,255,255,.13);--igbc-pink:#e86aa8;--igbc-red:#ef2729;
	--igbc-grad:linear-gradient(100deg,#c23c7b,#ef2729);--igbc-hinge:0px;
	box-sizing:border-box;padding:0;border:1px solid rgba(255,255,255,.09);border-radius:22px;color:var(--igbc-cream);
	background:radial-gradient(760px 520px at 4% 108%,rgba(194,60,123,.42),transparent 64%),radial-gradient(620px 460px at 100% -8%,rgba(239,39,41,.26),transparent 62%),var(--igbc-ink);
	width:min(1240px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain;
	box-shadow:0 40px 120px -20px rgba(0,0,0,.7),0 0 0 1px rgba(0,0,0,.4);
	font-family:var(--igpw-font,'Manrope',system-ui,sans-serif);line-height:1.45;-webkit-font-smoothing:antialiased}
.igbc::backdrop{background:rgba(8,7,12,.74);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.igbc[open]{animation:igbc-in .42s cubic-bezier(.2,.8,.2,1)}
.igbc[open] .igbc__intro>*,.igbc[open] .igbc__form{animation:igbc-up .7s cubic-bezier(.2,.8,.2,1) both}
.igbc[open] .igbc__intro>:nth-child(2){animation-delay:.07s}.igbc[open] .igbc__intro>:nth-child(3){animation-delay:.14s}
.igbc[open] .igbc__intro>:nth-child(4){animation-delay:.21s}.igbc[open] .igbc__form{animation-delay:.12s}
@keyframes igbc-in{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
@keyframes igbc-up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
html:has(dialog.igbc[open]){overflow:hidden}
.igbc *,.igbc *::before,.igbc *::after{box-sizing:border-box}
.igbc ::selection{background:rgba(232,106,168,.4)}

dialog.igbc .igbc__x{position:sticky;top:16px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:16px 16px -60px auto;
	z-index:2;border:1px solid var(--igbc-line);border-radius:50%;background:rgba(12,11,16,.55);color:var(--igbc-cream);cursor:pointer;
	transition:background .25s,border-color .25s,transform .35s cubic-bezier(.2,.8,.2,1)}
dialog.igbc .igbc__x:hover,dialog.igbc .igbc__x:focus{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3);color:var(--igbc-cream);transform:rotate(90deg)}
dialog.igbc .igbc__x:focus-visible,dialog.igbc .igbc__submit:focus-visible,dialog.igbc .igbc__alt:focus-visible{outline:2px solid var(--igbc-cream);outline-offset:3px}

dialog.igbc .igbc__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:clamp(32px,5vw,76px);padding:clamp(56px,7vw,92px) clamp(24px,5vw,64px) clamp(32px,5vw,56px) clamp(24px,6vw,92px)}
dialog.igbc .igbc__intro{align-self:center}
dialog.igbc .igbc__eyebrow{display:flex;align-items:center;gap:14px;margin:0 0 30px;font-size:12px;letter-spacing:.24em;font-weight:700;text-transform:uppercase;color:var(--igbc-cream)}
dialog.igbc .igbc__eyebrow::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--igbc-grad);box-shadow:0 0 0 5px rgba(239,39,41,.16)}
dialog.igbc .igbc__eyebrow::after{content:"";width:56px;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.5),transparent)}
dialog.igbc .igbc__intro h2{margin:0 0 26px;color:var(--igbc-cream);font-size:clamp(32px,4.3vw,60px);line-height:1.06;font-weight:300;letter-spacing:-.035em;text-wrap:balance}
dialog.igbc .igbc__intro h2 em{font-family:var(--igpw-serif,'Instrument Serif',Georgia,serif);font-style:italic;font-weight:400;letter-spacing:-.01em;padding-right:.12em;
	background:linear-gradient(100deg,#e86aa8,#ff5a5c);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
dialog.igbc .igbc__sub{margin:0 0 34px;max-width:44ch;color:var(--igbc-mut);font-size:17px;line-height:1.6}
dialog.igbc .igbc__alt{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--igbc-cream);font-size:15px;font-weight:600;text-decoration:none;
	border-bottom:1px solid rgba(255,255,255,.28);padding-bottom:2px;transition:border-color .25s,color .25s}
dialog.igbc .igbc__alt span{display:inline-block;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
dialog.igbc .igbc__alt:hover{color:#fff;border-color:var(--igbc-pink)}
dialog.igbc .igbc__alt:hover span{transform:translateX(5px)}

dialog.igbc .igbc__form{position:relative;padding:clamp(22px,3vw,40px);border:1px solid rgba(255,255,255,.1);border-radius:20px;
	background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03));box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 30px 60px -30px rgba(0,0,0,.6)}
dialog.igbc .igbc__form::before{content:"";position:absolute;left:28px;right:28px;top:-1px;height:2px;border-radius:2px;background:var(--igbc-grad);opacity:.9}
dialog.igbc .igbc__row{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px}
dialog.igbc .igbc__f{min-width:0}
dialog.igbc .igbc__f.is-wide{grid-column:1/-1}
dialog.igbc .igbc__f label{display:block;margin:0 0 9px;color:#d9d6e0;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
dialog.igbc .igbc__f input,dialog.igbc .igbc__f textarea{width:100%;margin:0;padding:15px 16px;border:1px solid var(--igbc-line);border-radius:12px;background:rgba(12,11,16,.72);color:var(--igbc-cream);
	font:inherit;font-size:16px;box-shadow:none;transition:border-color .25s,box-shadow .25s,background .25s}
dialog.igbc .igbc__f textarea{min-height:140px;resize:vertical}
dialog.igbc .igbc__f input::placeholder,dialog.igbc .igbc__f textarea::placeholder{color:#8d8a99;opacity:1}
dialog.igbc .igbc__f input:hover,dialog.igbc .igbc__f textarea:hover{border-color:rgba(255,255,255,.26)}
dialog.igbc .igbc__f input:focus,dialog.igbc .igbc__f textarea:focus{outline:0;border-color:var(--igbc-pink);background:#0c0b10;box-shadow:0 0 0 3px rgba(232,106,168,.24)}
dialog.igbc .igbc__f input:-webkit-autofill{-webkit-text-fill-color:var(--igbc-cream);box-shadow:0 0 0 40px #17151d inset;caret-color:var(--igbc-cream)}
dialog.igbc .igbc__f.is-bad input,dialog.igbc .igbc__f.is-bad textarea{border-color:#ff6b6d;box-shadow:0 0 0 3px rgba(255,107,109,.16)}
dialog.igbc .igbc__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
dialog.igbc .igbc__check{display:flex;align-items:flex-start;gap:14px;margin:26px 0 22px;font-size:14px;line-height:1.5;color:var(--igbc-mut);cursor:pointer}
dialog.igbc .igbc__check input{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:var(--igbc-red);cursor:pointer}
dialog.igbc .igbc__check a{color:var(--igbc-cream);text-decoration-color:var(--igbc-pink);text-underline-offset:3px}
dialog.igbc .igbc__check.is-bad{color:#ff9b9d}
dialog.igbc .igbc__msg{margin:0 0 16px;padding:12px 14px;border:1px solid rgba(255,107,109,.35);border-radius:12px;background:rgba(239,39,41,.13);color:#ffc2c3;font-size:15px}
dialog.igbc .igbc__msg[hidden]{display:none}
dialog.igbc .igbc__submit{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:58px;padding:16px 24px;border:0;border-radius:999px;
	background:var(--igbc-grad);color:#fff;font:inherit;font-size:17px;font-weight:700;letter-spacing:.01em;cursor:pointer;
	box-shadow:0 14px 36px -12px rgba(239,39,41,.6);transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,filter .3s}
dialog.igbc .igbc__submit::after{content:"→";display:inline-block;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
dialog.igbc .igbc__submit:hover{transform:translateY(-2px);box-shadow:0 20px 44px -12px rgba(239,39,41,.75);filter:saturate(1.1)}
dialog.igbc .igbc__submit:hover::after{transform:translateX(5px)}
dialog.igbc .igbc__submit[disabled]{opacity:.6;cursor:progress;transform:none}
dialog.igbc .igbc__submit[disabled]::after{content:none}
dialog.igbc .igbc__ok{padding:clamp(8px,2vw,24px) 0;text-align:left}
dialog.igbc .igbc__ok::before{content:"✓";display:grid;place-items:center;width:52px;height:52px;margin:0 0 22px;border-radius:50%;background:var(--igbc-grad);color:#fff;font-size:24px;font-weight:700}
dialog.igbc .igbc__ok h3{margin:0 0 12px;color:var(--igbc-cream);font-family:var(--igpw-serif,'Instrument Serif',Georgia,serif);font-size:clamp(30px,3.4vw,44px);font-style:italic;font-weight:400;letter-spacing:-.01em}
dialog.igbc .igbc__ok p{margin:0;color:var(--igbc-mut);font-size:17px;line-height:1.6}

@media(max-width:900px){
	.igbc{width:100vw;height:100dvh;max-height:none;border-radius:0;border:0}
	dialog.igbc .igbc__grid{grid-template-columns:1fr;gap:28px;padding:76px 18px 28px}
	dialog.igbc .igbc__eyebrow{margin-bottom:18px}
	dialog.igbc .igbc__sub{margin-bottom:12px}
}
@media(max-width:560px){
	dialog.igbc .igbc__row{grid-template-columns:1fr}
	dialog.igbc .igbc__form{padding:20px 14px;border-radius:16px}
	dialog.igbc .igbc__form::before{left:18px;right:18px}
	dialog.igbc .igbc__intro h2{font-size:clamp(28px,8.6vw,36px)}
}
@media(max-width:340px){dialog.igbc .igbc__grid{padding:70px 12px 20px}dialog.igbc .igbc__f input,dialog.igbc .igbc__f textarea{padding:13px 12px}}
/* Pantallas plegables / duales: intro en una pantalla, formulario en la otra */
@media(horizontal-viewport-segments:2){
	.igbc{--igbc-hinge:calc(env(viewport-segment-left 1 0,0px) - env(viewport-segment-right 0 0,0px))}
	dialog.igbc .igbc__grid{grid-template-columns:1fr 1fr;column-gap:max(var(--igbc-hinge),24px);padding-inline:24px}
	dialog.igbc .igbc__row{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.igbc[open],.igbc[open] .igbc__intro>*,.igbc[open] .igbc__form{animation:none}dialog.igbc .igbc__x,dialog.igbc .igbc__submit,dialog.igbc .igbc__submit::after,dialog.igbc .igbc__alt span{transition:none}}
