/* The placeholder site's own pieces: the under-construction ribbon and panel, the coming-soon pages. */
.ph-ribbon { background: #fdf5e3; border-bottom: 1px solid #ecd9a8; color: #7a5c15; font-size: .88rem; font-weight: 600; text-align: center; padding: .5rem 0; }
:root[data-theme="dark"] .ph-ribbon { background: #2a2313; border-color: #4e401d; color: #e6c97f; }

.ph-build { display: flex; gap: 1.1rem; align-items: flex-start; margin-top: 1.4rem; padding: 1.3rem 1.5rem;
  background: var(--card); border: 1px solid var(--amber-line); border-left: 5px solid #e7c465; border-radius: 16px; box-shadow: var(--shadow); }
.ph-build h2 { font-size: 1.25rem; color: var(--navy); }
.ph-build p { margin-top: .35rem; color: var(--ink); }
.ph-build-icon { flex: none; width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: var(--amber-bg); color: var(--amber-ink); }
.ph-build-icon svg { width: 24px; height: 24px; }
.ph-build-links { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: .8rem !important; }

.ph-feats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .9rem; margin-top: 1.2rem; }
.ph-feats article { background: var(--card); border: 1px solid var(--line); border-radius: 14px; padding: 1rem 1.1rem; box-shadow: var(--shadow); }
.ph-feats h3 { font-size: 1rem; color: var(--navy); display: flex; align-items: center; gap: .4rem; }
.ph-feats p { margin-top: .3rem; font-size: .9rem; color: var(--muted); }
.ph-pro { font-size: .66rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; padding: .05rem .4rem; border-radius: 99px; background: #e7c873; color: #1e2f4d; }
@media (max-width: 900px) { .ph-feats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .ph-feats { grid-template-columns: 1fr; } .ph-build { flex-direction: column; padding: 1.1rem; } }

/* the country cards cannot be opened: a soft veil and no pointer */
.ccard-soon { cursor: default; }

.ph-soon { max-width: 640px; margin: 3rem auto 1rem; text-align: center; background: var(--card); border-radius: 18px; padding: 2.2rem 1.6rem; box-shadow: var(--shadow); }
.ph-soon h1 { margin: .6rem 0 .4rem; color: var(--navy); }
.ph-soon p { color: var(--muted); }
.ph-soon .ph-build-links { justify-content: center; }

.ph-news { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1.2rem; }
.ph-news-card { background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 1.2rem 1.3rem; box-shadow: var(--shadow); }
.ph-news-card h2 { font-size: 1.15rem; margin-top: .5rem; color: var(--navy); }
.ph-news-card p { color: var(--muted); margin-top: .25rem; }
@media (max-width: 640px) { .ph-news { grid-template-columns: 1fr; } }

.ph-closed { margin: .8rem 0 .4rem; padding: .7rem .9rem; border-radius: 10px; background: var(--amber-bg); border: 1px solid var(--amber-line); color: var(--amber-ink); font-size: .92rem; }
.login-box fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.login-box fieldset[disabled] { opacity: .6; }
.plan-card .btn[disabled] { cursor: not-allowed; opacity: .75; }
.ph-pro-hero { grid-template-columns: 1fr; }

/* a small heading inside a policy section (Privacy: Complaints) */
.legal-page section h3 { font-size: 1rem; margin: 1rem 0 .3rem; color: var(--navy); }
.legal-page .legal-contact { list-style: none; padding-left: 0; margin: .4rem 0 .8rem; }
.legal-page .legal-contact li { margin: .15rem 0; }
