/*
Theme Name: PennaPal
Theme URI: https://pennapal.example
Author: PennaPal
Description: The PennaPal public website. Read first. Write back. A calm, writing-led block theme with the PennaPal brand system, self-hosted fonts, page patterns and a private waitlist.
Version: 1.6.1
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pennapal
*/

/* ---------- Brand helpers (used by patterns; editable in the block editor) ---------- */
.pp-eyebrow{font-size:.78rem!important;letter-spacing:.16em;text-transform:uppercase;font-weight:500;display:flex;align-items:center;gap:.6rem;margin:0}
.pp-eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--wp--preset--color--amber);flex:0 0 7px}
.pp-eyebrow.has-text-align-center{justify-content:center}
.pp-lead{font-size:var(--wp--preset--font-size--lead);line-height:1.6}
.pp-quiet{color:var(--wp--preset--color--grey);font-size:var(--wp--preset--font-size--small)}
.has-forest-background-color .pp-quiet,.has-brown-background-color .pp-quiet,.has-slate-background-color .pp-quiet{color:inherit;opacity:.82}

/* Header */
.pp-header{position:relative;z-index:20}
.pp-lockup{display:flex;align-items:center;gap:.75rem;text-decoration:none!important;color:var(--wp--preset--color--ink)}
.pp-lockup img{width:46px;height:46px;flex:0 0 46px}
.pp-lockup .pp-name{font-family:var(--wp--preset--font-family--serif);font-size:1.7rem;line-height:1;display:block;letter-spacing:-.01em}
.pp-lockup .pp-tag{font-size:.75rem;letter-spacing:.06em;color:var(--wp--preset--color--grey);display:block;margin-top:.25rem}
.pp-header .wp-block-navigation a{text-decoration:none}
.pp-header .wp-block-navigation a:hover{text-decoration:underline;text-underline-offset:4px}

/* Steps with forest circles */
.pp-steps .pp-step{border-top:1px solid var(--wp--preset--color--ink);padding-top:1.25rem}
.pp-num{display:inline-flex!important;width:38px;height:38px;border-radius:50%;background:var(--wp--preset--color--forest);color:#fff!important;align-items:center;justify-content:center;font-family:var(--wp--preset--font-family--serif);font-size:1rem!important;margin:0 0 .75rem!important}

/* Cards */
.pp-card{background:var(--wp--preset--color--sheet);border:1px solid var(--wp--preset--color--mist);border-radius:14px}
.pp-postcard{background:var(--wp--preset--color--sheet);border-radius:6px;box-shadow:0 10px 26px rgba(33,30,28,.10);position:relative}
.pp-postcard:nth-child(1){transform:rotate(-1.2deg)}.pp-postcard:nth-child(3){transform:rotate(1deg)}
.pp-postcard .pp-stamp{position:absolute;top:14px;right:16px;width:54px!important;margin:0;transform:rotate(4deg);filter:drop-shadow(0 2px 3px rgba(0,0,0,.15))}
.pp-postcard .pp-stamp img{width:54px;height:auto}
.pp-postcard p.pp-words{font-family:var(--wp--preset--font-family--serif);font-size:1.25rem;line-height:1.55;color:var(--wp--preset--color--ink)}
.pp-stamp-big img{width:150px;height:auto;transform:rotate(4deg);filter:drop-shadow(0 6px 10px rgba(0,0,0,.25))}

/* Feeling band quote */
.pp-feeling blockquote,.pp-feeling .wp-block-quote{border:0;margin:0 auto;padding:0}
.pp-feeling .wp-block-quote p{font-size:clamp(1.8rem,4vw,2.9rem);line-height:1.25;color:#F3EDE3}

/* FAQ (core Details block) */
.pp-faq .wp-block-details{border-bottom:1px solid var(--wp--preset--color--mist);margin:0}
.pp-faq .wp-block-details summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;min-height:52px;font-size:1.05rem;font-weight:500;color:var(--wp--preset--color--ink)}
.pp-faq .wp-block-details summary::-webkit-details-marker{display:none}
.pp-faq .wp-block-details summary::after{content:"+";flex:0 0 28px;height:28px;border-radius:50%;background:var(--wp--preset--color--forest);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem;line-height:1}
.pp-faq .wp-block-details[open]{background:var(--wp--preset--color--mist);border-radius:10px;padding:0 1.1rem;margin:.4rem -1.1rem;border-bottom-color:transparent}
.pp-faq .wp-block-details[open] summary::after{content:"–"}
.pp-faq .wp-block-details > :not(summary){margin:0 0 1.1rem;max-width:680px;color:var(--wp--preset--color--body)}
.pp-faq .pp-faq-group{margin-top:3rem!important;padding-bottom:.75rem;border-bottom:1px solid var(--wp--preset--color--ink)}
summary:focus-visible,.wp-element-button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--wp--preset--color--amber);outline-offset:3px}

/* Promise list */
.pp-promise li{padding:.9rem 0;border-bottom:1px solid var(--wp--preset--color--mist);list-style:none;display:flex;gap:.9rem}
.pp-promise li::before{content:"";flex:0 0 8px;height:8px;margin-top:.6rem;border-radius:50%;background:var(--wp--preset--color--amber)}
.pp-promise{padding-left:0!important;border-top:1px solid var(--wp--preset--color--mist)}

/* Waitlist form */
.pp-waitlist{display:grid;gap:.85rem;max-width:560px;margin:0 auto;text-align:left}
.pp-waitlist label{font-size:.9rem;display:block;margin-bottom:.3rem}
.pp-waitlist input[type=email],.pp-waitlist input[type=text],.pp-waitlist select{width:100%;box-sizing:border-box;border:1px solid #C9C5BF;border-radius:10px;padding:.8rem .95rem;font:inherit;background:#fff;color:#211E1C;min-height:48px}
.pp-waitlist .pp-check{display:flex;gap:.6rem;align-items:flex-start;font-size:.9rem;line-height:1.5}
.pp-waitlist .pp-check input{margin-top:.25rem;width:18px;height:18px;flex:0 0 18px}
.pp-waitlist .pp-row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.pp-waitlist button{justify-self:start;border:0;cursor:pointer;background:var(--wp--preset--color--amber);color:#211E1C;border-radius:999px;padding:.85rem 1.6rem;font:500 1rem var(--wp--preset--font-family--sans);min-height:48px}
.pp-waitlist button:hover{background:#F0B654}
.pp-waitlist .pp-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.pp-notice{border-radius:10px;padding:.9rem 1.1rem;font-size:.95rem;max-width:560px;margin:0 auto 1rem;text-align:left}
.pp-notice.ok{background:var(--wp--preset--color--forest-tint);color:var(--wp--preset--color--forest);border:1px solid #CFDDD4}
.pp-notice.err{background:#FFF6E6;color:#211E1C;border:1px solid #E8C489}
.has-slate-background-color .pp-waitlist label,.has-slate-background-color .pp-waitlist .pp-check{color:var(--wp--preset--color--slate-text)}
@media (max-width:600px){.pp-waitlist .pp-row{grid-template-columns:1fr}}

/* Footer */
.pp-footer a{color:inherit;text-decoration:none}.pp-footer a:hover{text-decoration:underline}
.pp-footer .pp-lockup{color:var(--wp--preset--color--ink)}

/* Journal */
.wp-block-post-template .wp-block-post-title a{text-decoration:none;color:var(--wp--preset--color--ink)}

@media (max-width:781px){.pp-postcard:nth-child(n){transform:none}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Layout fixes: full-width bands sit flush together */
.wp-block-post-content > .alignfull,.wp-block-post-content > .alignfull + *,main > .wp-block-post-content{margin-block-start:0!important}
.wp-site-blocks > main,.wp-site-blocks > footer{margin-block-start:0}
.pp-card{padding-left:1.75rem!important;padding-right:1.75rem!important}
.pp-words{font-family:var(--wp--preset--font-family--serif)!important;color:var(--wp--preset--color--ink);line-height:1.5}
.pp-postcard{padding:1.5rem 1.5rem 1.25rem!important}
.pp-postcard .pp-eyebrow{padding-right:70px}
.pp-postcard p.pp-words{margin-top:1.25rem}
.has-slate-background-color a:not(.wp-element-button),.has-forest-background-color a:not(.wp-element-button),.has-brown-background-color a:not(.wp-element-button){color:#fff;text-decoration:underline}
.pp-postcard p.pp-words{margin-top:2.4rem!important}
@media (max-width:600px){.pp-header .wp-block-buttons{display:none}.pp-header .pp-tag{display:none}.pp-lockup .pp-name{font-size:1.5rem}}
/* Help pages: section headers match FAQ groups */
.pp-section-h{margin-top:3rem!important;padding-bottom:.75rem;border-bottom:1px solid var(--wp--preset--color--ink)}
.pp-help-p{line-height:1.75}
.pp-card .wp-block-list{padding-left:1.1rem;line-height:1.7}
/* Support email */
.pp-email{margin:0 0 1rem;padding-top:2.5rem}
.pp-email .pp-eyebrow{margin:0 0 .75rem}
.pp-email-btn{display:inline-block;background:var(--wp--preset--color--forest);color:#fff!important;padding:.9rem 1.6rem;border-radius:999px;text-decoration:none!important;font-weight:500;font-size:1.05rem;transition:background .2s}
.pp-email-btn:hover,.pp-email-btn:focus-visible{background:var(--wp--preset--color--forest-dark)}
.pp-email-btn:focus-visible{outline:3px solid var(--wp--preset--color--amber);outline-offset:3px}
/* A world of perspectives: text left, window right */
.pp-feeling-cols{align-items:center!important}
.pp-feeling .pp-feeling-text .wp-block-quote{margin:1.25rem 0 1.5rem;text-align:left}
.pp-feeling .pp-feeling-text .wp-block-quote p{text-align:left;font-size:clamp(2rem,4.2vw,3.2rem);line-height:1.2}
.pp-feeling .pp-feeling-text .pp-eyebrow{justify-content:flex-start}
.pp-feeling-text .pp-quiet{max-width:30rem;font-size:1.05rem;line-height:1.7}
.pp-feeling-img{margin:0 auto!important;max-width:460px}
.pp-feeling-img img{width:100%;height:auto;display:block}
@media (max-width:781px){.pp-feeling-art{order:-1}.pp-feeling-img{max-width:300px}}
