/* CONTACT INFO STRIP */
.contact-strip { background: var(--gold); display: grid; grid-template-columns: repeat(4,1fr); }
.contact-strip-item { padding: 32px 28px; border-right: 1px solid rgba(10,15,30,0.15); display: flex; flex-direction: column; gap: 6px; }
.contact-strip-item:last-child { border-right: none; }
.contact-strip-icon { font-size: 24px; margin-bottom: 4px; }
.contact-strip-label { font-family: 'Cinzel', serif; font-size: 9px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: rgba(10,15,30,0.6); }
.contact-strip-value { font-family: 'Cormorant Garamond', serif; font-size: 17px; font-weight: 600; color: var(--navy); line-height: 1.4; }

/* MAIN CONTACT GRID */
.contact-main { background: var(--navy); display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.contact-form-box { }
.contact-info-box { }
.info-block { padding: 28px 0; border-bottom: 1px solid var(--border); display: flex; gap: 20px; align-items: flex-start; }
.info-icon { width: 48px; height: 48px; background: rgba(201,168,76,0.08); border: 1px solid var(--border); display: flex; align-items: center; justify-content: center; font-size: 20px; flex-shrink: 0; }
.info-label { font-family: 'Cinzel', serif; font-size: 9px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: var(--gold); margin-bottom: 6px; }
.info-value { font-size: 14px; color: var(--cream); line-height: 1.7; }
.info-value a { color: var(--cream); text-decoration: none; transition: color 0.3s; }
.info-value a:hover { color: var(--gold); }

/* SERVICE TIMES TABLE */
.service-times { margin-top: 40px; }
.service-times-title { font-family: 'Cinzel', serif; font-size: 11px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: var(--gold); margin-bottom: 16px; }
.service-row { display: grid; grid-template-columns: 1fr auto; padding: 14px 0; border-bottom: 1px solid rgba(201,168,76,0.08); }
.service-name { font-size: 14px; color: var(--cream); }
.service-name span { font-size: 11px; color: var(--text-muted); display: block; margin-top: 2px; }
.service-time-val { font-family: 'Cinzel', serif; font-size: 12px; color: var(--gold); font-weight: 700; letter-spacing: 1px; }

/* MAP */
.map-section { background: var(--navy-mid); padding: 0; }
.map-container { width: 100%; height: 480px; background: var(--navy-light); border: 1px solid var(--border); position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.map-placeholder { text-align: center; }
.map-placeholder-icon { font-size: 64px; margin-bottom: 16px; opacity: 0.3; color: var(--gold); }
.map-placeholder-title { font-family: 'Cinzel', serif; font-size: 13px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: var(--gold); margin-bottom: 8px; }
.map-placeholder-address { font-size: 14px; color: var(--text-muted); line-height: 1.7; }
.map-placeholder-link { display: inline-block; margin-top: 20px; font-family: 'Cinzel', serif; font-size: 10px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--navy); background: var(--gold); padding: 12px 28px; text-decoration: none; transition: background 0.3s; }
.map-placeholder-link:hover { background: var(--gold-light); }
.map-pins { position: absolute; inset: 0; }
.map-grid-overlay { position: absolute; inset: 0; background-image: linear-gradient(rgba(201,168,76,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(201,168,76,0.04) 1px, transparent 1px); background-size: 48px 48px; }
.map-roads { position: absolute; inset: 0; }
.map-church-pin { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -100%); font-size: 40px; cursor: pointer; animation: pinBounce 2s ease-in-out infinite; }
@keyframes pinBounce { 0%,100%{transform:translate(-50%,-100%)} 50%{transform:translate(-50%,-110%)} }
.map-pin-label { position: absolute; top: 50%; left: 50%; transform: translate(-20%, 10%); background: var(--gold); color: var(--navy); font-family: 'Cinzel', serif; font-size: 10px; font-weight: 700; letter-spacing: 1px; padding: 6px 12px; white-space: nowrap; }

/* DIRECTIONS */
.directions-section { background: var(--navy); }
.directions-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 2px; margin-top: 48px; }
.direction-card { background: var(--navy-light); border: 1px solid var(--border); padding: 36px 32px; transition: border-color 0.3s; }
.direction-card:hover { border-color: var(--gold); }
.direction-icon { font-size: 36px; margin-bottom: 16px; }
.direction-mode { font-family: 'Cinzel', serif; font-size: 10px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: var(--gold); margin-bottom: 12px; display: block; }
.direction-title { font-family: 'Cormorant Garamond', serif; font-size: 20px; font-weight: 700; color: var(--white); margin-bottom: 12px; }
.direction-desc { font-size: 13px; color: var(--text-muted); line-height: 1.8; }

@media(max-width:900px){ .contact-strip { grid-template-columns: 1fr 1fr; } .contact-main { grid-template-columns: 1fr; gap: 48px; } .directions-grid { grid-template-columns: 1fr; } }
@media(max-width:560px){ .contact-strip { grid-template-columns: 1fr; } .contact-strip-item { border-right: none; border-bottom: 1px solid rgba(10,15,30,0.15); } }