/*
Theme Name: CraftingPDF
Theme URI: https://craftingpdf.com
Author: CraftingPDF
Description: Marketing theme for CraftingPDF — fillable PDF forms & PDF conversion services. Requires the "CraftingPDF Core" plugin (content types, calculator, quote form, SEO schema). Main design styles are in assets/app.css.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: craftingpdf
*/

/* --- WordPress integration tweaks (design lives in assets/app.css) --- */
.admin-bar header{top:32px}
@media(max-width:782px){.admin-bar header{top:46px}.admin-bar .mn{top:112px}}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.skip-link:focus{clip:auto;clip-path:none;width:auto;height:auto;background:#fff;color:#000;padding:10px 16px;z-index:100000;top:8px;left:8px}
.lg img,.lg .custom-logo{width:38px;height:auto}
.entry img{max-width:100%;height:auto}
.entry-wrap{max-width:780px;margin:auto}
.entry h2,.entry h3{margin-top:1.4em}
.entry blockquote{border-left:4px solid var(--r);margin:1.4em 0;padding:4px 18px;background:var(--soft);border-radius:0 10px 10px 0}
.alignleft{float:left;margin:0 1.2em 1em 0}.alignright{float:right;margin:0 0 1em 1.2em}.aligncenter{display:block;margin:1em auto}
.wp-caption-text,figcaption{font-size:14px;text-align:center}
.pagination{display:flex;gap:6px;justify-content:center;margin-top:34px;flex-wrap:wrap}
.pagination .page-numbers{padding:8px 14px;border:1px solid var(--ln);border-radius:10px;text-decoration:none;font-weight:600}
.pagination .page-numbers.current{background:var(--r);color:#fff;border-color:var(--r)}
.th img{width:100%;height:100%;object-fit:cover}
.mn .dd>a{cursor:pointer}

/* tighter rhythm: page heading section flows straight into the content below */
section:has(> .w > h1.t){padding-bottom:0}
section:has(> .w > h1.t) .sub{margin-bottom:8px}
section:has(> .w > h1.t) + section{padding-top:36px}
/* buttons: <button> and <a> variants render at the same size */
.b{border:2px solid transparent;line-height:1.3;font-family:inherit}
.b.o{border-color:var(--r)}
.cta .b.o{border-color:#fff;color:#fff!important}

/* ===== Content typography: applies to articles, pages and anything written in the block editor ===== */
.entry{font-size:17px;line-height:1.75;color:var(--tx)}
.entry h1,.entry h2,.entry h3,.entry h4{color:var(--ink);line-height:1.25;font-weight:800;margin-bottom:.3em}
.entry h2{font-size:28px;margin-top:1.8em}.entry h3{font-size:22px;margin-top:1.6em}.entry h4{font-size:18px;margin-top:1.4em}
.entry p{margin:0 0 1.1em}
.entry a{color:var(--r);text-underline-offset:3px}
.entry ul,.entry ol{padding-left:1.4em;margin:0 0 1.2em}.entry li{margin:.35em 0}
.entry img,.entry video,.entry iframe{max-width:100%;height:auto;border-radius:12px}
.entry figure{margin:1.6em 0}.entry figcaption{font-size:14px;text-align:center;margin-top:8px;color:var(--tx)}
.entry blockquote{border-left:4px solid var(--r);margin:1.6em 0;padding:6px 20px;background:var(--soft);border-radius:0 12px 12px 0}
.entry blockquote p{margin:.4em 0}
.entry hr,.entry .wp-block-separator{border:0;border-top:1px solid var(--ln);margin:2em 0}
.entry table{width:100%;border-collapse:collapse;margin:1.6em 0;font-size:15px}
.entry th,.entry td{border:1px solid var(--ln);padding:10px 14px;text-align:left}.entry th{background:var(--soft);color:var(--ink)}
.entry code{background:var(--soft);padding:2px 6px;border-radius:6px;font-size:.92em}
.entry pre{background:#0b1226;color:#e5e9f5;padding:18px;border-radius:12px;overflow:auto}.entry pre code{background:0;padding:0;color:inherit}
.entry .wp-block-button__link,.entry .wp-element-button{display:inline-block;background:linear-gradient(135deg,var(--r),var(--r2));color:#fff!important;border:2px solid transparent;border-radius:12px;padding:13px 24px;font-weight:700;font-size:15px;text-decoration:none;box-shadow:0 8px 20px rgba(225,29,46,.3)}
.entry .is-style-outline .wp-block-button__link{background:0;border-color:var(--r);color:var(--r)!important;box-shadow:none}
.entry .wp-block-columns{display:flex;gap:24px;flex-wrap:wrap}.entry .wp-block-column{flex:1 1 240px;min-width:0}
.entry .wp-block-group.has-background,.entry .wp-block-cover{border-radius:18px;padding:24px}
.entry .wp-block-image img{display:block}
.entry .wp-block-embed iframe{width:100%;aspect-ratio:16/9;height:auto;border:0}
.entry .wp-block-details{border:1px solid var(--ln);border-radius:12px;padding:12px 18px;background:var(--card)}
.entry .wp-block-details summary{font-weight:700;color:var(--ink);cursor:pointer}

/* Safety net: any bare two-column block placed directly in the page (e.g. the old About import) still gets page margins */
#app>.g2{max-width:1140px;margin:0 auto;padding:36px 20px 0;box-sizing:border-box}
#app>.g2+section{padding-top:48px}

/* Safety net: About-style two-column blocks placed directly in the page (no wrapper) still get the page margins */
#app>.g2{max-width:1140px;margin:0 auto;padding:36px 20px 64px;box-sizing:border-box}

/* custom service icons (uploaded per service) */
.ik.has-img{width:auto;max-width:72px;height:40px;background:transparent;border-radius:0;padding:0}
.ik.has-img img{height:100%;width:auto;max-width:72px;object-fit:contain;border-radius:0;display:block}

/* wider drop-downs so longer service names stay on one line */
.dd>div{min-width:260px}
@media(min-width:901px){.dd>div a{white-space:nowrap}}

/* package add-ons */
.aos{margin:14px 0 6px;padding-top:12px;border-top:1px dashed var(--ln)}
.aos h4{margin:0 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink)}
.c label.ao{display:flex;align-items:center;gap:10px;margin:6px 0;padding:8px 10px;border:1px solid var(--ln);border-radius:10px;font-weight:600;font-size:14px;color:var(--ink);cursor:pointer;transition:.15s}
.c label.ao:hover{border-color:var(--r)}
.c label.ao input{width:18px;height:18px;margin:0;accent-color:var(--r);flex:none}
.c label.ao b{margin-left:auto;color:var(--r);white-space:nowrap}

/* consistent gap between a section heading and its cards (even without a sub-heading) */
h2.t + .g,h2.t + .cal,h2.t + .c,h2.t + .fl{margin-top:34px}
.sub{margin-bottom:34px}
