/* MoMo's Gallery — public styles. Fredoka headings / Nunito body (loaded by the theme). */
.cphg-wrap{max-width:1160px;margin:0 auto;padding:0 30px;}
.cphg-page main{display:block;}
.cphg-bob{animation:cphgBob 3.6s ease-in-out infinite;}
@keyframes cphgBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes cphgPop{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
@keyframes cphgFade{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.cphg-bob{animation:none}}

/* Share button */
.cphg-open-btn{display:inline-flex;align-items:center;gap:9px;background:#E835AC;color:#fff;border:none;cursor:pointer;font-family:'Fredoka',sans-serif;font-weight:600;font-size:16px;padding:14px 24px;border-radius:15px;box-shadow:0 10px 24px rgba(232,53,172,.26);transition:transform .12s,background .15s;}
.cphg-open-btn:hover{transform:translateY(-2px);background:#D11E96;}
.cphg-soon{display:inline-flex;align-items:center;gap:7px;background:#FBF1F7;border:1px solid #F3E0EC;color:#C9197A;font-family:'Fredoka',sans-serif;font-weight:600;font-size:15px;padding:12px 20px;border-radius:14px;}

/* ── Hero ── */
.cphg-hero{padding:44px 30px 40px;border-bottom:1px solid #F2EAE4;}
.cphg-hero-grid{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;}
.cphg-eyebrow{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #F3E0EC;border-radius:999px;padding:6px 14px;font-weight:800;font-size:12px;letter-spacing:1.6px;text-transform:uppercase;color:#C9197A;margin-bottom:18px;}
.cphg-eyebrow .dot{width:8px;height:8px;border-radius:50%;background:#E835AC;}
.cphg-h1{font-family:'Fredoka',sans-serif;font-weight:600;font-size:clamp(34px,5vw,54px);line-height:1.02;letter-spacing:-1.6px;color:#23232E;margin:0 0 16px;}
.cphg-lead{font-size:clamp(16px,2.2vw,19px);line-height:1.6;color:#5E5560;margin:0 0 24px;max-width:480px;}
.cphg-hero-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-bottom:24px;}
.cphg-hero-sub{font-size:14px;font-weight:700;color:#8A8088;}
.cphg-hero-sub:hover{color:#E835AC;}
.cphg-trust{display:flex;gap:10px;flex-wrap:wrap;}
.cphg-trust>span{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid #EEE4EC;border-radius:12px;padding:8px 11px;font-size:12px;font-weight:800;color:#3A3543;white-space:nowrap;}
.cphg-trust .ti{flex:none;width:22px;height:22px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:12px;}
.cphg-host{display:flex;justify-content:center;}
.cphg-host-frame{border-radius:34px;padding:6px;box-shadow:0 22px 50px rgba(232,53,172,.2);max-width:360px;width:100%;}
.cphg-host-inner{background:#fff;border-radius:29px;padding:26px 28px 24px;text-align:center;}
.cphg-host-inner img{display:block;margin:0 auto 6px;height:auto;}
.cphg-host-say{font-family:'Fredoka',sans-serif;font-weight:600;font-size:20px;color:#23232E;}
.cphg-host-note{font-size:14px;line-height:1.5;color:#7A7480;margin:8px 0 0;}

/* ── How it works + numbered steps ── */
.cphg-how{padding:46px 30px 6px;}
.cphg-how-head{text-align:center;max-width:700px;margin:0 auto 32px;}
.cphg-how-head h2{font-family:'Fredoka',sans-serif;font-weight:600;font-size:clamp(26px,4vw,34px);line-height:1.06;letter-spacing:-0.8px;color:#23232E;margin:0 0 14px;}
.cphg-how-head p{font-size:16px;line-height:1.65;color:#6A6573;margin:0;}
.cphg-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.cphg-step{background:#fff;border:1px solid #F0E6EE;border-radius:20px;padding:26px 24px;box-shadow:0 10px 30px rgba(60,20,50,.05);}
.cphg-step-n{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;font-family:'Fredoka',sans-serif;font-weight:600;font-size:20px;color:#fff;margin:0 0 15px;}
.cphg-step h3{font-family:'Fredoka',sans-serif;font-weight:600;font-size:19px;line-height:1.15;letter-spacing:-0.3px;color:#23232E;margin:0 0 8px;}
.cphg-step p{font-size:14.5px;line-height:1.6;color:#6A6573;margin:0;}

/* ── Featured spotlight — MoMo's pick (2 columns: pick card + supporting rail) ── */
.cphg-spot-sec{padding:44px 30px 8px;}
.cphg-spot-head{display:flex;align-items:baseline;gap:10px;margin:0 0 18px;flex-wrap:wrap;}
.cphg-spot-h{font-family:'Fredoka',sans-serif;font-weight:600;font-size:22px;color:#23232E;letter-spacing:-0.5px;}
.cphg-spot-note{font-size:13px;font-weight:700;color:#A79FA6;}
.cphg-pick{display:grid;grid-template-columns:minmax(0,1.4fr) .82fr;gap:40px;align-items:stretch;}
.cphg-pk-card{display:block;text-decoration:none;background:#fff;border:1px solid #F0E6EE;border-radius:26px;box-shadow:0 16px 40px rgba(60,20,50,.08);padding:22px;transition:transform .18s,box-shadow .18s;}
.cphg-pk-card:hover{transform:translateY(-3px);box-shadow:0 22px 48px rgba(60,20,50,.12);}
.cphg-pk-in{display:grid;grid-template-columns:250px 1fr;gap:26px;}
.cphg-pk-imgwrap{position:relative;}
.cphg-pk-img{position:relative;aspect-ratio:210/297;border-radius:16px;overflow:hidden;border:1px solid #F3E0EC;}   /* A4 portrait, matches the uploads */
.cphg-pk-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.cphg-pick-badge{position:absolute;top:16px;left:16px;display:inline-flex;align-items:center;gap:6px;background:#E835AC;color:#fff;border-radius:999px;padding:6px 13px;font-family:'Fredoka',sans-serif;font-weight:600;font-size:13px;box-shadow:0 6px 16px rgba(40,20,40,.2);}
.cphg-pick-badge.sm{top:11px;left:11px;padding:4px 10px;font-size:11px;}
.cphg-pk-txt{display:flex;flex-direction:column;justify-content:center;padding:4px;}
.cphg-pk-eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:#C9197A;margin-bottom:12px;}
.cphg-pk-eyebrow i{width:8px;height:8px;border-radius:50%;background:#E835AC;font-style:normal;}
.cphg-pk-title{font-family:'Fredoka',sans-serif;font-weight:600;font-size:28px;line-height:1.08;letter-spacing:-0.7px;color:#23232E;margin:0 0 14px;}
.cphg-pk-note{font-size:15.5px;line-height:1.6;color:#6A6573;margin:0 0 20px;}
.cphg-pk-by{display:flex;align-items:center;gap:12px;padding-top:18px;border-top:1px solid #F2EAEF;font-size:14px;line-height:1.45;color:#7A7480;}
.cphg-pk-by img{flex:none;}
.cphg-pk-rail{display:flex;flex-direction:column;justify-content:center;gap:22px;padding:4px 2px;}
.cphg-pk-rail-eyebrow{display:inline-block;font-weight:800;font-size:12px;letter-spacing:2px;color:#C9197A;text-transform:uppercase;margin-bottom:10px;}
.cphg-pk-rail h3{font-family:'Fredoka',sans-serif;font-weight:600;font-size:22px;line-height:1.15;letter-spacing:-0.5px;color:#23232E;margin:0 0 10px;}
.cphg-pk-rail p{font-size:15px;line-height:1.65;color:#6A6573;margin:0;}
.cphg-pk-checks{display:flex;flex-direction:column;gap:12px;}
.cphg-pk-check{display:flex;align-items:flex-start;gap:11px;font-size:14.5px;line-height:1.45;color:#5A5560;}
.cphg-pk-check svg{flex:none;margin-top:1px;}
.cphg-pk-rail .cphg-open-btn,.cphg-pk-rail .cphg-soon{align-self:flex-start;}   /* shrink CTA to its text, not the full column width */

/* ── Before you share (reassurance block near a share CTA) ── */
.cphg-before{padding:52px 30px 12px;}
.cphg-before-box{max-width:760px;margin:0 auto;background:#fff;border:1px solid #F0E6EE;border-radius:24px;box-shadow:0 14px 38px rgba(60,20,50,.06);padding:34px 34px 30px;}
.cphg-before-box h2{font-family:'Fredoka',sans-serif;font-weight:600;font-size:26px;line-height:1.1;letter-spacing:-0.6px;color:#23232E;margin:0 0 8px;text-align:center;}
.cphg-before-lead{font-size:15.5px;line-height:1.6;color:#6A6573;margin:0 auto 22px;text-align:center;max-width:580px;}
.cphg-before-list{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:13px;}
.cphg-before-list li{display:flex;align-items:flex-start;gap:12px;font-size:15px;line-height:1.5;color:#5A5560;}
.cphg-before-list svg{flex:none;margin-top:2px;}
.cphg-before-cta{text-align:center;}

/* ── Gentle closing line ── */
.cphg-closing{padding:16px 30px 62px;}
.cphg-closing-in{max-width:640px;margin:0 auto;text-align:center;}
.cphg-closing-in img{display:block;margin:0 auto 14px;}
.cphg-closing-in p{font-size:16px;line-height:1.7;color:#6A6573;margin:0;}

/* ── Wall ── */
.cphg-wall-sec{padding:34px 30px 40px;}
.cphg-wall-head h2{font-family:'Fredoka',sans-serif;font-weight:600;font-size:clamp(24px,3.4vw,32px);line-height:1.05;letter-spacing:-0.7px;color:#23232E;margin:0 0 6px;}
.cphg-wall-head p{font-size:15px;color:#7A7480;margin:0 0 20px;}
.cphg-wall{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.cphg-card{background:#fff;border:1px solid #EEE7E1;border-radius:20px;overflow:hidden;box-shadow:0 8px 22px rgba(40,20,40,.05);animation:cphgPop .35s ease;transition:transform .18s,box-shadow .18s;}
.cphg-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(40,20,40,.1);}
.cphg-card-img{position:relative;aspect-ratio:210/297;overflow:hidden;}
.cphg-card-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.cphg-card-foot{padding:12px 14px 13px;display:flex;align-items:center;justify-content:space-between;gap:8px;}
.cphg-card-page{font-size:12.5px;font-weight:800;color:#5A5560;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cphg-card-by{font-size:12.5px;font-weight:700;color:#A79FA6;flex:none;}
/* Server-side pager (numbered pages + prev/next), matches the gallery's soft card aesthetic */
.cphg-pager{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:34px 0 4px;}
.cphg-pager a,.cphg-pager span.is-current{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 13px;border-radius:13px;border:1.5px solid #EAE0E6;background:transparent;font-family:'Fredoka',sans-serif;font-weight:600;font-size:15px;color:#5A5560;text-decoration:none;transition:border-color .14s,color .14s,transform .12s;}
.cphg-pager a:hover{border-color:#E835AC;color:#E835AC;transform:translateY(-2px);}
.cphg-pager .is-current{background:#E835AC;border-color:#E835AC;color:#fff;}
.cphg-pager .cphg-pager-gap{display:inline-flex;align-items:flex-end;padding:0 2px 6px;color:#B4ACBA;font-weight:800;}

/* ── Empty state ── */
.cphg-empty{background:#fff;border:2px dashed #F0D9E8;border-radius:28px;padding:52px 30px;text-align:center;animation:cphgFade .4s ease;}
.cphg-empty img{display:block;margin:0 auto 14px;height:auto;}
.cphg-empty h3{font-family:'Fredoka',sans-serif;font-weight:600;font-size:26px;line-height:1.1;letter-spacing:-0.5px;color:#23232E;margin:0 0 10px;}
.cphg-empty p{font-size:16px;line-height:1.6;color:#6A6573;margin:0 auto 22px;max-width:440px;}
.cphg-empty-ghosts{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:26px;}
.cphg-empty-ghosts span{width:76px;height:92px;border-radius:14px;border:1px solid #F1E7EE;display:flex;align-items:center;justify-content:center;opacity:.7;}

/* ── Per-page strip (on the product page) ── */
.cphg-strip{margin:26px 0 0;background:#FBF8F4;border:1px solid #EFE7E0;border-radius:18px;padding:18px 20px 20px;}
.cphg-strip-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;}
.cphg-strip-title{display:flex;align-items:center;gap:9px;font-family:'Fredoka',sans-serif;font-weight:600;font-size:16px;color:#23232E;letter-spacing:-0.3px;}
.cphg-strip-all{font-size:13px;font-weight:800;color:#E835AC;}
.cphg-strip-row{display:grid;grid-template-columns:repeat(5,1fr);gap:11px;}
.cphg-strip-cell{position:relative;aspect-ratio:210/297;border-radius:13px;overflow:hidden;border:1px solid #EEE7E1;transition:transform .15s,box-shadow .15s;}
.cphg-strip-cell:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(40,20,40,.1);}
.cphg-strip-cell img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.cphg-strip-pick{position:absolute;top:6px;left:6px;background:#E835AC;color:#fff;font-size:10px;border-radius:999px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;}
.cphg-strip-add{align-self:stretch;height:auto;min-height:100%;border-radius:13px;border:2px dashed #E6C9DD;background:#FBF1F7;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#C9197A;font-family:'Fredoka',sans-serif;font-weight:600;font-size:12px;line-height:1.1;text-align:center;transition:background .12s,border-color .12s;}
.cphg-strip-add:hover{background:#F8E6F1;border-color:#E835AC;}
.cphg-strip-empty{font-size:13px;color:#8A8088;margin:12px 0 0;}

/* ── Single entry ── */
.cphg-entry{padding:32px 30px 20px;}
.cphg-back{display:inline-block;font-family:'Fredoka',sans-serif;font-weight:500;font-size:14.5px;color:#6E6470;margin-bottom:18px;}
.cphg-back:hover{color:#E835AC;}
.cphg-entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start;}
.cphg-entry-img{position:relative;border-radius:22px;overflow:hidden;box-shadow:0 16px 40px rgba(40,20,40,.1);aspect-ratio:210/297;max-height:64vh;}
.cphg-entry-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;}
.cphg-entry-body{padding-top:8px;}
.cphg-entry-kicker{display:inline-block;font-weight:800;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#C9197A;margin-bottom:10px;}
.cphg-entry-body h1{font-family:'Fredoka',sans-serif;font-weight:600;font-size:clamp(28px,4vw,40px);line-height:1.04;letter-spacing:-1px;color:#23232E;margin:0 0 10px;}
.cphg-entry-page{font-size:15px;color:#7A7480;margin:0 0 14px;}
.cphg-entry-page a{color:#E835AC;font-weight:700;}
.cphg-entry-desc{font-size:17px;line-height:1.6;color:#4A4551;margin:0 0 18px;}
.cphg-age-row{margin:0 0 22px;}
.cphg-age-tag{display:inline-flex;align-items:center;gap:6px;background:#FFF9E0;border:1px solid #F3EAC0;color:#B7791F;font-family:'Fredoka',sans-serif;font-weight:600;font-size:13px;padding:6px 13px;border-radius:999px;}

/* ── Certificate ── */
.cphg-cert-wrap{max-width:640px;margin:44px auto 0;}
.cphg-cert-frame{border-radius:26px;padding:7px;box-shadow:0 20px 46px rgba(60,20,50,.14);}
.cphg-cert-inner{background:#fff;border-radius:20px;padding:34px 34px 30px;text-align:center;position:relative;overflow:hidden;}
.cphg-cert-dot{position:absolute;border-radius:50%;}
.cphg-cert-dot.a{top:20px;left:24px;width:12px;height:12px;background:#FFD23F;opacity:.6;}
.cphg-cert-dot.b{bottom:24px;right:30px;width:14px;height:14px;border-radius:4px;background:#4D9DE0;opacity:.5;transform:rotate(18deg);}
.cphg-cert-badge{width:104px;height:104px;border-radius:50%;padding:5px;margin:0 auto 18px;box-shadow:0 10px 24px rgba(232,53,172,.2);}
.cphg-cert-badge>div{width:100%;height:100%;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.cphg-cert-kicker{font-weight:800;font-size:12px;letter-spacing:2.5px;text-transform:uppercase;color:#C9197A;margin-bottom:8px;}
.cphg-cert-name{font-family:'Fredoka',sans-serif;font-weight:600;font-size:clamp(26px,4vw,34px);line-height:1.05;letter-spacing:-0.6px;color:#23232E;margin:0 0 6px;}
.cphg-cert-sub{font-family:'Fredoka',sans-serif;font-weight:600;font-size:17px;color:#C9197A;margin:0 0 6px;}
.cphg-cert-line{font-size:15px;line-height:1.5;color:#6A6573;margin:0 auto 18px;max-width:380px;}
.cphg-cert-foot{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;padding-top:16px;border-top:1px dashed #EADFE6;}
.cphg-cert-foot span{font-size:12.5px;font-weight:700;color:#94909B;}
.cphg-cert-brand{display:inline-flex;align-items:center;gap:6px;background:#FBF1F7;border:1px solid #F3E0EC;border-radius:999px;padding:6px 13px;color:#C9197A!important;}
.cphg-cert-print{text-align:center;margin-top:18px;}
.cphg-print-btn{display:inline-flex;align-items:center;gap:9px;background:#fff;border:2px solid #EAE3E8;color:#23232E;font-family:'Fredoka',sans-serif;font-weight:600;font-size:15px;padding:12px 22px;border-radius:14px;cursor:pointer;}
.cphg-print-btn:hover{border-color:#E835AC;color:#E835AC;}

/* ── Upload modal ── */
.cphg-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;}
.cphg-modal[hidden]{display:none;}
.cphg-modal-back{position:absolute;inset:0;background:rgba(40,20,40,.5);backdrop-filter:blur(3px);animation:cphgFade .2s ease;}
.cphg-modal-box{position:relative;width:100%;max-width:520px;max-height:92vh;overflow-y:auto;background:#fff;border-radius:26px;box-shadow:0 30px 70px rgba(40,20,40,.4);animation:cphgPop .22s ease;}
.cphg-modal-head{position:sticky;top:0;background:#fff;border-bottom:1px solid #F2EAEF;padding:16px 20px;display:flex;align-items:center;gap:12px;border-radius:26px 26px 0 0;z-index:2;}
.cphg-modal-headwrap{flex:1;min-width:0;}
.cphg-modal-title{font-family:'Fredoka',sans-serif;font-weight:600;font-size:17px;color:#23232E;letter-spacing:-0.3px;}
.cphg-prog{display:flex;gap:6px;margin-top:7px;}
.cphg-prog i{width:30px;height:5px;border-radius:3px;background:#EDE4EC;transition:background .2s;}
.cphg-prog i.on{background:#E835AC;}
.cphg-prog i:nth-child(1).on{background:#38D39F;} /* step 1 · mint */
.cphg-prog i:nth-child(2).on{background:#4D9DE0;} /* step 2 · blue */
.cphg-prog i:nth-child(3).on{background:#E835AC;} /* step 3 · magenta */
/* Close (×) — self-contained + !important so Flatsome's button/svg styles can't swallow the icon. */
.cphg-modal-x{flex:none;width:38px;height:38px;padding:0!important;margin:0!important;display:inline-flex!important;align-items:center;justify-content:center;background:#F3EDEA!important;border:1px solid #EAE0E6!important;border-radius:12px!important;color:#3A3543!important;cursor:pointer;box-shadow:none!important;min-width:0!important;min-height:0!important;line-height:1!important;transition:background .15s,border-color .15s,color .15s;}
.cphg-modal-x:hover{background:#FBE4EF!important;border-color:#E835AC!important;color:#E835AC!important;}
.cphg-modal-x svg{display:block!important;width:18px!important;height:18px!important;flex:none!important;}
.cphg-modal-x svg path{stroke:currentColor!important;}
/* .cphg-modal-x styling now lives up near .cphg-modal-head (with an explicit svg size + !important) */
.cphg-form{padding:20px 22px 24px;}
.cphg-step[hidden]{display:none;}
.cphg-step-msg{font-size:13px;font-weight:700;color:#E11D48;min-height:1px;margin:8px 0 2px;}
.cphg-step-nav{display:flex;gap:12px;align-items:center;margin-top:18px;}
.cphg-step-nav.end{justify-content:flex-end;}
.cphg-step-nav.between{justify-content:space-between;}
/* In the Back/Send row the submit must be inline (not the full-width standalone button) and share the baseline with Back. */
.cphg-step-nav .cphg-submit{width:auto;margin-top:0;padding:13px 22px;}
.cphg-step-nav .cphg-back,.cphg-step-nav .cphg-submit{align-self:center;}
.cphg-next{display:inline-flex;align-items:center;gap:8px;background:#E835AC;color:#fff;border:none;cursor:pointer;font-family:'Fredoka',sans-serif;font-weight:600;font-size:15px;padding:13px 24px;border-radius:13px;transition:background .15s,opacity .15s;}
.cphg-next:hover{background:#D11E96;}
.cphg-next:disabled{opacity:.5;cursor:not-allowed;}
.cphg-back{display:inline-flex;align-items:center;gap:7px;background:#fff;border:2px solid #EAE3E8;color:#5A5560;cursor:pointer;font-family:'Fredoka',sans-serif;font-weight:600;font-size:14.5px;padding:11px 18px;border-radius:13px;}
.cphg-back:hover{border-color:#D8CFD5;}
.cphg-opt-intro{font-size:13px;color:#7A7480;font-weight:700;margin:16px 0 6px;}
.cphg-select{display:block;width:100%;box-sizing:border-box;border:1px solid #EDE4EB;border-radius:12px;padding:12px 40px 12px 14px;font-family:'Nunito',sans-serif;font-size:15px;line-height:1.4;color:#23232E;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%239A929E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;background-size:14px;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:auto;min-height:48px;outline:none;}
.cphg-select:focus{border-color:#E835AC;}
.cphg-rule{background:#EEF9F3;border:1px solid #CFEBDE;border-radius:16px;padding:15px 16px;margin-bottom:18px;}
.cphg-rule-title{font-family:'Fredoka',sans-serif;font-weight:600;font-size:16px;color:#0E9F6E;margin-bottom:10px;}
.cphg-rule-body{display:flex;gap:14px;align-items:center;}
.cphg-rule-icons{display:flex;gap:12px;flex:none;align-items:flex-start;}
.cphg-rule-tile{display:flex;flex-direction:column;align-items:center;width:58px;}
.cphg-rule-box{position:relative;width:54px;height:66px;border-radius:11px;background:#fff;border:2px solid #38D39F;display:flex;align-items:center;justify-content:center;}
.cphg-rule-tile.no .cphg-rule-box{border-color:#FFB3C2;opacity:.85;}
.cphg-rule-badge{position:absolute;bottom:-8px;right:-8px;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.cphg-rule-badge.ok{background:#38D39F;}
.cphg-rule-badge.no{background:#FF4D6D;}
.cphg-rule-lbl{margin-top:13px;font-size:11px;font-weight:800;line-height:1.2;text-align:center;min-height:27px;}
.cphg-rule-tile.ok .cphg-rule-lbl{color:#0E9F6E;}
.cphg-rule-tile.no .cphg-rule-lbl{color:#E11D48;}
.cphg-rule-body p{font-size:13.5px;line-height:1.5;color:#3A5A4C;margin:0;font-weight:700;}
.cphg-f-label{display:block;font-family:'Fredoka',sans-serif;font-weight:600;font-size:15px;color:#23232E;margin:14px 0 8px;}
.cphg-f-label .req{font-size:11px;font-weight:800;color:#E11D48;text-transform:uppercase;letter-spacing:.4px;margin-left:6px;}
.cphg-f-label .opt{font-size:12px;font-weight:700;color:#A79FA6;margin-left:6px;}
.cphg-drop{display:block;position:relative;aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:#FBF8F4;border:2px dashed #E6C9DD;cursor:pointer;}
.cphg-drop.dragover{border-color:#E835AC;background:#FBF1F7;}
.cphg-drop-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#C9197A;text-align:center;padding:16px;font-family:'Fredoka',sans-serif;font-weight:600;font-size:14px;}
.cphg-drop-empty small{font-family:'Nunito',sans-serif;font-weight:700;font-size:12px;color:#A88CA0;}
#cphg-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff;}
.cphg-consent{display:flex;gap:12px;align-items:flex-start;background:#FBF8F4;border:1px solid #EFE7E0;border-radius:16px;padding:14px 16px;cursor:pointer;margin:16px 0;transition:background .15s,border-color .15s;}
.cphg-consent.miss{background:#FDECEC;border-color:#F3C9C9;}
.cphg-consent input{position:absolute;opacity:0;width:0;height:0;}
.cphg-consent .box{flex:none;width:26px;height:26px;border-radius:8px;border:2px solid #D8CFD5;background:#fff;margin-top:1px;position:relative;transition:all .15s;}
.cphg-consent input:checked+.box{background:#38D39F;border-color:#38D39F;}
.cphg-consent input:checked+.box:after{content:"";position:absolute;left:8px;top:3px;width:6px;height:12px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg);}
.cphg-consent .txt{font-size:14.5px;line-height:1.5;color:#3A3543;font-weight:700;}
.cphg-consent .txt a{color:#E835AC;text-decoration:underline;}
.cphg-optional{border:1px solid #EFE7E0;border-radius:14px;overflow:hidden;margin-bottom:16px;}
.cphg-optional>summary{list-style:none;cursor:pointer;padding:13px 15px;font-family:'Fredoka',sans-serif;font-weight:600;font-size:14.5px;color:#23232E;display:flex;justify-content:space-between;align-items:center;}
.cphg-optional>summary::-webkit-details-marker{display:none;}
.cphg-optional>summary span{font-family:'Nunito',sans-serif;font-size:12px;font-weight:700;color:#A79FA6;}
.cphg-opt-body{padding:0 15px 14px;}
.cphg-opt-body input,.cphg-opt-body textarea{width:100%;box-sizing:border-box;border:1px solid #EDE4EB;border-radius:12px;padding:11px 13px;font-family:'Nunito',sans-serif;font-size:15px;color:#23232E;outline:none;}
.cphg-opt-body input:focus,.cphg-opt-body textarea:focus{border-color:#E835AC;}
.cphg-hint{font-size:12.5px;line-height:1.5;color:#8A8088;margin:6px 0 10px;}
.cphg-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0;}
.cphg-form-msg{font-size:13.5px;font-weight:700;color:#E11D48;min-height:1px;margin:4px 0 0;}
.cphg-submit{width:100%;margin-top:14px;display:inline-flex;align-items:center;justify-content:center;gap:9px;background:#E835AC;color:#fff;border:none;cursor:pointer;font-family:'Fredoka',sans-serif;font-weight:600;font-size:15.5px;padding:14px;border-radius:14px;transition:background .15s,opacity .15s;}
.cphg-submit:hover{background:#D11E96;}
.cphg-submit:disabled{opacity:.5;cursor:not-allowed;}
.cphg-done{text-align:center;}
.cphg-done img{display:block;margin:0 auto 6px;height:auto;}
.cphg-done h3{font-family:'Fredoka',sans-serif;font-weight:600;font-size:24px;line-height:1.1;letter-spacing:-0.5px;color:#23232E;margin:0 0 10px;}
.cphg-done p{font-size:15px;line-height:1.6;color:#6A6573;margin:0 auto 20px;max-width:380px;}

/* ── Gallery search (matches the /coloring-pages/ browse search: one centered pill + count line) ── */
.cphg-filter{position:relative;max-width:560px;margin:0 auto 10px;}
.cphg-filter-search{display:flex;align-items:center;gap:11px;background:#fff;border:2px solid #EFE9EE;border-radius:16px;padding:14px 16px;box-shadow:0 6px 20px rgba(40,20,40,.06);transition:border-color .15s;}
.cphg-filter-search:focus-within{border-color:#E835AC;}
.cphg-filter-search svg{flex:none;}
/* Full reset so Flatsome's input[type=search] box (border/inset-shadow/height/square corners) never shows inside the pill — mirrors #br-search on the browse page. */
.cphg-filter-search input{flex:1!important;-webkit-appearance:none!important;appearance:none!important;background:transparent!important;border:0!important;box-shadow:none!important;outline:none!important;padding:0!important;margin:0!important;height:auto!important;min-height:0!important;border-radius:0!important;line-height:1.4!important;font-family:'Nunito',sans-serif!important;font-size:16px!important;color:#1A1A2E!important;width:100%!important;min-width:0;}
.cphg-filter-search input:focus{background:transparent!important;border:0!important;box-shadow:none!important;outline:none!important;}
.cphg-filter-search input::-webkit-search-cancel-button,.cphg-filter-search input::-webkit-search-decoration{-webkit-appearance:none;appearance:none;}
.cphg-search-clear{display:none;flex:none;width:28px;height:28px;border:0!important;box-shadow:none!important;cursor:pointer;border-radius:50%;background:#F2ECF0;align-items:center;justify-content:center;padding:0;transition:background .14s;}
.cphg-search-clear:hover{background:#E8DDE5;}
.cphg-filter-count{text-align:center;font-family:'Nunito',sans-serif;font-size:13.5px;font-weight:700;color:#9A949E;margin:12px 0 30px;}
.cphg-noresults{margin:6px 0 24px;font-size:15px;color:#7A7480;font-weight:600;}
.cphg-submit .cph-load-dots{margin-left:2px;} .cphg-submit .cph-load-dots i{background:#fff!important;} /* white dots on the pink Send button */

/* ── Single entry (Keepsake / design 1A) grids ── */
.cphg-ek-grid{display:grid;grid-template-columns:392px 1fr;gap:46px;align-items:start;margin-top:22px;}
.cphg-ek-more{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
.cphg-ek-next{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}

/* Entry actions: Pin (primary) + equal-height Download/Print, a social share row, and the upload CTA.
   !important throughout so Flatsome's <button>/svg styling can't resize or restyle these. */
.cphg-actions{display:flex;gap:10px;margin-top:16px;align-items:stretch;}
.cphg-a{height:48px!important;min-height:48px!important;box-sizing:border-box!important;border-radius:13px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;cursor:pointer;text-decoration:none;padding:0!important;margin:0!important;line-height:1!important;box-shadow:none!important;transition:background .14s,border-color .14s,color .14s,transform .12s;}
.cphg-a svg{display:block!important;flex:none!important;}
.cphg-a-pin{flex:1;gap:8px;background:#E60023!important;color:#fff!important;border:none!important;font-family:'Fredoka',sans-serif;font-weight:600;font-size:14.5px;padding:0 14px!important;}
.cphg-a-pin:hover{background:#c9001d!important;}
.cphg-a-pin svg{width:17px!important;height:17px!important;}
.cphg-a-ico{flex:none;width:48px!important;background:transparent!important;border:1.5px solid #EAE0E6!important;color:#5A5560!important;}
.cphg-a-ico:hover{border-color:#E835AC!important;transform:translateY(-2px);}
.cphg-a-ico svg{width:22px!important;height:22px!important;}
.cphg-share2{margin-top:14px;}
.cphg-share2-l{display:block;font-size:11.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:#A79FA6;margin-bottom:8px;}
.cphg-share2-row{display:flex;gap:9px;}
.cphg-so{position:relative;flex:1;height:48px!important;min-height:48px!important;box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;background:transparent!important;border:1.5px solid #EAE0E6!important;border-radius:13px!important;cursor:pointer;text-decoration:none;padding:0!important;margin:0!important;box-shadow:none!important;transition:border-color .14s,transform .12s;}
.cphg-so:hover{border-color:#E835AC!important;transform:translateY(-2px);}
.cphg-so svg{display:block!important;width:20px!important;height:20px!important;flex:none!important;}
.cphg-so-fb svg{color:#1877F2;} .cphg-so-x svg{color:#0F1419;} .cphg-so-wa svg{color:#25D366;} .cphg-so-cp svg{color:#7A7480;}
.cphg-copied{position:absolute;top:-30px;left:50%;transform:translateX(-50%);background:#1A1A2E;color:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s;}
.cphg-so-cp.copied .cphg-copied{opacity:1;}
.cphg-upsell{margin-top:20px;padding-top:18px;border-top:1px solid #F0E6EE;}
.cphg-upsell-l{font-family:'Fredoka',sans-serif;font-weight:600;font-size:14.5px;line-height:1.35;color:#3A3543;margin-bottom:12px;}
/* Jump-to-certificate link (featured entries) */
.cphg-cert-jump{display:inline-flex;align-items:center;gap:7px;margin:0 0 18px;background:#FFF6E0;border:1px solid #F6E6B8;border-radius:999px;padding:8px 15px;font-family:'Fredoka',sans-serif;font-weight:600;font-size:13.5px;color:#B7791F;text-decoration:none;transition:background .14s;}
.cphg-cert-jump:hover{background:#FCEFC9;}
.cphg-cert-jump b{transition:transform .2s;font-weight:600;}
.cphg-cert-jump:hover b{transform:translateY(2px);}
#cphg-cert{scroll-margin-top:96px;}

/* ── Responsive ── */
@media(max-width:900px){
	.cphg-hero-grid{grid-template-columns:1fr;gap:30px;}
	.cphg-pick{grid-template-columns:1fr;}
	.cphg-pk-in{grid-template-columns:230px 1fr;}
	.cphg-steps{grid-template-columns:1fr;}
	.cphg-wall{grid-template-columns:repeat(2,1fr);}
	.cphg-entry-grid{grid-template-columns:1fr;gap:22px;}
	.cphg-entry-img{max-height:none;aspect-ratio:210/297;}
	.cphg-strip-row{grid-template-columns:repeat(3,1fr);}
	.cphg-ek-grid{grid-template-columns:1fr;gap:28px;}
	.cphg-ek-grid>div:first-child{max-width:392px;margin:0 auto;width:100%;}
	.cphg-ek-more{grid-template-columns:repeat(3,1fr);}
	.cphg-ek-next{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:520px){
	.cphg-wrap,.cphg-hero,.cphg-how,.cphg-spot-sec,.cphg-wall-sec,.cphg-before,.cphg-closing,.cphg-entry{padding-left:18px;padding-right:18px;}
	.cphg-pk-in{grid-template-columns:1fr;}
	.cphg-pk-img{max-width:260px;margin:0 auto;}
	.cphg-wall{grid-template-columns:repeat(2,1fr);gap:12px;}
	.cphg-ek-more{grid-template-columns:repeat(2,1fr);}
}

/* ── Print: isolate the certificate ── */
@media print{
	body *{visibility:hidden!important;}
	#cphg-cert,#cphg-cert *{visibility:visible!important;}
	#cphg-cert{position:absolute;left:0;top:0;width:100%;}
	.cphg-cert-print,.cphg-modal{display:none!important;}
	@page{margin:14mm;}
}
