/* Contact page component. */
.pd-contact-page{padding:38px 0 var(--section-gap-lg)}
.pd-contact-shell{width:min(var(--container-max),calc(100% - (2 * var(--page-gutter))));margin:0 auto}
.pd-contact-hero{margin-top:28px;padding:clamp(42px,6vw,84px);border-radius:var(--section-radius);background:linear-gradient(135deg,#fff7fa 0%,#fdeaf1 52%,#f6eee8 100%)}
.pd-contact-hero__copy{max-width:760px}
.pd-contact-eyebrow,.pd-contact-step{display:inline-flex;color:var(--color-accent-dark);font-size:11px;font-weight:750;letter-spacing:.14em;text-transform:uppercase}
.pd-contact-hero h1{margin:0;font-size:clamp(48px,7vw,96px);font-weight:500;line-height:.92;letter-spacing:-.06em}
.pd-contact-hero p{max-width:560px;margin:22px 0 0;color:var(--color-muted);font-size:clamp(15px,1.4vw,18px);line-height:1.65}
.pd-contact-notice{margin:18px 0 0;padding:15px 18px;border-radius:14px;font-weight:650}.pd-contact-notice--success{background:#effaf3;color:#247044}.pd-contact-notice--error{background:#fff0f3;color:#a82e4c}
.pd-contact-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:22px;margin-top:22px}
.pd-contact-info,.pd-contact-form-card{min-width:0;padding:clamp(28px,4vw,48px);border:1px solid rgba(239,82,139,.16);border-radius:var(--section-radius);background:#fff;box-shadow:0 18px 48px rgba(72,37,51,.055)}
.pd-contact-info h2,.pd-contact-form-card h2{margin:10px 0 14px;font-size:clamp(34px,4vw,54px);font-weight:500;line-height:.98;letter-spacing:-.05em}
.pd-contact-info>p{max-width:560px;color:var(--color-muted);line-height:1.65}
.pd-contact-cards{display:grid;gap:10px;margin-top:26px}
.pd-contact-card{display:grid;grid-template-columns:46px minmax(0,1fr) 24px;align-items:center;gap:14px;padding:14px;border:1px solid #eee5e8;border-radius:16px;background:#fffafb;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.pd-contact-card:hover{transform:translateY(-2px);border-color:rgba(239,82,139,.38);box-shadow:0 14px 28px rgba(72,37,51,.07)}
.pd-contact-card__icon{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#fff0f6,#f7e7ef);color:var(--color-accent-dark);font-size:18px;font-weight:700}
.pd-contact-card small,.pd-contact-card strong{display:block}.pd-contact-card small{color:var(--color-muted);font-size:11px}.pd-contact-card strong{margin-top:2px;font-size:15px}.pd-contact-card__arrow{color:var(--color-accent-dark);font-size:18px}
.pd-contact-note{margin-top:22px;padding:20px;border-radius:17px;background:linear-gradient(145deg,#fff8fb,#f7edf3)}.pd-contact-note strong{display:block;margin-bottom:5px}.pd-contact-note p{margin:0;color:var(--color-muted);font-size:13px;line-height:1.55}
.pd-contact-form p{margin:0 0 16px}.pd-contact-form__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pd-contact-form label{display:block;margin:0 0 7px;font-size:12px;font-weight:700}
.pd-contact-form input,.pd-contact-form select,.pd-contact-form textarea{display:block;width:100%;min-height:54px;margin:0;padding:0 16px;border:1px solid #dfd7da;border-radius:13px;background:#fff;color:var(--color-text);font-family:var(--font-body);font-size:15px;box-shadow:none;transition:border-color .2s ease,box-shadow .2s ease}
.pd-contact-form textarea{min-height:150px;padding-top:14px;resize:vertical}.pd-contact-form input:focus,.pd-contact-form select:focus,.pd-contact-form textarea:focus{outline:0;border-color:var(--color-accent);box-shadow:0 0 0 4px rgba(239,105,150,.12)}
.pd-contact-form label.pd-contact-consent{display:flex;align-items:flex-start;gap:10px;margin:4px 0 20px;color:var(--color-muted);font-size:12px;line-height:1.5}.pd-contact-consent input{flex:0 0 auto;width:17px;height:17px;min-height:0;margin-top:1px;accent-color:var(--color-accent)}
.pd-contact-submit{display:flex;width:100%;min-height:56px;align-items:center;justify-content:center;gap:12px;border:0;border-radius:999px;background:linear-gradient(135deg,#f779a9 0%,#ed3f7d 100%);color:#fff;font-size:13px;font-weight:750;letter-spacing:.055em;text-transform:uppercase;box-shadow:0 14px 30px rgba(235,62,124,.22);transition:transform .2s ease,box-shadow .2s ease}.pd-contact-submit:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(235,62,124,.28)}
@media(max-width:991px){.pd-contact-grid{grid-template-columns:1fr}}
/* Theme-owned contact icons */
.pd-contact-card__icon svg,
.pd-contact-card__arrow svg{display:block;width:20px;height:20px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pd-contact-card__arrow{display:grid;place-items:center;width:28px;height:28px;color:var(--color-accent-dark);-webkit-text-fill-color:currentColor}
.pd-contact-card__arrow svg{width:19px;height:19px}
.pd-contact-card__icon-dot{fill:currentColor;stroke:none}

/* Mobile contact layout */
@media (max-width: 767px) {
    .pd-contact-page { padding: 16px 0 40px; }
    .pd-contact-shell { width: calc(100% - 32px); }
    .pd-contact-hero { margin-top: 0; padding: 30px 20px; border-radius: 24px; }
    .pd-contact-hero h1 { font-size: clamp(44px, 13vw, 64px); overflow-wrap: anywhere; }
    .pd-contact-hero p { margin-top: 16px; font-size: 15px; line-height: 1.55; }
    .pd-contact-grid { grid-template-columns: 1fr; gap: 16px; margin-top: 16px; }
    .pd-contact-info,
    .pd-contact-form-card { padding: 24px 20px; border-radius: 22px; }
    .pd-contact-info h2,
    .pd-contact-form-card h2 { font-size: clamp(36px, 10vw, 48px); }
    .pd-contact-card { grid-template-columns: 44px minmax(0, 1fr) 22px; gap: 12px; min-height: 74px; padding: 13px; }
    .pd-contact-card__icon { width: 44px; height: 44px; }
    .pd-contact-card__icon svg,
    .pd-contact-card__arrow svg { display: block; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
    .pd-contact-card__arrow { display: grid; place-items: center; width: 22px; height: 22px; font-size: 0; }
    .pd-contact-card strong { overflow-wrap: anywhere; word-break: break-word; }
    .pd-contact-note { margin-top: 16px; padding: 18px; }
    .pd-contact-form__row { grid-template-columns: 1fr; gap: 0; }
    .pd-contact-form input,
    .pd-contact-form select,
    .pd-contact-form textarea { min-height: 52px; font-size: 16px; }
    .pd-contact-submit { min-height: 54px; }
}
