/* Ropino — WordPress additions on top of the V3 design system (ropino.css). Same tokens, same language. */

/* WordPress admin bar vs. sticky header */
.admin-bar .site-header{top:32px}
@media (max-width:782px){.admin-bar .site-header{top:46px}}
@media (max-width:600px){.admin-bar .site-header{top:0}}

/* honeypot (bots only) */
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* admin-only hints, never visible to visitors */
.admin-hint{margin-top:var(--sp-4);padding:10px 14px;border-radius:12px;border:1.5px dashed var(--warn);color:var(--warn);font-size:13.5px;background:color-mix(in srgb,var(--warn) 6%,transparent)}
.admin-hint a{color:inherit;font-weight:700}

/* product cards: image/icon fallback and "coming soon" badge */
.product-card .pv{position:relative}
.product-card .pv img{width:100%;height:100%;max-height:260px;object-fit:contain;border-radius:14px}
.product-card .pv .pv-icon{width:72px;height:72px;color:var(--primary);opacity:.55}
.product-card .pv .pv-badge{position:absolute;top:14px;right:14px}

/* step 4 while the pricing API is not live */
.price-soon{border:1.5px solid var(--primary-soft);background:var(--primary-tint);border-radius:16px;padding:var(--sp-4)}
.price-soon .ps-title{font-weight:800;font-size:17px;margin-top:var(--sp-2)}
.price-soon p+p{color:var(--muted);font-size:14.5px;margin-top:4px}
.price-loading{color:var(--muted);font-size:14px;padding:var(--sp-4) 0}

/* forms: unavailable state, send errors, checkboxes */
.form-unavailable{border:1.5px solid var(--line);border-radius:16px;padding:var(--sp-4);background:var(--bg-alt)}
.form-unavailable p+p{color:var(--muted);font-size:14.5px;margin-top:4px}
.form-error{margin-top:var(--sp-3);border-radius:12px;padding:10px 14px;background:color-mix(in srgb,var(--warn) 10%,transparent);color:var(--warn);font-size:14px}
.form-error .sheet-item{color:var(--text)}
.kit-interests{border:0;padding:0;margin:0 0 var(--sp-4)}
.kit-interests legend{font-weight:600;font-size:14.5px;margin-bottom:6px;padding:0}
.kit-interests #kInterests{display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.check{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--line);border-radius:12px;padding:8px 12px;font-size:14.5px;cursor:pointer;background:var(--surface)}
.check:has(input:checked){border-color:var(--primary);background:var(--primary-tint)}
.check input{accent-color:var(--primary);width:18px;height:18px}
#kitDlg{max-width:560px}

/* info dialog lists */
.info-body{color:var(--muted);font-size:15px}
.info-list{padding-right:18px;margin:0;display:grid;gap:6px}

/* workshop media (about) */
.about.about--text{grid-template-columns:1fr;max-width:820px}
.workshop{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}
.workshop-item{margin:0;border-radius:var(--r-card);overflow:hidden;background:var(--surface);border:1px solid var(--line);position:relative;aspect-ratio:4/3}
.workshop-item.is-lead{grid-column:1/-1;aspect-ratio:16/10}
.workshop-item img,.workshop-item video{width:100%;height:100%;object-fit:cover;display:block;background:#000}
.workshop-item figcaption{position:absolute;inset-inline:0;bottom:0;padding:8px 12px;font-size:12.5px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.55))}

/* footer */
.footer-lead{color:var(--muted);font-size:14px;margin-top:12px;max-width:300px}
.footer-contact{font-style:normal;display:flex;flex-direction:column;gap:4px;margin-top:var(--sp-3);font-size:13.5px;color:var(--muted)}
.footer-extra{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-4)}
.footer-extra a{color:var(--muted);text-decoration:none}
.footer-extra a:hover{color:var(--primary)}

/* regular pages (legal, blog) */
.page-wrap{padding-block:var(--sp-7) var(--sp-8)}
.page-wrap .crumbs{margin-bottom:var(--sp-3)}
.page-title{font-size:clamp(26px,3.4vw,38px)}
.entry{max-width:760px;margin-top:var(--sp-5);color:var(--text)}
.entry > * + *{margin-top:var(--sp-4)}
.entry h2{font-size:24px;margin-top:var(--sp-6)}
.entry h3{font-size:19px;margin-top:var(--sp-5)}
.entry a{color:var(--primary)}
.entry ul,.entry ol{padding-right:22px}
.entry img{border-radius:var(--r-card);height:auto}
.entry blockquote{margin:0;padding:var(--sp-3) var(--sp-5);border-inline-start:3px solid var(--primary);background:var(--primary-tint);border-radius:12px}
.post-list{display:grid;gap:var(--sp-5);margin-top:var(--sp-6)}
.post-list article{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--sp-5)}
.post-list h2{font-size:20px}
.post-list h2 a{text-decoration:none}
.post-list p{color:var(--muted);margin-top:var(--sp-2)}
.notfound{text-align:center;padding-block:var(--sp-9)}
.notfound .hero-ctas{justify-content:center}
