/* Consolidated Juicepage site overrides migrated from Additional CSS. */

/* Keep ordinary page titles visually above their numbered content sections. */
body.page:not(.home) .entry-header :is(h1.entry-title, h1.page-title) {
  font-size: clamp(2.5rem, 5vw, 3.5rem);
  line-height: 1.12;
}
body.page:not(.home) .entry-content > h2.wp-block-heading {
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  line-height: 1.22;
}

/* Submission form: controls and spacing. */
.wpcf7 .juicepage-submission-form .juicepage-form-intro { margin: 0 0 32px; }
.wpcf7 .juicepage-submission-form .juicepage-field { margin: 0 0 26px; }
.wpcf7 .juicepage-submission-form .juicepage-form-section > .juicepage-field:last-child { margin-bottom: 0; }
.wpcf7 .juicepage-submission-form .juicepage-field > label,
.wpcf7 .juicepage-submission-form .juicepage-packages label,
.wpcf7 .juicepage-submission-form .juicepage-feedback-topics label,
.wpcf7 .juicepage-submission-form .juicepage-legal label { margin-bottom: 0; }
.wpcf7 .juicepage-submission-form .juicepage-control :is(input, textarea, select),
.wpcf7 .juicepage-submission-form .juicepage-file-control input[type="file"],
.wpcf7 .juicepage-submission-form .juicepage-feedback-topics input[type="checkbox"] { margin-top: 0; }
.wpcf7 .juicepage-submission-form .juicepage-file-control input[type="file"] { margin-bottom: 0; }
.wpcf7 .juicepage-submission-form .juicepage-packages .wpcf7-list-item { display: block; margin: 0 0 12px; }
.wpcf7 .juicepage-submission-form .juicepage-packages .wpcf7-list-item-label,
.wpcf7 .juicepage-submission-form .juicepage-legal .wpcf7-list-item-label { margin-left: 0; }
.wpcf7 .juicepage-submission-form .juicepage-feedback-topics .wpcf7-list-item,
.wpcf7 .juicepage-submission-form .juicepage-legal .wpcf7-list-item { display: block; margin: 0; }
.wpcf7 .juicepage-submission-form .juicepage-add-genre,
.wpcf7 .juicepage-submission-form .juicepage-payment-action input[type="submit"] { margin-top: 0; }
.wpcf7 .juicepage-submission-form :is(input[type="text"],input[type="email"],input[type="tel"],input[type="url"],input[type="number"],textarea,select) {
  background: #fff; color: #000; border-color: #e5e7eb;
}
.wpcf7 .juicepage-submission-form :is(input,textarea)::placeholder { color: #6b7280; }
.wpcf7 .juicepage-submission-form input[type="file"] { color: #6b7280; }
.wpcf7 .juicepage-submission-form input[type="file"]::file-selector-button {
  background: #000; color: #fff; border: 0; padding: 12px 20px;
  border-radius: 4px; font-weight: 500; cursor: pointer;
}
.wpcf7 .juicepage-submission-form input[type="file"]::file-selector-button:hover { background: #2b2b2b; }

/* Preserve the current package-card appearance without affecting other radios. */
.juicepage-submission-form .juicepage-packages .wpcf7-list-item label {
  border: 2px solid #d9dee4; border-radius: 10px; padding: 20px;
  background: #fff; transition: border-color .15s, background-color .15s;
}
.juicepage-submission-form .juicepage-packages .wpcf7-list-item label:hover { border-color: #526b83; }
.juicepage-submission-form .juicepage-packages .wpcf7-list-item label:has(input:checked) {
  border-color: #172b3f; background: #f3f6f8;
}
.juicepage-submission-form .juicepage-packages input[type="radio"] { accent-color: #172b3f; }
.juicepage-submission-form .juicepage-packages label:has(input:focus-visible) {
  outline: 3px solid #ffbf47; outline-offset: 2px;
}
@media (max-width: 600px) {
  .juicepage-submission-form .juicepage-packages .wpcf7-list-item label { padding: 16px; }
}

/* Site links, buttons and header Submit link. */
.menu-item.juicepage-menu-submit > a {
  border: 1px solid #111; border-radius: 2px; padding: 8px 13px !important;
  color: #111 !important;
}
.menu-item.juicepage-menu-submit > a:is(:hover,:focus-visible,:active) {
  background: #2b2b2b; border-color: #2b2b2b; color: #fff !important;
}
.entry-content a:is(:hover,:focus-visible), .ct-container a:is(:hover,:focus-visible), .juicepage-read-link:is(:hover,:focus-visible) {
  color: #344f65 !important;
  text-decoration: underline;
  text-underline-offset: .15em;
}
.entry-content .juicepage-sample-card__action a:is(:hover,:focus-visible,:active),
.ct-container .juicepage-sample-card__action a:is(:hover,:focus-visible,:active) {
  color: #fff !important;
  background: #2b2b2b !important;
  border-color: #2b2b2b !important;
}
/* Primary actions match the homepage hero's black button. */
body :is(.wp-element-button, .ct-button, .wpcf7-submit, button[type="submit"], input[type="submit"], a[class*="button"], .juicepage-sample-card__action a) {
  background: #111 !important;
  border-color: #111 !important;
  color: #fff !important;
}
/* Keep the label readable on hover, keyboard focus, and touch press. */
body :is(.wp-element-button, .ct-button, .wpcf7-submit, button[type="submit"], input[type="submit"], a[class*="button"], .juicepage-sample-card__action a):is(:hover,:focus-visible,:active) {
  background: #2b2b2b !important;
  border-color: #2b2b2b !important;
  color: #fff !important;
  text-decoration: none;
}
/* Secondary outline buttons stay secondary instead of becoming solid. */
body :is(.is-style-outline .wp-element-button, .juicepage-home-submit-cta__button--secondary) {
  background: transparent !important;
  border-color: #111 !important;
  color: #111 !important;
}
body :is(.is-style-outline .wp-element-button, .juicepage-home-submit-cta__button--secondary):is(:hover,:focus-visible,:active) {
  background: #f0f1f2 !important;
  border-color: #111 !important;
  color: #111 !important;
}

/* Feedback panel and rating widget. */
.juicepage-feedback-panel {
  margin: 3rem 0; padding: clamp(1.5rem, 4vw, 3rem);
  background: #f5f3ed; border: 1px solid #dedbd3; border-top: 4px solid #1d1d1b;
}
.juicepage-feedback-panel > h2 {
  margin: 0 0 .75rem; font-size: clamp(2rem, 4vw, 3rem); line-height: 1.1;
}
.juicepage-feedback-panel > .juicepage-feedback-guidance {
  max-width: 42rem; margin: 0 0 1.75rem; line-height: 1.65;
}
.juicepage-feedback-panel #juicepage-comments {
  padding: clamp(1rem, 3vw, 2rem); background: #fff; border: 1px solid #dedbd3;
}
#wpdcom .wpd-post-rating-wrap, #wpdcom .wpd-rating-wrap {
  width: 100% !important; max-width: none !important; padding: 1rem 1.15rem !important;
  background: #fbfaf6; border: 1px solid #dedbd3; box-sizing: border-box;
}
#wpdcom .wpd-post-rating-title, #wpdcom .wpd-rating-title, #wpdcom [class*="rating-title"] {
  display: block !important; width: 100% !important; max-width: none !important;
  margin-bottom: .65rem !important; font-weight: 700 !important; line-height: 1.35 !important;
  white-space: normal !important; word-break: normal !important;
  overflow-wrap: normal !important; hyphens: none !important; text-align: left !important;
}
/* wpDiscuz uses two star layers: keep only the interactive layer visible on hover. */
.juicepage-feedback-panel #wpd-post-rating .wpd-rating-wrap .wpd-rate-starts {
  display: none !important;
}
.juicepage-feedback-panel #wpd-post-rating.wpd-not-rated .wpd-rating-wrap .wpd-rating-data:hover .wpd-rating-stars {
  display: none !important;
}
.juicepage-feedback-panel #wpd-post-rating.wpd-not-rated .wpd-rating-wrap .wpd-rating-data:hover .wpd-rate-starts {
  display: flex !important;
}
.juicepage-feedback-panel--unified #wpd-post-rating .wpd-rating-wrap .wpd-rating-left,
.juicepage-feedback-panel--unified #wpd-post-rating .wpd-rating-wrap .wpd-rating-right { display: none; }
.juicepage-feedback-panel--unified #wpd-post-rating .wpd-rating-wrap .wpd-rating-data {
  width: 100%; align-items: flex-start; text-align: left;
}
.juicepage-feedback-panel--unified #wpd-post-rating .wpd-rating-wrap .wpd-rating-title {
  width: 100% !important; margin: 0 0 10px !important; text-align: left !important;
}
.juicepage-feedback-panel--unified #wpd-post-rating .wpd-rating-wrap .wpd-rating-stars,
.juicepage-feedback-panel--unified #wpd-post-rating .wpd-rating-wrap .wpd-rate-starts {
  justify-content: flex-start !important;
}
.juicepage-feedback-status, .juicepage-comment-hint { display: none !important; }
/* The guest website field is optional and irrelevant to sample feedback. */
.juicepage-feedback-panel #wpdcom .wc_website-wrapper { display: none !important; }
@media (max-width: 700px) {
  .juicepage-feedback-panel { margin-inline: -1.25rem; border-right: 0; border-left: 0; }
  .juicepage-feedback-panel #juicepage-comments { padding: 1rem; }
}

/* Legacy book-detail template retained in case a page still uses it. */
.jp-book-page { max-width: 1200px; margin: 60px auto; padding: 0 20px; }
.jp-book-top { display: flex; gap: 50px; align-items: flex-start; margin-bottom: 50px; }
.jp-book-cover { flex: 0 0 320px; }
.jp-book-cover img { width: 100%; height: auto; border-radius: 8px; box-shadow: 0 12px 30px rgba(0,0,0,.15); }
.jp-book-info { flex: 1; }
.jp-book-info h1 { margin-top: 0; font-size: 42px; }
.jp-price { font-size: 32px; font-weight: 700; margin: 25px 0; }
.jp-description { font-size: 18px; line-height: 1.7; margin-bottom: 30px; }
.jp-purchase .edd-submit { font-size: 18px; padding: 16px 30px; }
.jp-content { margin-top: 60px; border-top: 1px solid #eee; padding-top: 40px; }
@media (max-width: 768px) {
  .jp-book-top { flex-direction: column; }
  .jp-book-cover { flex: none; width: 100%; max-width: 320px; }
}

/* Page-level layout corrections. */
body.home .entry-header, body.home h1.page-title, body.home .entry-title { display: none !important; }
@media (min-width: 1024px) {
  .ct-header .menu-item.juicepage-menu-submit > a {
    height: auto !important; min-height: 42px; align-self: center; box-sizing: border-box;
  }
  .juicepage-catalogue-page .juicepage-catalogue-filters {
    grid-template-columns: minmax(0, 1fr) minmax(190px, 250px) auto; align-items: end;
  }
  .juicepage-catalogue-page .juicepage-catalogue-search { grid-column: 1; grid-row: 1; }
  .juicepage-catalogue-page .juicepage-catalogue-mobile-row { display: contents; }
  .juicepage-catalogue-page .juicepage-catalogue-mobile-row > p { grid-column: 2; grid-row: 1; }
  .juicepage-catalogue-page .juicepage-catalogue-mobile-row > button {
    grid-column: 3; grid-row: 1; margin: 0;
  }
  .juicepage-catalogue-page .juicepage-catalogue-filter-panel:not([hidden]) {
    grid-column: 1 / -1; display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr)) auto; gap: 16px; align-items: end;
  }
  .juicepage-catalogue-page .juicepage-catalogue-filters__submit { grid-column: auto; align-self: end; }
  .juicepage-catalogue-page .juicepage-catalogue-grid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 350px)); justify-content: center;
  }
  body.page-id-19 .hero-section { width: min(780px, calc(100% - 48px)); max-width: none; margin-inline: auto; }
  body.home .juicepage-home-submit-cta__inner { padding-block: 56px; }
  body.home .juicepage-home-submit-cta .juicepage-home-submit-cta__text p {
    width: 100%; max-width: none; text-align: center;
  }
}
@media (max-width: 767px) {
  .juicepage-catalogue-page .juicepage-catalogue-mobile-row {
    display: grid !important; grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 12px; align-items: end;
  }
  .juicepage-catalogue-page .juicepage-catalogue-mobile-row > p {
    grid-column: 1; grid-row: 1; margin: 0;
  }
  .juicepage-catalogue-page .juicepage-catalogue-mobile-row > button {
    grid-column: 2; grid-row: 1; width: auto !important; min-width: 110px; margin: 0;
  }
}
