.ctpdf-box { --ctpdf-btn-bg: #1d3557; --ctpdf-btn-color: #fff; --ctpdf-justify: flex-start; --ctpdf-align: left; --ctpdf-margin: 24px; margin: var(--ctpdf-margin) 0; display: flex; flex-wrap: wrap; gap: .6em; align-items: center; justify-content: var(--ctpdf-justify); text-align: var(--ctpdf-align); box-sizing: border-box; }
.ctpdf-box .ctpdf-note, .ctpdf-box .ctpdf-notice, .ctpdf-box .ctpdf-box-title { flex-basis: 100%; margin: 0; }
.ctpdf-box .ctpdf-note { font-size: .875em; opacity: .85; }
.ctpdf-box .ctpdf-notice { font-size: .875em; padding: .6em .9em; border-left: 3px solid currentColor; background: rgba(0, 0, 0, .04); text-align: left; }
.ctpdf-box .ctpdf-box-title { font-size: 1.15em; font-weight: 700; line-height: 1.3; margin-bottom: .25em; }
.ctpdf-box--highlight { background: var(--ctpdf-box-bg, #f1f4f8); color: var(--ctpdf-box-color, #1f1f1f); padding: var(--ctpdf-box-padding, 24px); border-radius: var(--ctpdf-box-radius, 6px); }
.ctpdf-box--highlight a:not(.ctpdf-button) { color: inherit; }
.ctpdf-button { display: inline-flex; align-items: center; gap: .55em; padding: .7em 1.2em; border-radius: 4px; background: var(--ctpdf-btn-bg); color: var(--ctpdf-btn-color) !important; text-decoration: none !important; font-weight: 600; line-height: 1.2; transition: opacity .15s ease; }
.ctpdf-button:hover, .ctpdf-button:focus { opacity: .88; }
.ctpdf-pass-outline .ctpdf-button.ctpdf-buy-pass { background: transparent; color: var(--ctpdf-btn-bg) !important; box-shadow: inset 0 0 0 2px var(--ctpdf-btn-bg); }
.ctpdf-price { font-weight: 400; opacity: .9; }
.ctpdf-price::before { content: "·"; margin-right: .45em; }
.ctpdf-icon { width: 1em; height: 1.15em; flex: none; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 24'%3E%3Cpath d='M12 0H2a2 2 0 0 0-2 2v20a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8zm0 2.8L17.2 8H12zM10 20l-5-5h3.3v-5h3.4v5H15z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 24'%3E%3Cpath d='M12 0H2a2 2 0 0 0-2 2v20a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8zm0 2.8L17.2 8H12zM10 20l-5-5h3.3v-5h3.4v5H15z'/%3E%3C/svg%3E") center / contain no-repeat; }
/* [content_to_pdf_banner] */
.ctpdf-banner { gap: .75em; }
.ctpdf-box .ctpdf-banner-title, .ctpdf-box .ctpdf-banner-subtitle, .ctpdf-box .ctpdf-banner-text { flex-basis: 100%; margin: 0; }
.ctpdf-box .ctpdf-banner-title { font-size: 1.6em; font-weight: 700; line-height: 1.2; }
.ctpdf-box .ctpdf-banner-subtitle { font-size: 1.1em; font-weight: 600; opacity: .85; margin-top: -.35em; }
.ctpdf-box .ctpdf-banner-text p { margin: 0 0 .6em; }
.ctpdf-box .ctpdf-banner-text p:last-child { margin-bottom: 0; }
.ctpdf-banner .ctpdf-banner-cta { margin-top: .35em; padding: .8em 1.5em; }
.ctpdf-banner .ctpdf-arrow { transition: transform .15s ease; }
.ctpdf-banner .ctpdf-banner-cta:hover .ctpdf-arrow { transform: translateX(3px); }
.ctpdf-banner .ctpdf-note { flex-basis: 100%; }
@media print { .ctpdf-box { display: none; } }

/* My Account → My PDFs */
.ctpdf-library-summary { padding: 1em 1.2em; margin-bottom: 1.5em; background: rgba(0, 0, 0, .04); border-radius: 4px; }
.ctpdf-library-summary p { margin: 0; }
.ctpdf-library-summary p + p { margin-top: .5em; }
.ctpdf-library td.ctpdf-col-action { text-align: right; white-space: nowrap; }

/* Inline "How it works" link */
.ctpdf-box .ctpdf-howto { white-space: nowrap; font-weight: 600; }

/* [content_to_pdf_how_it_works] */
.ctpdf-howto-page .ctpdf-howto-intro { font-size: 1.05em; }
.ctpdf-howto-page .ctpdf-howto-option { margin: 1em 0 1.5em; padding: 1em 1.25em; border-left: 4px solid #1d3557; background: rgba(0, 0, 0, .03); }
.ctpdf-howto-page .ctpdf-howto-option > :first-child { margin-top: 0; }
.ctpdf-howto-page .ctpdf-howto-option > :last-child { margin-bottom: 0; }
.ctpdf-howto-page .ctpdf-howto-tip { font-style: italic; }
.ctpdf-howto-page .ctpdf-howto-status { margin: 0 0 1.5em; padding: 1em 1.25em; border: 1px solid rgba(0, 0, 0, .12); border-radius: 4px; }
.ctpdf-howto-page .ctpdf-howto-status ul { margin: .25em 0 .5em 1.2em; }
.ctpdf-howto-page .ctpdf-howto-status p { margin: 0; }
.ctpdf-howto-page .ctpdf-howto-steps li { margin-bottom: .5em; }
.ctpdf-howto-page .ctpdf-howto-faq dt { font-weight: 600; margin-top: 1em; }
.ctpdf-howto-page .ctpdf-howto-faq dd { margin: .25em 0 0; }

/* First PDF free + customization */
.ctpdf-box .ctpdf-free-note { opacity: 1; font-weight: 600; }
.ctpdf-prefs { margin-top: 2em; padding: 1.2em 1.4em; border: 1px solid rgba(0, 0, 0, .12); border-radius: 4px; }
.ctpdf-prefs h3 { margin-top: 0; }
.ctpdf-prefs fieldset { border: 0; margin: 0 0 1em; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .4em 1.2em; }
.ctpdf-prefs-item { display: flex; gap: .5em; align-items: center; }
.ctpdf-prefs-actions { display: flex; flex-wrap: wrap; gap: .5em; margin: 0; }
.ctpdf-prefs--locked { background: rgba(0, 0, 0, .03); }
.ctpdf-prefs--locked p { margin: 0; }
.ctpdf-howto-page .ctpdf-howto-free { border-left-color: #2a9d8f; }
.ctpdf-box .ctpdf-alt { margin-top: -.25em; }
.ctpdf-box .ctpdf-alt a { color: inherit; text-decoration: underline; }
.ctpdf-box .ctpdf-alt .woocommerce-Price-amount { font-weight: 600; }
