/* Page Title Message Notify - front-end UI
 * Scoped to .ptmn-* and split by style-section classes so each section can be
 * switched off in admin to inherit theme/page styling.
 */

.ptmn-wrap,
.ptmn-wrap * {
  box-sizing: border-box !important;
  list-style: none !important;
}

.ptmn-wrap::before,
.ptmn-wrap::after,
.ptmn-form::before,
.ptmn-form::after,
.ptmn-field::before,
.ptmn-field::after,
.ptmn-field label::before,
.ptmn-field label::after,
.ptmn-card::marker,
.ptmn-field::marker,
.ptmn-form::marker,
.ptmn-wrap::marker {
  content: none !important;
  display: none !important;
}

.ptmn-wrap {
  --ptmn-card-radius: 18px;
  --ptmn-shadow-card: 0 18px 42px rgba(20, 31, 45, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.72);
  --ptmn-shadow-field: 0 8px 18px rgba(20, 31, 45, 0.055);
  --ptmn-border: rgba(20, 31, 45, 0.12);
  --ptmn-field-border: rgba(20, 31, 45, 0.19);
  --ptmn-field-border-focus: rgba(30, 115, 190, 0.62);
  --ptmn-field-bg: rgba(255, 255, 255, 0.96);
  --ptmn-field-bg-focus: #ffffff;
  --ptmn-muted: rgba(23, 32, 44, 0.72);
  color: inherit;
  isolation: isolate;
}


.ptmn-form.ptmn-form--hidden,
.ptmn-form[hidden] {
  display: none !important;
}

/* Layout / spacing section */
.ptmn-wrap.ptmn-style-layout {
  display: block !important;
  width: min(100%, var(--ptmn-form-max-width, 100%)) !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

@supports selector(:has(*)) {
  :where(.wp-block-shortcode, .wp-block-html, .wp-block-group, .entry-content > p, .entry-content > div):has(.ptmn-wrap.ptmn-style-layout) {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
}

.ptmn-host-block,
.ptmn-host-block.wp-block-shortcode,
.ptmn-host-block.wp-block-html,
.ptmn-host-block.wp-block-group {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.ptmn-wrap.ptmn-style-layout .ptmn-form {
  display: grid !important;
  width: 100% !important;
  max-width: 100% !important;
  gap: var(--ptmn-form-gap, 10px) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.ptmn-wrap.ptmn-style-layout .ptmn-field {
  display: grid !important;
  gap: 5px !important;
  width: 100% !important;
  max-width: 100% !important;
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.ptmn-wrap.ptmn-style-layout .ptmn-field-email {
  width: min(100%, 390px) !important;
  max-width: 390px !important;
  justify-self: start !important;
  align-self: start !important;
}

.ptmn-wrap.ptmn-style-layout .ptmn-field-message {
  width: 100% !important;
  max-width: 100% !important;
  justify-self: stretch !important;
}

.ptmn-wrap.ptmn-style-layout .ptmn-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Label section: no decorative bullets/dots. */
.ptmn-wrap.ptmn-style-labels .ptmn-field label,
.ptmn-wrap.ptmn-style-labels .ptmn-consent label {
  color: inherit !important;
}

.ptmn-wrap.ptmn-style-labels .ptmn-field label {
  display: inline-flex !important;
  width: fit-content !important;
  max-width: 100% !important;
  align-items: center !important;
  gap: 0 !important;
  font-size: var(--ptmn-label-font-size, 14px) !important;
  line-height: 1.2 !important;
  font-weight: 750 !important;
  margin: 0 !important;
}

/* Email field section */
.ptmn-wrap.ptmn-style-email input[name="ptmn_email"] {
  display: block !important;
  width: 100% !important;
  max-width: 390px !important;
  box-sizing: border-box !important;
  border: 1px solid var(--ptmn-field-border) !important;
  border-radius: var(--ptmn-field-radius, 10px) !important;
  padding: 10px 13px !important;
  background: var(--ptmn-field-bg) !important;
  color: #17202c !important;
  font-family: inherit !important;
  font-size: var(--ptmn-email-font-size, 15px) !important;
  line-height: 1.45 !important;
  box-shadow: var(--ptmn-shadow-field), inset 0 1px 0 rgba(255, 255, 255, 0.84) !important;
  transform: none !important;
  transition: none !important;
}

.ptmn-wrap.ptmn-style-email input[name="ptmn_email"]::placeholder {
  color: rgba(23, 32, 44, 0.48) !important;
}

.ptmn-wrap.ptmn-style-email input[name="ptmn_email"]:focus {
  outline: 2px solid rgba(30, 115, 190, 0.22) !important;
  outline-offset: 2px !important;
  border-color: var(--ptmn-field-border-focus) !important;
  background: var(--ptmn-field-bg-focus) !important;
  box-shadow: var(--ptmn-shadow-field), inset 0 1px 0 rgba(255, 255, 255, 0.95) !important;
  transform: none !important;
}

/* Message field section */
.ptmn-wrap.ptmn-style-message textarea[name="ptmn_message"] {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  box-sizing: border-box !important;
  height: var(--ptmn-textarea-height, 105px) !important;
  min-height: var(--ptmn-textarea-height, 105px) !important;
  border: 1px solid var(--ptmn-field-border) !important;
  border-radius: var(--ptmn-field-radius, 10px) !important;
  padding: 10px 13px !important;
  background: var(--ptmn-field-bg) !important;
  color: #17202c !important;
  font-family: inherit !important;
  font-size: var(--ptmn-message-font-size, 15px) !important;
  line-height: 1.4 !important;
  resize: vertical !important;
  box-shadow: var(--ptmn-shadow-field), inset 0 1px 0 rgba(255, 255, 255, 0.84) !important;
  transform: none !important;
  transition: none !important;
}

.ptmn-wrap.ptmn-style-message textarea[name="ptmn_message"]::placeholder {
  color: rgba(23, 32, 44, 0.48) !important;
}

.ptmn-wrap.ptmn-style-message textarea[name="ptmn_message"]:focus {
  outline: 2px solid rgba(30, 115, 190, 0.22) !important;
  outline-offset: 2px !important;
  border-color: var(--ptmn-field-border-focus) !important;
  background: var(--ptmn-field-bg-focus) !important;
  box-shadow: var(--ptmn-shadow-field), inset 0 1px 0 rgba(255, 255, 255, 0.95) !important;
  transform: none !important;
}

.ptmn-wrap.ptmn-style-layout .ptmn-field input[type="text"].ptmn-narrow-input,
.ptmn-wrap.ptmn-style-layout .ptmn-field-challenge input[type="text"] {
  width: min(100%, 180px) !important;
  max-width: 180px !important;
  min-width: 0 !important;
}

.ptmn-consent {
  width: fit-content !important;
  max-width: 100% !important;
  color: var(--ptmn-muted) !important;
}

.ptmn-wrap.ptmn-style-layout .ptmn-consent label {
  display: flex !important;
  gap: 10px !important;
  align-items: flex-start !important;
  font-weight: 520 !important;
  padding: 12px 14px !important;
  border: 1px solid rgba(20, 31, 45, 0.1) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, 0.56) !important;
  box-shadow: 0 10px 24px rgba(20, 31, 45, 0.06) !important;
}

.ptmn-consent input {
  margin-top: 0.2em !important;
}

/* Button section */
.ptmn-wrap.ptmn-style-button .ptmn-submit {
  appearance: none !important;
  -webkit-appearance: none !important;
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  width: auto !important;
  min-width: 150px !important;
  max-width: 100% !important;
  border-width: var(--ptmn-button-border-width, 1px) !important;
  border-style: var(--ptmn-button-border-style, solid) !important;
  border-color: var(--ptmn-button-border-color, #000000) !important;
  border-radius: var(--ptmn-button-radius, 10px) !important;
  padding: var(--ptmn-button-padding-y, 12px) var(--ptmn-button-padding-x, 22px) !important;
  background: var(--ptmn-button-bg, #637b96) !important;
  color: var(--ptmn-button-text-color, #ffffff) !important;
  font-size: var(--ptmn-button-font-size, 15px) !important;
  font-weight: var(--ptmn-button-font-weight, 700) !important;
  text-transform: var(--ptmn-button-text-transform, none) !important;
  letter-spacing: var(--ptmn-button-letter-spacing, 0) !important;
  line-height: 1.15 !important;
  cursor: pointer !important;
  text-decoration: none !important;
  overflow: hidden !important;
  box-shadow: 0 12px 24px rgba(20, 31, 45, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.22) !important;
  transition: background-color 140ms ease, box-shadow 140ms ease, opacity 140ms ease, filter 140ms ease !important;
}

.ptmn-wrap.ptmn-style-button .ptmn-submit::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0)) !important;
  opacity: 0.9 !important;
}

.ptmn-wrap.ptmn-style-button .ptmn-submit:hover,
.ptmn-wrap.ptmn-style-button .ptmn-submit:focus {
  background: var(--ptmn-button-hover-bg, #1e73be) !important;
  color: var(--ptmn-button-text-color, #ffffff) !important;
  transform: none !important;
  box-shadow: 0 14px 28px rgba(20, 31, 45, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.26) !important;
}

.ptmn-wrap.ptmn-style-button .ptmn-submit:focus-visible {
  outline: 3px solid rgba(30, 115, 190, 0.25) !important;
  outline-offset: 3px !important;
}

.ptmn-submit:disabled {
  cursor: wait !important;
  opacity: 0.72 !important;
  transform: none !important;
  filter: saturate(0.75) !important;
}

/* Notice/message-card section */
.ptmn-notice-area {
  display: grid !important;
  gap: var(--ptmn-form-gap, 10px) !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.ptmn-wrap.ptmn-style-layout .ptmn-notice-area--after-form:not(:empty),
.ptmn-wrap.ptmn-style-layout noscript .ptmn-card--after-form {
  margin-top: var(--ptmn-form-gap, 10px) !important;
}

.ptmn-wrap.ptmn-style-cards .ptmn-card {
  position: relative !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 13px !important;
  width: fit-content !important;
  width: -moz-fit-content !important;
  max-width: min(100%, var(--ptmn-form-max-width, 100%)) !important;
  margin: 0 !important;
  padding: 15px 18px !important;
  border: 1px solid var(--ptmn-border) !important;
  border-radius: var(--ptmn-card-radius, 18px) !important;
  box-shadow: var(--ptmn-shadow-card) !important;
  font-size: var(--ptmn-notice-font-size, 15px) !important;
  line-height: 1.45 !important;
  overflow: hidden !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  isolation: isolate !important;
}

.ptmn-wrap.ptmn-style-cards .ptmn-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 0 auto !important;
  height: 52% !important;
  pointer-events: none !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.58), rgba(255, 255, 255, 0)) !important;
  z-index: 0 !important;
}

.ptmn-wrap.ptmn-style-cards .ptmn-card::after {
  content: "" !important;
  position: absolute !important;
  inset: -40% auto auto -18% !important;
  width: 120px !important;
  height: 120px !important;
  border-radius: 999px !important;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0)) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

.ptmn-wrap.ptmn-style-cards .ptmn-card--info {
  color: #182534 !important;
  background: linear-gradient(135deg, rgba(247, 250, 255, 0.98) 0%, rgba(233, 241, 250, 0.97) 52%, rgba(219, 231, 244, 0.97) 100%) !important;
}

.ptmn-wrap.ptmn-style-cards .ptmn-card--success {
  color: #10391f !important;
  background: linear-gradient(135deg, rgba(244, 255, 248, 0.98) 0%, rgba(229, 255, 239, 0.97) 54%, rgba(210, 247, 223, 0.97) 100%) !important;
}

.ptmn-wrap.ptmn-style-cards .ptmn-card--warning {
  color: #412609 !important;
  background: linear-gradient(135deg, #fffaf0 0%, #fff4d6 52%, #ffe8a3 100%) !important;
}

.ptmn-wrap.ptmn-style-cards .ptmn-card--error {
  color: #471515 !important;
  background: linear-gradient(135deg, rgba(255, 247, 247, 0.98) 0%, rgba(255, 232, 232, 0.97) 55%, rgba(255, 215, 215, 0.97) 100%) !important;
}

.ptmn-wrap.ptmn-style-cards .ptmn-card-icon {
  position: relative !important;
  z-index: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 30px !important;
  width: 30px !important;
  height: 30px !important;
  margin-top: -1px !important;
  border-radius: 12px !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  color: #ffffff !important;
  box-shadow: 0 9px 18px rgba(20, 31, 45, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.42) !important;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.22) !important;
}

.ptmn-wrap.ptmn-style-cards .ptmn-card-icon::before {
  display: block !important;
}

.ptmn-wrap.ptmn-style-cards .ptmn-card--info .ptmn-card-icon {
  background: linear-gradient(135deg, #637b96, #1e73be) !important;
}

.ptmn-wrap.ptmn-style-cards .ptmn-card--info .ptmn-card-icon::before {
  content: "i" !important;
  font-family: Georgia, serif !important;
  font-style: italic !important;
}

.ptmn-wrap.ptmn-style-cards .ptmn-card--success .ptmn-card-icon {
  background: linear-gradient(135deg, #2d9a55, #0b6b3c) !important;
}

.ptmn-wrap.ptmn-style-cards .ptmn-card--success .ptmn-card-icon::before {
  content: "✓" !important;
}

.ptmn-wrap.ptmn-style-cards .ptmn-card--warning .ptmn-card-icon {
  background: linear-gradient(135deg, #e0a327, #a45d09) !important;
}

.ptmn-wrap.ptmn-style-cards .ptmn-card--warning .ptmn-card-icon::before {
  content: "!" !important;
}

.ptmn-wrap.ptmn-style-cards .ptmn-card--error .ptmn-card-icon {
  background: linear-gradient(135deg, #d94d4d, #8a1e1e) !important;
}

.ptmn-wrap.ptmn-style-cards .ptmn-card--error .ptmn-card-icon::before {
  content: "×" !important;
}

.ptmn-wrap.ptmn-style-cards .ptmn-card-content {
  position: relative !important;
  z-index: 1 !important;
  min-width: 0 !important;
}

.ptmn-wrap.ptmn-style-cards .ptmn-card-content p:first-child {
  margin-top: 0 !important;
}

.ptmn-wrap.ptmn-style-cards .ptmn-card-content p:last-child {
  margin-bottom: 0 !important;
}

.ptmn-wrap.ptmn-style-cards .ptmn-card-content a {
  color: inherit !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

.ptmn-wrap.ptmn-style-cards .ptmn-form-intro,
.ptmn-wrap.ptmn-style-cards .ptmn-form-footer-note {
  line-height: 1.55 !important;
}

.ptmn-wrap.ptmn-style-cards .ptmn-form-footer-note {
  margin-top: var(--ptmn-form-gap, 10px) !important;
  font-size: var(--ptmn-notice-font-size, 15px) !important;
}

/* Security trap stays hidden even if other sections inherit the theme. */
.ptmn-hp,
.ptmn-hp[hidden],
.ptmn-hp input,
input[name="ptmn_company"] {
  display: none !important;
  visibility: hidden !important;
  position: absolute !important;
  left: -99999px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  min-width: 1px !important;
  min-height: 1px !important;
  max-width: 1px !important;
  max-height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.ptmn-turnstile {
  margin: 4px 0 !important;
}

@media (max-width: 640px) {
  .ptmn-wrap.ptmn-style-layout .ptmn-field-email,
  .ptmn-wrap.ptmn-style-layout .ptmn-field-email input[name="ptmn_email"],
  .ptmn-wrap.ptmn-style-layout .ptmn-field input[type="text"].ptmn-narrow-input,
  .ptmn-wrap.ptmn-style-layout .ptmn-field-challenge input[type="text"] {
    width: 100% !important;
    max-width: 100% !important;
  }

  .ptmn-wrap.ptmn-style-layout .ptmn-actions,
  .ptmn-wrap.ptmn-style-button .ptmn-submit {
    width: 100% !important;
  }

  .ptmn-wrap.ptmn-style-cards .ptmn-card {
    width: auto !important;
    max-width: 100% !important;
  }
}
