/* A single contact spread: the real entrance faces one readable contact field. */
.wp-site-blocks main.ie-contacts .cr-contact-spread {
 --cr-inset:clamp(28px,2.5vw,44px);
 display:grid; grid-template-columns:1.08fr 1fr; grid-template-rows:auto 1fr;
 grid-template-areas:"entrance intro" "entrance details";
 margin-block:clamp(32px,3vw,56px) 0; background:var(--ed-jade); color:#f7edd8;
}
.ie-contacts .cr-intro { grid-area:intro; padding:var(--cr-inset) var(--cr-inset) 28px; }
.wp-site-blocks main.ie-contacts .cr-intro h1 {
 margin:0 0 16px; font:500 clamp(40px,3.2vw,64px)/1.16 "Literata",Georgia,serif !important;
 letter-spacing:-.025em; color:#f7edd8;
}
.wp-site-blocks main.ie-contacts .cr-intro p {
 max-width:32ch; margin:0; color:#e3e7d7; font:500 var(--ed-body)/1.5 "Golos Text",sans-serif;
}
.ie-contacts .cr-contact-details { grid-area:details; min-width:0; padding:0 var(--cr-inset) var(--cr-inset); }
.wp-site-blocks main.ie-contacts .cr-address h2 {
 max-width:27ch; margin:0; color:#f7edd8;
 font:500 clamp(22px,1.8vw,32px)/1.35 "Golos Text",sans-serif !important; letter-spacing:-.01em;
 text-wrap:pretty !important;
}
.wp-site-blocks main.ie-contacts .cr-metro {
 display:flex; align-items:flex-start; gap:12px; margin:16px 0 0;
 color:#f7edd8; font:500 var(--ed-detail)/1.45 "Golos Text",sans-serif;
}
.ie-contacts .cr-metro > svg { flex:none; margin-top:2px; color:#e5c58c; }
.ie-contacts .cr-metro small { display:block; margin-top:3px; color:#d6ddcc; font:400 var(--ed-detail)/1.5 "Golos Text",sans-serif; }
.ie-contacts .cr-connection { margin-top:28px; }
.ie-contacts .cr-phone {
 display:inline-block; max-width:100%; color:#f7edd8; text-decoration:none; white-space:nowrap;
 font:500 clamp(27px,2.35vw,44px)/1.2 "Golos Text",sans-serif; letter-spacing:-.025em; font-variant-numeric:lining-nums;
}
.wp-site-blocks main.ie-contacts .cr-hours { margin:8px 0 20px; color:#d6ddcc; font:400 var(--ed-detail)/1.5 "Golos Text",sans-serif; }
.ie-contacts .cr-email {
 display:flex; align-items:center; gap:10px; width:fit-content; max-width:100%; min-height:44px; margin-bottom:16px;
 color:#f7edd8; font:500 var(--ed-detail)/1.5 "Golos Text",sans-serif; text-decoration:underline; text-underline-offset:.22em;
}
.ie-contacts .cr-email svg { flex:none; }
.ie-contacts .cr-email span { min-width:0; overflow-wrap:anywhere; }
.ie-contacts .cr-booking { min-height:52px; }
.ie-contacts .cr-channels { display:flex; flex-wrap:wrap; gap:4px 22px; margin-top:16px; }
.ie-contacts .cr-channels a {
 display:inline-flex; align-items:center; gap:8px; min-height:44px; color:#f7edd8;
 text-decoration:none; font:500 var(--ed-detail)/1.4 "Golos Text",sans-serif;
}
.ie-contacts .cr-channels img { display:block; width:22px; height:22px; object-fit:contain; }
.ie-contacts .cr-contact-spread a:focus-visible { outline:2px solid #e6c591; outline-offset:5px; }
.ie-contacts .cr-entrance { grid-area:entrance; display:flex; flex-direction:column; min-width:0; margin:0; }
.ie-contacts .cr-entrance-media { position:relative; flex:1; min-height:420px; }
.ie-contacts .cr-entrance img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:50% 62%; }
.ie-contacts .cr-entrance figcaption {
 padding:24px 32px; color:var(--ed-ink); background:#e4d4b1;
 font:500 var(--ed-detail)/1.5 "Golos Text",sans-serif;
}
.wp-site-blocks main.ie-contacts .cr-arrival { padding-block:clamp(40px,4vw,72px) var(--ed-space); }
.ie-contacts .cr-arrival-head { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px; }
.wp-site-blocks main.ie-contacts .cr-arrival-head h2 { margin:0; }
.ie-contacts .cr-map { background:#e4d4b1; }
.ie-contacts .cr-map iframe { display:block; width:100%; height:400px; margin:0; border:0; padding:0; }
@media(hover:hover) and (pointer:fine) {
 .ie-contacts :is(.cr-phone,.cr-channels a):hover { text-decoration:underline; text-underline-offset:.22em; }
}
@media(min-width:2200px) {
 .wp-site-blocks main.ie-contacts .cr-contact-spread { --cr-inset:44px; grid-template-columns:1.2fr 1fr; }
 .wp-site-blocks main.ie-contacts .cr-intro h1 { font-size:64px !important; }
 .ie-contacts .cr-intro { padding-bottom:32px; }
 .wp-site-blocks main.ie-contacts .cr-address h2 { font-size:28px !important; }
 .ie-contacts .cr-phone { font-size:38px; }
 .ie-contacts .cr-connection { margin-top:32px; }
 .ie-contacts .cr-entrance figcaption { padding:28px 40px; }
 .ie-contacts .cr-map iframe { height:460px; }
}
@media(min-width:3000px) {
 .wp-site-blocks main.ie-contacts .cr-contact-spread { --cr-inset:48px; }
 .wp-site-blocks main.ie-contacts .cr-intro h1 { font-size:64px !important; }
 .wp-site-blocks main.ie-contacts .cr-address h2 { font-size:30px !important; }
 .ie-contacts .cr-phone { font-size:40px; }
 .ie-contacts .cr-entrance figcaption { padding:30px 48px; }
 .ie-contacts .cr-map iframe { height:520px; }
}
@media(max-width:1100px) {
 .wp-site-blocks main.ie-contacts .cr-contact-spread { --cr-inset:28px; grid-template-columns:1fr 1.1fr; }
 .ie-contacts .cr-phone { font-size:28px; }
 .ie-contacts .cr-channels { gap:4px 14px; }
 .ie-contacts .cr-channels a { font-size:16px; }
 .ie-contacts .cr-entrance figcaption { padding:24px; }
}
@media(max-width:800px) {
 .wp-site-blocks main.ie-contacts .cr-contact-spread {
  --cr-inset:28px; grid-template-columns:1fr; grid-template-rows:auto auto auto;
  grid-template-areas:"intro" "entrance" "details"; margin-top:24px;
 }
 .ie-contacts .cr-intro { padding-bottom:28px; }
 .ie-contacts .cr-entrance-media { min-height:0; aspect-ratio:16/9; }
 .ie-contacts .cr-entrance img { object-position:center; }
 .ie-contacts .cr-entrance figcaption { padding:20px var(--cr-inset); }
 .ie-contacts .cr-contact-details { padding-top:28px; }
 .ie-contacts .cr-phone { font-size:32px; }
 .ie-contacts .cr-arrival-head { align-items:flex-start; }
 .ie-contacts .cr-map iframe { height:380px; }
}
@media(max-width:560px) {
 .wp-site-blocks main.ie-contacts .cr-contact-spread { --cr-inset:24px; }
 .wp-site-blocks main.ie-contacts .cr-intro h1 { font-size:40px !important; margin-bottom:12px; }
 .wp-site-blocks main.ie-contacts .cr-intro p { font-size:18px; line-height:1.5; }
 .wp-site-blocks main.ie-contacts .cr-address h2 { font-size:24px !important; }
 .wp-site-blocks main.ie-contacts .cr-metro { font-size:17px; }
 .ie-contacts .cr-metro small { font-size:16px; }
 .ie-contacts .cr-phone { font-size:29px; }
 .ie-contacts .cr-connection { margin-top:24px; }
 .ie-contacts .cr-booking,.ie-contacts .cr-route-link { min-height:50px; padding:14px 16px; gap:20px; font-size:15px; }
 .ie-contacts .cr-channels { gap:4px 14px; }
 .ie-contacts .cr-channels a { gap:7px; font-size:15px; }
 .ie-contacts .cr-channels img { width:20px; height:20px; }
 .ie-contacts .cr-arrival-head { flex-direction:column; gap:16px; margin-bottom:20px; }
 .ie-contacts .cr-entrance figcaption { font-size:16px; }
}
@media(max-width:360px) {
 .wp-site-blocks main.ie-contacts .cr-contact-spread { --cr-inset:20px; }
 .ie-contacts .cr-phone { font-size:25px; }
 .ie-contacts .cr-channels { gap:4px 11px; }
 .ie-contacts .cr-channels a { gap:5px; font-size:14px; }
 .ie-contacts .cr-channels img { width:18px; height:18px; }
}

@media(max-width:800px) {
 .wp-site-blocks main.ie-contacts .cr-contact-spread { --cr-inset:20px; margin-top:20px; }
 .ie-contacts .cr-intro { padding-bottom:20px; }
 .wp-site-blocks main.ie-contacts .cr-intro h1 { margin-bottom:12px; font-size:30px!important; line-height:1.2!important; }
 .wp-site-blocks main.ie-contacts .cr-intro p { max-width:40ch; font-size:16px; line-height:1.5; }
 .ie-contacts .cr-entrance figcaption { padding:14px var(--cr-inset); font-size:16px; line-height:1.5; }
 .ie-contacts .cr-contact-details { padding-top:20px; }
 .wp-site-blocks main.ie-contacts .cr-address h2 { font-size:26px!important; line-height:1.3!important; }
 .wp-site-blocks main.ie-contacts .cr-metro { margin-top:14px; gap:10px; font-size:16px; line-height:1.5; }
 .ie-contacts .cr-metro small { font-size:16px; line-height:1.5; }
 .ie-contacts .cr-connection { margin-top:20px; }
 .ie-contacts .cr-phone { display:inline-flex; align-items:center; min-height:44px; font-size:26px; }
 .wp-site-blocks main.ie-contacts .cr-hours { margin-block:4px 16px; font-size:16px; line-height:1.5; }
 .ie-contacts :is(.cr-booking,.cr-route-link) { max-width:100%; min-height:44px; padding:12px 16px; gap:12px; font-size:15px; }
 .ie-contacts .cr-channels { gap:4px 16px; margin-top:12px; }
 .ie-contacts .cr-channels a { max-width:100%; min-height:44px; gap:7px; font-size:15px; overflow-wrap:anywhere; }
 .ie-contacts .cr-channels img { width:20px; height:20px; flex:none; }
 .wp-site-blocks main.ie-contacts .cr-arrival { padding-top:32px; }
 .ie-contacts .cr-arrival-head { align-items:flex-start; flex-direction:column; gap:12px; margin-bottom:20px; }
 .ie-contacts .cr-map iframe { height:320px; }
}
@media(max-width:360px) {
 .ie-contacts .cr-phone { font-size:24px; }
}
