/* Service-page audit corrections. Load AFTER orchidable-pages.css.
   Uses existing native CF7/Brevo/Woo markup; no form actions or safety guards. */

/* CF7's acceptance checkbox must not inherit the 44px text-input height. */
.or-contact-form input[type="checkbox"],
.or-newsletter-form input[type="checkbox"] {
  width:18px!important;
  height:18px;
  min-height:0;
  margin:0 8px 0 0;
  vertical-align:middle;
  padding:0;
  accent-color:var(--or-green);
}
.or-contact-form .wpcf7-list-item { margin-left:0; }
.or-contact-form .wpcf7-acceptance .wpcf7-list-item { margin-block:8px; }
.or-contact-form label a,
.or-newsletter-form label a,
.or-account-page .woocommerce-privacy-policy-text a {
  text-decoration:underline;
  text-underline-offset:3px;
}
.or-contact-form textarea { resize:vertical; }
.or-contact-form :is(input,textarea):focus-visible,
.or-newsletter-form :is(input,select):focus-visible,
.or-account-page :is(input,button,a):focus-visible,
.or-cart-page :is(input,button,a):focus-visible,
body.woocommerce-checkout #main :is(input,select,textarea,button,a):focus-visible {
  outline:2px solid #a64d35;
  outline-offset:3px;
}

/* Native forms use the same calm, square fields as the approved prototype. */
.or-account-page input:is([type="text"],[type="email"],[type="password"]),
.or-account-page .woocommerce-ResetPassword input[type="text"],
body.woocommerce-checkout #main form.checkout :is(input.input-text,select,textarea),
.or-cart-page input.input-text {
  min-height:48px;
  border:1px solid #bdc8b7;
  border-radius:0;
  box-shadow:none;
  background:#fff;
  color:var(--or-green);
}
.or-account-page .woocommerce-form :is(label,.woocommerce-privacy-policy-text),
body.woocommerce-checkout #main form.checkout label { font-size:13px; line-height:1.6; }
.or-account-page .woocommerce-form :is(h2,h3),
.or-account-page #customer_login h3 { font-size:32px; text-transform:none; }
.or-account-page .woocommerce-ResetPassword { max-width:650px; }
.or-account-page .woocommerce-LostPassword a { text-decoration:underline; text-underline-offset:3px; }
.or-account-page .woocommerce-form { margin-bottom:0; }

/* Strengthen text contrast on sage panels without changing the global palette. */
.or-news-side p,
.or-newsletter-signup p:not(.or-eyebrow),
.or-help-page .accordion-inner,
.or-festival-story p:not(.or-eyebrow),
.or-festival-information p { color:#526451; }
.or-news-side .col-inner { height:auto; }
.or-news-page .box-text { padding-top:22px; }
.or-help-page .accordion-title { padding-left:38px; }
.or-help-page .accordion-title button.toggle { left:0; }

/* Real links, with a current-language state and comfortable touch targets. */
.or-festival-language-nav { gap:8px; }
.or-festival-language-nav a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:52px;
  min-height:44px;
  padding:10px 16px;
  border:1px solid #a5b39b;
  color:var(--or-green);
  font-size:12px;
}
.or-festival-language-nav a[aria-current="page"] {
  color:var(--or-cream);
  background:var(--or-green);
  border-color:var(--or-green);
  font-weight:700;
}
.or-festival-details>.col-inner { border-top:1px solid var(--or-line); padding-top:24px; }
.or-festival-details h3 { overflow-wrap:anywhere; }
.or-legal-copy { min-width:0; }
.or-legal-copy :is(a,p,li) { overflow-wrap:anywhere; }
.or-legal-copy a { text-decoration:underline; text-underline-offset:3px; }

/* Order summary hierarchy is scoped to the native checkout, preserving notices. */
body.woocommerce-checkout #main #order_review {
  background:#e8ebdf;
  border:1px solid var(--or-line);
  padding:26px;
}
body.woocommerce-checkout #main #order_review_heading { font-size:32px; text-transform:none; }
body.woocommerce-checkout #main .woocommerce-checkout-review-order-table :is(th,td) {
  border-color:#c9d1be;
  line-height:1.6;
}
body.woocommerce-checkout #main .woocommerce-checkout-review-order-table .product-name {
  overflow-wrap:anywhere;
}
body.woocommerce-checkout #main .woocommerce-checkout-review-order-table .order-total {
  font-size:17px;
}
.or-cart-page .cart_totals :is(th,td) { border-color:#c9d1be; }
.or-cart-page .cart_totals .order-total { font-size:17px; }

@media(max-width:549px) {
  /* 16px prevents iOS focus zoom and keeps native form text readable. */
  .or-contact-form :is(input:not([type="checkbox"]):not([type="hidden"]):not([type="submit"]),textarea),
  .or-newsletter-form input:not([type="checkbox"]):not([type="hidden"]):not([type="submit"]),
  .or-account-page input:is([type="text"],[type="email"],[type="password"]),
  body.woocommerce-checkout #main form.checkout :is(input.input-text,select,textarea),
  .or-cart-page input.input-text { font-size:16px; }
  .or-contact-form input[type="submit"],
  .or-newsletter-form input[type="submit"],
  .or-account-page .woocommerce-form button[type="submit"],
  .or-account-page .woocommerce-ResetPassword button[type="submit"] {
    width:100%;
    margin-right:0;
    white-space:normal;
  }
  .or-contact-direct h3 { font-size:23px; line-height:1.35; }
  .or-help-page .accordion-title { font-size:22px; padding-right:8px; }
  .or-help-page .accordion-inner { padding-left:16px; padding-right:8px; }
  body.woocommerce-checkout #main #order_review { padding:20px 16px; }
  .or-cart-page .cart_totals { padding:22px 18px; }
  .or-festival-details>.col-inner { padding-top:18px; }
}
