/* A light editorial invitation, with Badalona as a quiet closing photograph. */
.contact-route{background:#efeded;color:#434346}.contact-route #contenido{padding-top:0}
.bru-destination{padding:180px 4vw 0;display:flex;flex-direction:column;gap:70px;background:#efeded;overflow:hidden}
.destination-layout{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:start;order:0}
.destination-story{max-width:620px}.destination-heading h1{font:400 clamp(65px,7.5vw,130px)/.98 var(--serif);letter-spacing:-.035em;margin:0 0 35px}.destination-heading h1 em{color:#a73568}
.destination-heading p{font-size:13px;line-height:1.7;margin:0 0 20px;color:#6b6b6f}.destination-phone{font:400 30px var(--serif)}
.connect-title{margin-top:35px}.connect-title p{font-size:13px;margin-bottom:16px}.connect-title>a{font-size:12px;text-decoration:underline;text-underline-offset:5px}
.contact-form.booking-content{padding:15px 0 0;margin:0;background:transparent;max-width:none;width:100%;color:#434346}
.contact-form .booking-intro{font:400 30px/1.2 var(--serif);margin:0 0 32px}
.contact-form fieldset{margin-bottom:30px;gap:10px 20px}.contact-form fieldset legend{position:static;width:auto;height:auto;clip-path:none;margin-bottom:14px;font-size:12px}.contact-form fieldset label{font-size:12px}
.contact-form .booking-fields{grid-template-columns:1fr 1fr 60px;gap:12px}.contact-form .booking-field{padding:15px 20px;min-height:65px}.contact-form .booking-submit{width:60px;height:60px;font-size:27px}.contact-form .booking-note{font-size:11px;line-height:1.6;margin-top:22px}.contact-form .booking-phone{font-size:12px;margin-top:22px}
.destination-bottom{order:1;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #d2d0d0;padding:25px 0;gap:25px}.destination-bottom p{font-size:12px;line-height:1.6;margin:0}.destination-bottom>div{display:flex;gap:35px;align-items:center}.destination-map{display:flex;gap:30px;align-items:center;font-size:13px;border-bottom:1px solid #999;padding:12px 0}
.destination-photo{order:2;margin:0 -4vw;overflow:hidden;height:420px;position:relative;mask-image:linear-gradient(#000 65%,transparent 100%)}.destination-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 65%;filter:grayscale(1);opacity:.75}
@keyframes contact-arrive{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.destination-story{animation:contact-arrive 700ms cubic-bezier(.22,1,.36,1) both}.contact-form{animation:contact-arrive 700ms 120ms cubic-bezier(.22,1,.36,1) both}}
@media(max-width:760px){.bru-destination{padding:155px 24px 0;gap:40px}.destination-layout{grid-template-columns:1fr;gap:35px}.destination-heading h1{font-size:17vw;margin-bottom:28px}.connect-title{margin-top:22px}.contact-form .booking-intro{font-size:28px}.contact-form .booking-fields{grid-template-columns:1fr 55px}.contact-form .booking-field:nth-child(1),.contact-form .booking-field:nth-child(2){grid-column:1/-1}.contact-form .booking-message{grid-column:1}.contact-form .booking-submit{width:55px;height:55px}.contact-form .booking-field input,.contact-form .booking-field textarea{font-size:16px}.destination-bottom>div{display:block}.destination-map{gap:20px}.destination-photo{margin:0 -24px;height:290px}}

/* Contact without photography, as requested. */
.bru-destination{padding-bottom:45px}

.contact-location{padding:5px 0 20px}.contact-location-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:30px}.contact-location-heading h2{font:400 clamp(40px,4.8vw,76px)/1 var(--serif);letter-spacing:-.025em}.contact-location-heading h2 em{color:#a73568}.contact-location-heading p{font-size:12px;color:#6b6b6f}.contact-location iframe{display:block;width:100%;height:420px;border:0;border-radius:4px;filter:grayscale(.85) saturate(.25);background:#e5e3e3}.contact-location iframe:focus-visible{outline:2px solid #a73568;outline-offset:5px}@media(max-width:760px){.contact-location-heading{display:block}.contact-location-heading p{margin-top:20px}.contact-location iframe{height:340px}}

.contact-location iframe{filter:grayscale(.96) saturate(.18) contrast(.96)}


.bru-map-frame{position:relative}.bru-map-label{position:absolute;top:10px;left:10px;z-index:2;width:305px;min-height:125px;background:#faf9f9;padding:18px 20px;display:flex;flex-direction:column;gap:4px;color:#434346;box-shadow:0 1px 5px #0002;font-size:13px}.bru-map-label strong{font-weight:500}.bru-map-label strong span{color:#a73568;font-weight:600}.bru-map-label small{font-size:11px;color:#737378}.bru-map-open{font-size:11px;margin-top:8px;text-decoration:underline;text-underline-offset:3px}.bru-map-pin{position:absolute;z-index:2;left:50%;top:45%;width:28px;height:28px;background:#a73568;border:2px solid #f4eeee;border-radius:50% 50% 50% 0;transform:translate(-50%,-65%) rotate(-45deg);pointer-events:none;box-shadow:0 2px 5px #0003}.bru-map-pin:after{content:'';position:absolute;width:8px;height:8px;border-radius:50%;background:#f5eeee;top:8px;left:8px}@media(max-width:760px){.bru-map-label{width:240px;padding:12px 15px;min-height:120px}}

/* Keep the branded location pin aligned; open the interactive map via the card. */
.bru-map-frame iframe{pointer-events:none}


/* Mobile and tablet refinement of the branded map and contact layout. */
.bru-map-label{max-width:calc(100% - 20px)}
@media(min-width:761px) and (max-width:1024px){.destination-layout{gap:5vw}.contact-form .booking-fields{grid-template-columns:1fr 56px}.contact-form .booking-field:nth-child(1),.contact-form .booking-field:nth-child(2){grid-column:1/-1}.contact-form .booking-message{grid-column:1}.contact-form .booking-submit{width:56px;height:56px}.contact-form fieldset{gap:10px 14px}.contact-form .booking-field input,.contact-form .booking-field textarea{font-size:16px}.contact-location iframe{height:440px}}
@media(max-width:760px){.bru-map-label{width:240px;min-height:115px;font-size:12px;gap:3px}.bru-map-label small{font-size:10px}.bru-map-open{font-size:11px;margin-top:6px}.contact-location iframe{height:380px}.contact-location-heading h2{font-size:clamp(38px,11vw,65px)}.destination-map{min-height:44px}}


/* Cover the full native Google info card, including its directions button. */
.bru-map-frame .bru-map-label{width:350px;max-width:calc(100% - 12px);min-height:145px;top:6px;left:6px;background:#faf9f9}
@media(max-width:760px){.bru-map-frame .bru-map-label{width:350px;min-height:138px;padding:14px 16px}.bru-map-frame iframe{height:410px}}

