@charset "UTF-8";
/*
 * Theme Name: My Timber Starter Theme
 * Description: Starter Theme to use with Timber
 * Author: Upstatement and YOU!
*/

@media print {
  #header, #footer, .account-user, #my-account-nav, nav.account-nav, .my-account-header { display: none !important; }
  .absolute-footer, html { background-color: #fff !important; }
  mark { background-color: #fff !important; }
.cert-container {
max-width: 100%;
margin: 0;
border: 0px dashed #ddd;
padding: 50px;
}
}


*, *:before, *:after {
  box-sizing: border-box;
}

.button {
  border-radius: 5px !important;
}

.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
}
.embed-container iframe, .embed-container object, .embed-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#video-carousel .flickity-page-dots {
  left: 10%;
  right: 10%;
}
#video-carousel .flickity-page-dots .dot {
  width: 24px;
  height: 24px;
  counter-increment: dot;
}
#video-carousel .flickity-page-dots .dot::before {
  display: block;
  text-align: center;
  content: counter(dot);
  line-height: 18px;
  font-size: 16px;
  color: #111;
  font-weight: 700;
  font-family: "Libre Baskerville", sans-serif;
}
#video-carousel .flickity-page-dots .dot.is-selected::before {
  color: #fff;
}
#video-carousel .flickity-slider > div.carousel-cell {
  width: 100% !important;
  margin-right: 10px;
  background: #EEE;
  border-radius: 5px;
  margin-bottom: 60px;
  overflow: hidden;
}
#video-carousel h3 {
  font-size: 16px;
  padding: 20px 20px 10px;
  margin: 0;
}
#video-carousel h2 {
  padding: 10px 20px 20px;
  font-size: 20px;
  margin: 0;
  min-height: 72px;
}

.sponsor-wrapper h2 {
  margin-top: 50px;
  margin-bottom: 50px;
}

.sponsor-panel {
  display: none;
}
.sponsor-panel.active {
  display: block;
}

.tab-button {
  border-radius: 4px;
  background: #f8f8f8;
}
.tab-button.active {
  background: #A1D067;
  color: white;
}

.clear-filters {
  background: #330067;
  color: white;
  padding: 10px;
  border-radius: 4px;
}
.clear-filters:hover {
  background: #222222;
  color: white;
}

.widget li.chosen a::before {
  background-color: transparent;
  border: 0px solid rgba(0, 0, 0, 0.1);
  content: "✓" !important;
  color: #66CA01 !important;
}

.badge-container {
  margin: 0 !important;
  opacity: 0.75 !important;
}
.badge-container .badge-inner {
  padding: 10px;
}

.woocommerce-conference-title {
  font-weight: 700;
  font-size: 18px;
}

.cpd-information {
  background: #A1D067;
  width: 17px;
  height: 16px;
  display: inline-block;
  text-align: center;
  line-height: 10px;
  padding: 3px;
  border-radius: 50%;
  font-weight: 700;
  color: white;
  font-size: 14px;
  margin-left: 5px;
  position: relative;
}
.cpd-information::before {
  content: "Including reading notes and completion of assessment";
  display: none;
  opacity: 0;
  position: absolute;
  color: white;
  width: 150px;
  margin: 0 -70px 0;
  background: black;
  border-radius: 4px;
  padding: 5px;
  line-height: 12px;
  font-size: 10px;
  height: 47px;
  top: -55px;
  transition: all 0.5s ease-in-out;
}
.cpd-information::after {
  content: "";
  display: none;
  opacity: 0;
  position: absolute;
  width: 10px;
  background: black;
  border-radius: 2px;
  height: 10px;
  top: -15px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  transition: all 0.5s ease-in-out;
}
.cpd-information:hover::before {
  display: block;
  opacity: 1;
  transition: all 0.5s ease-in-out;
}
.cpd-information:hover::after {
  display: block;
  opacity: 1;
  transition: all 0.5s ease-in-out;
}

.sponsor-container {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-align-items: center;
          align-items: center;
  -webkit-justify-content: center;
          justify-content: center;
  gap: 50px;
}
.sponsor-container .sponsor-block {
  -webkit-flex-basis: 25%;
          flex-basis: 25%;
  -webkit-flex-grow: 1;
          flex-grow: 1;
  max-width: 200px;
  text-align: center;
  max-height: 160px;
}
.sponsor-container .sponsor-block img {
  max-width: 200px;
  max-height: 160px;
}

.woof_products_top_panel {
  display: none !important;
}

.woocommerce-ordering {
  display: none !important;
}

dt.variation-Name, dt.variation-Notes, dt.variation-Venue {
  margin-top: 10px;
  border-top: 1px solid #ccc;
  padding-top: 10px;
}
dt.variation-Name:first-child {
  margin-top: 0;
  border-top: 0 solid #ccc;
  padding-top: 0;
}

.variation {
  text-transform: revert;
}
.variation dt {
  display: block;
  font-weight: 700;
}

.cart_item .product-thumbnail a {
  display: none;
}

td.product-thumbnail {
  min-width: 0 !important;
  max-width: 0 !important;
  width: 0 !important;
}

.cart .title {
  max-width: 100px;
}

#order_comments-description {
  display: block !important;
}

#terms_conditions-description {
  display: block !important;
}

/* Hide default WC price and meta — we render these in the sidebar box */
.single-product .product-summary .price-wrapper,
.single-product .product-summary .woocommerce-product-details__short-description,
.single-product .product-summary .product_meta {
  display: none !important;
}

/* ── Product page sidebar ─────────────────────────────────────────────────── */

.prc-product-sidebar {
  display: flex;
  flex-direction: column;
  gap: .85rem;
}

.prc-sidebar-box {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 1.25rem 1.35rem;
  box-shadow: 0 1px 3px rgba(0,0,0,.06);
}

.prc-sidebar-box__title {
  font-size: 1.05rem;
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 .9rem;
  padding: 0;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}

/* Details list */
.prc-details-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .6rem;
}

.prc-details-list__item {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  font-size: .875rem;
  color: #334155;
  line-height: 1.45;
}

.prc-details-list__icon {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: .1rem;
  color: #66ca01;
}

.prc-details-list__icon svg,
.prc-details-list__icon img {
  width: 18px;
  height: 18px;
  display: block;
}

.prc-access-note img {
  width: 18px;
  height: 18px;
  display: block;
  flex-shrink: 0;
  margin-top: .1rem;
}

.prc-sidebar-btn img {
  width: 16px;
  height: 16px;
  display: block;
  flex-shrink: 0;
}

.prc-details-list__text a {
  color: #66ca01;
  text-decoration: underline;
}

/* Sidebar buttons */
.prc-sidebar-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  width: 100%;
  padding: .75rem 1.25rem;
  border-radius: 8px;
  font-size: .9rem;
  font-weight: 600;
  text-align: center;
  text-decoration: none !important;
  cursor: pointer;
  transition: opacity .15s ease, background .15s ease;
  box-sizing: border-box;
}

.prc-sidebar-btn--book {
  background: #5D9D1B;
  color: #fff !important;
  border: none;
}

.prc-sidebar-btn--book:hover {
  background: #4e8716;
  color: #fff !important;
}

.prc-sidebar-btn--primary {
  background: #66ca01;
  color: #fff !important;
  border: none;
}

.prc-sidebar-btn--primary:hover {
  background: #58b000;
  color: #fff !important;
}

.prc-sidebar-btn--outline {
  background: #f1f5f9;
  color: #334155 !important;
  border: 1px solid #cbd5e1;
}

.prc-sidebar-btn--outline:hover {
  background: #e2e8f0;
  color: #334155 !important;
}

/* Access box */
.prc-access-note {
  display: flex;
  align-items: flex-start;
  gap: .5rem;
  font-size: .85rem;
  color: #475569;
  margin: 0 0 .5rem;
  line-height: 1.5;
}

.prc-access-note svg {
  flex-shrink: 0;
  margin-top: .1rem;
  color: #66ca01;
}

.prc-access-note--sub {
  padding-left: 1.6rem;
  margin: 0;
}

.prc-access-note strong {
  display: inline;
  font-size: inherit !important;
  font-weight: 700;
  color: #0f172a;
  background: rgba(0, 0, 0, 0.07) !important;
  padding: 0.1em 0.45em !important;
  border-radius: 5px !important;
  border: none !important;
}
.product-summary .cart {
  border: 1px solid #ddd;
  padding: 1rem;
  border-radius: 10px;
  background-color: #f8f8f8;
}
.product-summary .cart label[for=for-self] {
  font-weight: unset;
  font-size: unset;
  line-height: unset;
  margin-bottom: 20px;
}
.product-summary .cart button {
  margin-bottom: 0;
}
.product-summary .cart .quantity {
  margin-bottom: 0;
}
.product-summary .cart #team-fields-container #self-toggle {
  margin: 0;
}
.product-summary .cart #team-fields-container .team-member-repeater {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 0 30px;
  background: white;
  padding: 1rem;
  border-radius: 10px;
  border: 1px solid #ddd;
  margin-bottom: 20px;
}
.product-summary .cart #team-fields-container .team-member-repeater.hide {
  display: none;
}
.product-summary .cart #team-fields-container .team-member-repeater > label {
  display: none;
}
.product-summary .cart #team-fields-container .team-member-repeater > h3 {
  -webkit-flex: 1 1 100%;
          flex: 1 1 100%;
}
.product-summary .cart #team-fields-container .team-member-repeater > * {
  -webkit-flex: 1 1 320px;
          flex: 1 1 320px;
}

.conference-message {
  background: #f9f9f9;
  display: block;
  padding: 10px 15px;
  margin-bottom: 20px;
  border-radius: 6px;
  border-color: #320067;
  border-width: 1px;
  border-style: solid;
  color: red;
  font-weight: 600;
}

.meal-radios {
  display: -webkit-flex;
  display: flex;
}

.wc-pao-addon-lunch, .wc-pao-addon-parking  {
  display: none !important;
}

.meal-radios label {
  margin-right: 25px;
}

.sponsors-container {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 30px;
}
.sponsors-container .sponsor-block {
  -webkit-flex-basis: 160px;
          flex-basis: 160px;
}
.sponsors-container .sponsor-block .sponsor-logo {
  width: 100%;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.sponsors-container .sponsor-block .sponsor-logo::after {
  padding-bottom: 100%;
  display: block;
  content: "";
}
.sponsors-container .sponsor-block h3 {
  text-align: center;
}

.invalid {
  border-color: red !important;
}
.invalid.incorrect + span:after {
  content: "Email Addresses is not valid";
}
.invalid.duplicate + span:after {
  content: "Each delegate must have a unique Email Address";
}
.invalid.mismatch + span:after {
  content: "Email Addresses do not match";
}

#meal-options {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 0 30px;
  background: white;
  padding: 1rem;
  border-radius: 10px;
  border: 1px solid #ddd;
  margin-bottom: 20px;
}
#meal-options div {
  -webkit-flex: 1 1 180px;
          flex: 1 1 180px;
}

.answer {
  background: #eee;
  display: block !important;
  padding: 20px !important;
  border-radius: 5px;
  line-height: 25px;
}

input[type=radio]:checked + label.answer, input[type=checkbox]:checked + label.answer {
  background: #333;
  color: white;
}


input[type=radio].answer, input[type=checkbox].answer {
  display: none !important;
}

.watupro-question-choice {
  margin: 0 !important;
}

.question-content {
  font-family: "Libre Baskerville", sans-serif;
  font-size: 1em;
  font-weight: 700;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  line-height: 1.2;
}

.single-product div.watu-question {
  margin-top: 6px !important;
}

.watu-question {
  border-bottom: 1px solid #eee;
  padding-bottom: 50px !important;
  margin-bottom: 50px;
  padding-top: 0 !important;
}
.watu-question:last-child {
  border-bottom: 0px solid #eee;
  padding-bottom: 0px !important;
  margin-bottom: 0px;
}

.watupro-exam-description {
  display: none;
}

.single-product .quiz-form label {
  max-width: 100%;
}

.hide, .product-gallery, #preorder_date_field {
  display: none !important;
}

.product-addon-totals li:not(.wc-pao-subtotal-line) {
  display: none !important;
}

.product-summary .woocommerce-Price-currencySymbol {
  font-size: unset !important;
  vertical-align: unset !important;
  margin-top: 0 !important;
}

div.product-addon-totals {
  margin: 0;
  padding: 0;
  border-top: 0 solid #eee;
  border-bottom: 0 solid #eee;
}

div.product-addon-totals .wc-pao-subtotal-line {
  border-top: 0px solid #eee;
  padding: 10px 0;
  margin-top: 0;
}

div.product-addon-totals .wc-pao-subtotal-line {
  -webkit-justify-content: flex-start;
          justify-content: flex-start;
  margin-left: 0;
}

.wc-pao-addon .form-row {
  margin-bottom: 0;
}

.price-wrapper {
  display: none !important;
}

.woocommerce-MyAccount-content .widefat tr th:nth-child(3) {
  display: none;
}
.woocommerce-MyAccount-content .widefat tr td:nth-child(3) {
  display: none;
}

.woocommerce-MyAccount-content a {
  color: #330067;
  text-decoration: underline;
}

.woocommerce-orders-table__cell-order-items br + a {
  border-top: 1px solid #eee;
  display: block;
  margin-top: 10px;
  padding-top: 10px;
}

/* --- Sidebar CTAs --- */

.cta_header h3 {
    margin: 0px;
    color: white;
    text-align: center;
}
.cta_header {
    background-color: #39006C;
    padding: 10px;
}
.cta_body p {
    margin: 0px;
    text-align: center;
}
.cta_content {
    padding: 10px;
    text-align: center;
    border: 5px solid #39006C;
}
.tcs {
    font-size: 10px;
    color: gray;
}

dl.variation dt {
float: none !important;
}

.logged-in .nav>li.logged-out-hide {
  display: unset;
}

.nav>li.logged-out-hide {
  display: none;
}

.product-info .breadcrumbs {
font-size: 1.25em !important;
border-bottom: 2px solid #66ca01;
margin-bottom: 20px !important;
padding-bottom: 15px;
}

.woocommerce-info.message-wrapper {
font-weight: bold;
color: #66ca01;
}

#watupro_quiz h2 p {
display: inline-block;
}

#watupro_quiz a {
color: #66ca01;
background: transparent !important;
margin-bottom: 20px;
}

#watupro_quiz .watupro-gtitle {
display: none;
}

#watupro_quiz #startOutput {
display: none;
}

.cert-container {
max-width: 600px;
margin: 0 auto;
border: 1px dashed #ddd;
padding: 50px;
position: relative;
}

.cert-container .section {
position: absolute;
left: 0;
top: 0;
}

.woocommerce-edit-address .woocommerce-MyAccount-content h3 {
display: none;
}

#place_order {
margin-bottom: 100px;
}

.cross-sells .products .product {
  width:  50% !important;
  max-width:  50% !important;
  flex-basis:  50% !important;
}

@media only screen and (min-width: 600px){
  .desktop-hide{
    display: none;
  }
}

@media only screen and (max-width: 600px){
  .mobile-hide{
    display: none;
  }
}

/*honeypot*/

.acf-twitter {
  visibility: hidden;
}

.bundled_product_summary {
  display: none !important;
}

.bundle_form #buymore {
  display: none !important;
}

tr.bundled_table_item td.product-quantity {
  display: none;
}

tr.bundled_table_item td.product-name {
  font-size: .85em !important;
  padding: 0 0 5px 0 !important;
}

/* cart + checkout review tables */
.woocommerce .product-name .variation {
  display: grid;
  grid-template-columns: max-content 1fr; /* label | value */
  column-gap: 8px;
  row-gap: 2px;
}

.woocommerce .product-name .variation dt,
.woocommerce .product-name .variation dd {
  margin: 0;      /* remove default spacing */
  display: contents; /* let grid place label/value cleanly */
}

/* (fallback if your theme dislikes display: contents) */
/*
.woocommerce .product-name .variation dt { grid-column: 1; }
.woocommerce .product-name .variation dd { grid-column: 2; }
*/


/* ── Booking Modal ────────────────────────────────────────────────────────── */

.prc-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
  align-items: center;
  justify-content: center;
}

.prc-modal:not([hidden]) {
  display: flex;
}

.prc-modal-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}

.prc-modal-container {
  position: relative;
  background: transparent;
  border-radius: 12px;
  padding: 0;
  width: 92%;
  max-width: 620px;
  max-height: 90vh;
  overflow-y: auto;
  z-index: 1;
}

/* Header row injected inside form.cart — title left, close right */
.prc-modal-form-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

.prc-modal-title {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.3;
}

.prc-modal-close {
  flex-shrink: 0;
  background: none;
  border: none;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  color: #888;
  padding: 0.1rem 0.3rem;
  margin-left: auto;
}

.prc-modal-close:hover {
  color: #333;
}

body.prc-modal-open {
  overflow: hidden;
}

/* form.cart is rendered inside #prc-booking-modal by PHP (remove_action prevents
   it appearing in the normal summary flow), so no CSS hide rule needed here. */

/* ── Two-column product summary layout ───────────────────────────────────────
   Left: title + product tabs (main content)
   Right: prc-product-sidebar (Details box, Book Now, Access — sticky)
   Applies only on screens wide enough to show both columns comfortably.
   The modal (#prc-booking-modal) is position:fixed so it never affects flow.
---------------------------------------------------------------------------- */
@media (min-width: 850px) {
  .single-product .entry-summary {
    display: grid !important;
    grid-template-columns: 1fr 320px;
    column-gap: 2.5rem;
    align-items: start;
  }

  /* Everything defaults to the left column */
  .single-product .entry-summary > * {
    grid-column: 1;
    min-width: 0; /* prevent grid blowout */
  }

  /* Sidebar sits in the right column, spanning all rows, sticky on scroll */
  .single-product .entry-summary > .prc-product-sidebar {
    grid-column: 2;
    grid-row: 1 / span 20;
    position: sticky;
    top: 1.5rem;
  }
}

/* mini-cart widget only */
.widget_shopping_cart .variation .variation-Includes {
  display: none !important;
}