/* Contact page redesign */
.petrocore-contact-page { --contact-ink: #111a2a; --contact-navy: #003f51; --contact-orange: #f15a24; --contact-soft: #edf2f4; background: #fff; color: var(--contact-ink); }
.petrocore-contact-page .petrocore-contact-shell { box-sizing: border-box; width: 100%; max-width: var(--global-content-width, 1290px); margin-inline: auto; padding-inline: var(--global-content-edge-padding, 1.5rem); }
.petrocore-contact-page .petrocore-contact-kicker { margin: 0 0 14px; color: var(--contact-orange); font-size: .78rem; font-weight: 700; letter-spacing: .1em; line-height: 1.2; text-transform: uppercase; }
.petrocore-contact-page h1, .petrocore-contact-page h2, .petrocore-contact-page h3 { color: var(--contact-ink); font-weight: 500; }
.petrocore-contact-page p { color: #465468; font-family: var(--global-body-font-family); font-size: .98rem; font-weight: 400 !important; line-height: 1.7; }

.petrocore-contact-page .petrocore-contact-hero { display: grid; align-items: center; min-height: 430px; padding: 0; background: linear-gradient(90deg, rgba(0,18,31,.83), rgba(0,18,31,.48)), var(--contact-hero-image) center / cover; text-align: left; }
.petrocore-contact-page .petrocore-contact-hero .petrocore-contact-shell { padding-left: max(2.5rem, var(--global-content-edge-padding, 1.5rem)); }
.petrocore-contact-page .petrocore-contact-hero h1 { margin: 0; color: #fff; font-size: clamp(2rem, 3.2vw, 3.35rem); font-weight: 500; line-height: 1.08; }

.petrocore-contact-methods { padding-block: clamp(68px, 8vw, 108px); }
.petrocore-contact-section-heading { max-width: 630px; }
.petrocore-contact-section-heading h2 { margin: 0; font-size: clamp(1.85rem, 3vw, 3rem); line-height: 1.13; }
.petrocore-contact-section-heading > p:not(.petrocore-contact-kicker) { max-width: 560px; margin: 16px 0 0; }
.petrocore-contact-method-grid { display: grid; grid-template-columns: repeat(4, 1fr); align-items: stretch; gap: 20px; margin-top: 48px; }
.petrocore-contact-method-grid article { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; min-height: 0; padding: 28px 30px; border-radius: 18px 0 18px 0; background: #fff; box-shadow: 0 14px 30px rgba(10,34,52,.08); }
.petrocore-contact-method-grid article > .petrocore-contact-method-icon { display: grid; place-items: center; width: 42px; height: 42px; margin: 0 0 20px; border-radius: 50%; background: rgba(241,90,36,.1); color: var(--contact-orange); }
.petrocore-contact-method-icon svg { width: 19px; height: 19px; }
.petrocore-contact-method-grid h3 { margin: 20px 0 0; font-size: 1.2rem; }
.petrocore-contact-method-grid p { min-height: 0; margin: 8px 0 16px; font-size: .9rem; }
.petrocore-contact-method-grid a { display: inline; margin: 0; color: var(--contact-navy); font-size: .93rem; font-weight: 600; text-decoration: none; }
.petrocore-contact-method-grid article.petrocore-contact-method-card--address { align-items: flex-start; text-align: left; }
.petrocore-contact-method-grid article.petrocore-contact-method-card--address .petrocore-contact-method-icon { align-self: center; }
.petrocore-contact-method-grid article.petrocore-contact-method-card--address h3 { align-self: center; }
.petrocore-contact-method-grid article.petrocore-contact-method-card--address p { margin: 14px 0 16px; padding-left: 11px; border-left: 2px solid var(--contact-orange); color: var(--contact-muted); font-size: .76rem; line-height: 1.48; }
.petrocore-contact-method-grid article.petrocore-contact-method-card--address a { align-self: center; }
.petrocore-contact-method-grid article:nth-child(2) { background: var(--contact-orange); box-shadow: 0 16px 34px rgba(241,90,36,.25); }
.petrocore-contact-method-grid article:nth-child(2) .petrocore-contact-method-icon { background: rgba(255,255,255,.18); color: #fff; }
.petrocore-contact-method-grid article:nth-child(2) h3, .petrocore-contact-method-grid article:nth-child(2) p, .petrocore-contact-method-grid article:nth-child(2) a { color: #fff; }

.petrocore-contact-inquiry { padding: 0; background: #fff; }
.petrocore-contact-page .petrocore-contact-inquiry__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; align-items: stretch; height: 600px; background: #fff; }
.petrocore-contact-map { display: grid; align-self: stretch; place-items: stretch; height: 600px; min-height: 0; margin: 0; border-radius: 0; overflow: hidden; background: #dce5e8; }
.petrocore-contact-map iframe { width: 100%; height: 100%; min-height: 0; border: 0; }
.petrocore-contact-map__placeholder { display: grid; place-content: center; justify-items: center; gap: 10px; height: 100%; min-height: 0; background: linear-gradient(135deg, rgba(0,63,81,.96), rgba(20,86,160,.86)); color: #fff; }
.petrocore-contact-map__placeholder span { color: var(--contact-orange); font-size: 2.4rem; }
.petrocore-contact-map__placeholder strong { font-size: 1.25rem; font-weight: 500; }
.petrocore-contact-map__placeholder small { color: rgba(255,255,255,.7); font-size: .82rem; }

.petrocore-contact-form-card { display: flex; flex-direction: column; align-self: stretch; justify-content: center; box-sizing: border-box; width: 100%; height: 600px; min-height: 0; padding: 32px clamp(40px, 5vw, 72px); border-radius: 0; background: #fff; box-shadow: none; }
.petrocore-contact-form-heading { max-width: 560px; margin-inline: auto; text-align: center; }
.petrocore-contact-form-heading h2 { margin: 0; font-size: clamp(1.65rem, 2.35vw, 2.35rem); line-height: 1.12; }
.petrocore-contact-form-heading > p:not(.petrocore-contact-kicker) { margin: 10px 0 0; }
.petrocore-contact-page .petrocore-contact-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; width: 100%; max-width: none; margin: 26px auto 0; }
.petrocore-contact-page .petrocore-contact-form label { display: grid; gap: 7px; color: #465468; font-family: var(--global-body-font-family); font-size: .82rem; }
.petrocore-contact-page .petrocore-contact-form input, .petrocore-contact-page .petrocore-contact-form textarea { width: 100%; border: 1px solid #d3dde1; border-radius: 3px; background: #fff; color: var(--contact-ink); font: inherit; padding: 10px 12px; }
.petrocore-contact-form__full { grid-column: 1 / -1; }
.petrocore-contact-page .petrocore-contact-consent { display: flex; align-items: center; gap: 10px; cursor: pointer; user-select: none; }
.petrocore-contact-page .petrocore-contact-consent input[type="checkbox"] { display: grid; flex: 0 0 18px; place-content: center; width: 18px; height: 18px; margin: 0; padding: 0; border: 1.5px solid #b8c7ce; border-radius: 4px; appearance: none; background: #fff; cursor: pointer; transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease; }
.petrocore-contact-page .petrocore-contact-consent input[type="checkbox"]::before { width: 8px; height: 4px; border-bottom: 2px solid #fff; border-left: 2px solid #fff; content: ''; opacity: 0; transform: rotate(-45deg) translate(1px, -1px); transition: opacity .18s ease; }
.petrocore-contact-page .petrocore-contact-consent input[type="checkbox"]:checked { border-color: var(--contact-orange); background: var(--contact-orange); }
.petrocore-contact-page .petrocore-contact-consent input[type="checkbox"]:checked::before { opacity: 1; }
.petrocore-contact-page .petrocore-contact-consent input[type="checkbox"]:focus-visible { outline: 0; box-shadow: 0 0 0 4px rgba(241,90,36,.16); }
.petrocore-contact-page .petrocore-contact-form button { justify-self: center; grid-column: 1 / -1; border: 0; background: var(--contact-orange); color: #fff; cursor: pointer; }
.petrocore-contact-page .petrocore-contact-form button:disabled { cursor: wait; opacity: .72; }
.petrocore-contact-status { max-width: 620px; margin: 22px auto 0; padding: 12px 16px; border-radius: 4px; background: #e8f5ee; color: #1e5b4f !important; text-align: center; }
.petrocore-contact-status--warning { background: #fff6e5; color: #7a4a00 !important; }
.petrocore-contact-status--error { background: #fdecea; color: #a52a1b !important; }
.petrocore-contact-page .petrocore-form-hp { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

.petrocore-modal-open { overflow: hidden; }
.petrocore-form-modal[hidden] { display: none; }
.petrocore-form-modal { position: fixed; z-index: 9999; inset: 0; display: grid; place-items: center; padding: 22px; }
.petrocore-form-modal__backdrop { position: absolute; inset: 0; background: rgba(5, 18, 28, .56); backdrop-filter: blur(4px); }
.petrocore-form-modal__panel { position: relative; box-sizing: border-box; width: min(100%, 440px); padding: 34px 32px 30px; border-radius: 18px 0 18px 0; background: #fff; box-shadow: 0 24px 70px rgba(0, 18, 31, .28); text-align: center; }
.petrocore-form-modal__close { position: absolute; top: 12px; right: 12px; display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 0; border-radius: 50%; background: #f1f5f7; color: #263445; cursor: pointer; font-size: 1.35rem; line-height: 1; }
.petrocore-form-modal__close:hover, .petrocore-form-modal__close:focus-visible { background: #e4ebef; outline: 0; }
.petrocore-form-modal__icon { display: grid; place-items: center; width: 48px; height: 48px; margin: 0 auto 18px; border-radius: 50%; background: #e8f5ee; color: #1e7b5e; font-size: 1.35rem; font-weight: 700; }
.petrocore-form-modal.is-warning .petrocore-form-modal__icon { background: #fff2d9; color: #9a6200; }
.petrocore-form-modal.is-error .petrocore-form-modal__icon { background: #fdecea; color: #a52a1b; }
.petrocore-form-modal__panel h2 { margin: 0; color: var(--contact-ink); font-size: 1.45rem; font-weight: 500; line-height: 1.2; }
.petrocore-form-modal__panel p { margin: 12px 0 0; color: #465468; font-size: .96rem; line-height: 1.6; }

.petrocore-contact-final-cta { padding-block: clamp(72px, 9vw, 118px); background: var(--contact-navy); text-align: center; }
.petrocore-contact-final-cta p { margin: 0 0 14px; color: var(--contact-orange); font-size: .86rem; font-weight: 600 !important; }
.petrocore-contact-final-cta h2 { max-width: 650px; margin: 0 auto 28px; color: #fff; font-size: clamp(1.9rem, 3.1vw, 3.1rem); line-height: 1.12; }
.petrocore-contact-final-cta .petrocore-button { background: var(--contact-orange); color: #fff; }

@media (max-width: 900px) { .petrocore-contact-method-grid { grid-template-columns: repeat(2, 1fr); } .petrocore-contact-page .petrocore-contact-inquiry__grid { grid-template-columns: 1fr; height: auto; } .petrocore-contact-form-card { height: auto; min-height: 0; padding: 54px clamp(32px, 8vw, 72px); } .petrocore-contact-method-grid p { min-height: 0; } }
@media (max-width: 640px) { .petrocore-contact-page .petrocore-contact-hero { min-height: 360px; } .petrocore-contact-page .petrocore-contact-hero .petrocore-contact-shell { padding-left: var(--global-content-edge-padding, 1.5rem); } .petrocore-contact-method-grid { grid-template-columns: 1fr; } .petrocore-contact-map, .petrocore-contact-map iframe, .petrocore-contact-map__placeholder { min-height: 290px; height: 290px; } .petrocore-contact-form-card { padding: 48px 22px; } .petrocore-contact-page .petrocore-contact-form { grid-template-columns: 1fr; } }
