/*
 * Personal Place — institutional pages and 404 (phase 5F).
 * Shared page component: opening band (.pp-band, in personal-place.css) + readable content column (.pp-prose) +
 * optional aside and shop call to action. Content comes from the WordPress editor, so the rules target the usual
 * block markup (headings, paragraphs, lists, image, columns, buttons) and the base contact form.
 */

/* Opening band: long page titles */
body.pp-institutional .pp-band-title.is-long{font-size:72px}

/* Body */
body.pp-institutional .pp-page-body{padding-block:64px 100px}
body.pp-institutional .pp-page-body.has-aside{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;align-items:start}

/* Readable content column */
.pp-prose{max-width:780px;color:var(--pp-text);font-size:17px;line-height:1.75}
.pp-prose > :first-child{margin-top:0}
.pp-prose > p:first-child{color:var(--pp-navy);font-size:21px;line-height:1.55}
.pp-prose p{margin:0 0 20px}
.pp-prose h2{margin:56px 0 18px;color:var(--pp-navy);font:700 44px/.95 var(--pp-font-display);text-transform:uppercase}
.pp-prose h3{margin:34px 0 10px;color:var(--pp-navy);font:700 26px/1.05 var(--pp-font-display);text-transform:uppercase}
.pp-prose h4{margin:26px 0 8px;color:var(--pp-navy);font-size:17px;font-weight:700}
.pp-prose a{color:var(--pp-navy);font-weight:600;text-decoration:underline;text-decoration-color:var(--pp-orange);text-decoration-thickness:2px;text-underline-offset:4px}
.pp-prose a:hover{color:var(--pp-orange)}
.pp-prose ul,.pp-prose ol{margin:0 0 22px;padding-left:22px}
.pp-prose li{margin:8px 0}
.pp-prose ul li::marker{color:var(--pp-orange)}
.pp-prose strong{color:var(--pp-navy)}
.pp-prose blockquote{margin:28px 0;padding:6px 0 6px 22px;border-left:3px solid var(--pp-orange);color:var(--pp-navy);font-size:20px}
.pp-prose hr{margin:44px 0;border:0;border-top:1px solid var(--pp-border)}
.pp-prose figure{margin:40px 0}
.pp-prose img{display:block;max-width:100%;height:auto}
.pp-prose .wp-block-image img{width:100%;object-fit:cover}
/* Quem somos reuses the Home photo, whose lower band is reserved for the Home's stat overlay: show the upper part. */
.pp-page--quem-somos .pp-prose .wp-block-image img{aspect-ratio:16/9;object-position:50% 18%}
.pp-prose figcaption{margin-top:10px;color:var(--pp-muted);font-size:13px}
.pp-prose .wp-block-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:28px 0 36px}
.pp-prose .wp-block-column{padding:26px 24px;background:var(--pp-white)}
.pp-prose .wp-block-column > :first-child{margin-top:0}
.pp-prose .wp-block-column > :last-child{margin-bottom:0}
.pp-prose .wp-block-column h3{margin:0 0 10px;font-size:24px}
.pp-prose .wp-block-column p{font-size:15.5px;line-height:1.6}
.pp-prose .wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}
.pp-prose .wp-block-button__link{display:inline-flex;align-items:center;min-height:54px;padding:0 26px;border-radius:0;background:var(--pp-orange);color:var(--pp-white);font:700 13px/1 var(--pp-font-body);letter-spacing:.08em;text-decoration:none;text-transform:uppercase}
.pp-prose .wp-block-button__link:hover{background:var(--pp-orange-strong);color:var(--pp-white)}
/* WordPress' privacy-policy guide marks its suggestions; they stay readable but clearly secondary. */
.pp-prose .privacy-policy-tutorial{color:var(--pp-muted);font-weight:600}

/* Contact form ([navi_contact_form], inc/institutional.php) */
.pp-prose .ds-contact-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:8px;padding:32px;border:0;border-radius:0;background:var(--pp-white);box-shadow:none}
.pp-prose .ds-contact-field{gap:7px}
.pp-prose .ds-contact-field label{color:var(--pp-navy);font-size:13px;font-weight:700;line-height:1.35}
.pp-prose .ds-contact-field label span{color:var(--pp-orange)}
.pp-prose .ds-contact-field input,.pp-prose .ds-contact-field textarea{min-height:52px;padding:12px 15px;border:1.5px solid var(--pp-border);border-radius:0;color:var(--pp-navy);font:500 15px/1.4 var(--pp-font-body)}
.pp-prose .ds-contact-field textarea{min-height:160px;resize:vertical}
.pp-prose .ds-contact-field input:focus,.pp-prose .ds-contact-field textarea:focus{outline:0;border-color:var(--pp-navy);box-shadow:0 0 0 3px rgba(255,90,30,.22)}
.pp-prose .ds-contact-form button{min-height:58px;padding:0 30px;border-radius:0;background:var(--pp-orange);color:var(--pp-white);font:700 13px/1 var(--pp-font-body);letter-spacing:.08em;text-transform:uppercase;transition:background .2s}
.pp-prose .ds-contact-form button:hover{background:var(--pp-orange-strong)}
.pp-prose .ds-contact-feedback{margin:0 0 20px;padding:16px 20px;border:0;border-left:3px solid var(--pp-navy);border-radius:0;background:var(--pp-white);color:var(--pp-text);font-size:15px;font-weight:600}
.pp-prose .ds-contact-feedback.is-error{border-left-color:var(--pp-orange)}

/* Aside (contact channels configured in the Customizer) */
.pp-page-aside{padding:30px 28px;background:var(--pp-navy);color:var(--pp-white)}
.pp-page-aside h2{margin:0 0 20px;color:var(--pp-white);font:700 30px/.95 var(--pp-font-display);text-transform:uppercase}
.pp-page-aside dl{display:grid;gap:18px;margin:0}
.pp-page-aside dt{margin:0 0 4px;color:var(--pp-orange);font:700 11px/1.2 var(--pp-font-body);letter-spacing:.08em;text-transform:uppercase}
.pp-page-aside dd{margin:0;color:rgba(255,255,255,.9);font-size:15px;line-height:1.55;overflow-wrap:anywhere}
.pp-page-aside a{color:var(--pp-white);font-weight:600;text-decoration:underline;text-decoration-color:var(--pp-orange);text-underline-offset:3px}

/* Call to action band (orange, as on the product page) */
.pp-page-cta{padding-block:72px 80px;background:var(--pp-orange);color:var(--pp-white)}
.pp-page-cta .pp-eyebrow{color:var(--pp-white)}
.pp-page-cta .pp-title{--pp-title:72px;color:var(--pp-white)}
.pp-page-cta .pp-title span{display:inline;color:var(--pp-navy)}
.pp-page-cta-button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;min-width:270px;min-height:58px;margin-top:32px;padding:0 20px 0 26px;background:var(--pp-navy);color:var(--pp-white);font:700 13px/1 var(--pp-font-body);letter-spacing:.08em;text-transform:uppercase;transition:background .2s}
.pp-page-cta-button:hover{background:var(--pp-navy-dark);color:var(--pp-white)}
.pp-page-cta-button .pp-icon{font-size:18px}

/* 404 */
body.pp-404 .pp-band{padding:64px 0 88px}
.pp-404-code{display:block;margin:0 0 26px;color:var(--pp-orange);font:800 160px/.8 var(--pp-font-display);letter-spacing:-.02em}
.pp-404-page .pp-band-title span{display:block}
.pp-404-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.pp-404-actions .pp-button{gap:28px}
.pp-404-secondary{display:inline-flex;align-items:center;min-height:57px;padding:0 24px;border:1.5px solid rgba(255,255,255,.7);color:var(--pp-white);font:700 13.5px/1 var(--pp-font-body);letter-spacing:.07em;text-transform:uppercase;transition:background .2s,border-color .2s}
.pp-404-secondary:hover{border-color:var(--pp-white);background:rgba(255,255,255,.08);color:var(--pp-white)}
body.pp-404 .pp-404-page{padding-bottom:88px}

@media (max-width:1199px){
  body.pp-institutional .pp-band-title.is-long{font-size:60px}
  body.pp-institutional .pp-page-body.has-aside{grid-template-columns:minmax(0,1fr);gap:32px}
  .pp-page-cta .pp-title{--pp-title:60px}
}
@media (max-width:767px){
  body.pp-institutional .pp-band-title.is-long{font-size:clamp(38px,11vw,46px)}
  body.pp-institutional .pp-page-body{padding-block:36px 64px}
  .pp-prose{font-size:16px}
  .pp-prose > p:first-child{font-size:18px}
  .pp-prose h2{margin-top:40px;font-size:34px}
  .pp-prose h3{font-size:22px}
  .pp-prose .ds-contact-form{grid-template-columns:minmax(0,1fr);padding:22px 18px}
  .pp-prose .ds-contact-form button{width:100%}
  .pp-page-cta{padding-block:52px 60px}
  .pp-page-cta .pp-title{--pp-title:44px}
  .pp-page-cta-button{width:100%}
  body.pp-404 .pp-band{padding:44px 0 60px}
  .pp-404-code{margin-bottom:18px;font-size:110px}
  .pp-404-actions a{width:100%;justify-content:space-between}
  body.pp-404 .pp-404-page{padding-bottom:48px}
}
