/* JO Harmonia — scoped to single WooCommerce products. */
body.jo-harmonia-product { background: #08111f; }
body.jo-harmonia-product #main { padding: 0 0 72px !important; background: radial-gradient(ellipse at 0 12%,rgba(12,61,84,.46),transparent 55%),#08111f; color: #c5d0da; }
body.jo-harmonia-product #main-content .page-header { background: #08111f !important; }
body.jo-harmonia-product #main > .wgl-container { width: min(1180px,calc(100% - 48px)); max-width: 1180px; padding: 0; }
body.jo-harmonia-product #main > .wgl-container > .row { margin: 0; }
body.jo-harmonia-product #main-content { width: 100%; padding: 0; }
body.jo-harmonia-product #main .sidebar { display: none; }
.jo-harmonia-product #main-content .jo-product { font: 400 18px/1.7 'Source Sans Pro',Arial,sans-serif; }
.jo-product *, .jo-product *::before, .jo-product *::after { box-sizing: border-box; }
.jo-harmonia-product #main-content .jo-product :is(h1,h2,h3,h4) { font-family: Raleway,Arial,sans-serif; font-weight: 600; }
.jo-harmonia-product #main-content .jo-product-intro { padding: 30px 0 40px; max-width: 1020px; }
.jo-harmonia-product #main-content .jo-product .jo-product-eyebrow { margin: 0 0 14px; color: #e1c477; font: 700 12px/1.5 'Source Sans Pro',Arial,sans-serif; letter-spacing: 1.8px; text-transform: uppercase; }
.jo-harmonia-product #main-content .jo-product .product_title { margin: 0 0 22px; color: #fbfaf7; font-size: clamp(32px,3.7vw,52px); line-height: 1.17; letter-spacing: -1.2px; overflow-wrap: anywhere; }
.jo-harmonia-product #main-content .jo-product-detail-link { color: #e1c477; font-size: 15px; text-decoration: underline; text-underline-offset: 5px; }
.jo-harmonia-product #main-content .jo-product-detail-link span { margin-left: 12px; }
.jo-harmonia-product #main-content .jo-product-hero { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); gap: 42px; align-items: start; }
.jo-harmonia-product #main-content .jo-product-visual { min-width: 0; }
body.jo-harmonia-product.woocommerce #main-content div.product .woocommerce-product-gallery { float: none; width: 100%; margin: 0; }
.jo-harmonia-product #main-content .woocommerce-product-gallery__wrapper { margin: 0; border-radius: 18px; overflow: hidden; background: #fbfaf7; }
.jo-harmonia-product #main-content .woocommerce-product-gallery__image img { width: 100%; height: auto; }
.jo-harmonia-product #main-content .woocommerce-product-gallery .flex-control-thumbs { margin-top: 14px !important; }
.jo-harmonia-product #main-content .woocommerce-product-gallery .flex-control-thumbs img { border-radius: 8px; }
.jo-harmonia-product #main-content .jo-product-visual-caption { display: flex; gap: 12px; align-items: center; padding: 20px 0; margin: 0; color: #c5d0da; font-size: 15px; }
.jo-harmonia-product #main-content .jo-product-visual-caption span { color: #e1c477; }
body.jo-harmonia-product.woocommerce #main-content div.product .summary { float: none; width: 100%; min-width: 0; margin: 0; padding: clamp(22px,3vw,36px); background: #fbfaf7; border: 1px solid #e8e0d1; border-radius: 18px; color: #53616b; box-shadow: 0 20px 60px #0002; }
.jo-harmonia-product #main-content .jo-product .summary .jo-product-eyebrow { color: #80642d; margin-bottom: 10px; }
.jo-harmonia-product #main-content .jo-product .jo-product-booking-title { color: #172033; font-size: clamp(25px,2.3vw,32px); line-height: 1.25; margin: 0 0 14px; letter-spacing: -.6px; }
.jo-harmonia-product #main-content .jo-product-status { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 22px; padding: 5px 12px; border-radius: 30px; background: #eee9df; color: #675734; font-size: 13px; line-height: 1.5; }
.jo-harmonia-product #main-content .jo-product-status--open { background: #e9efe8; color: #365744; }
.jo-harmonia-product #main-content .jo-product-status--open::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.jo-harmonia-product #main-content .jo-product-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 24px; margin: 0 0 24px; padding: 20px 0; border-block: 1px solid #e2ddcf; }
.jo-harmonia-product #main-content .jo-product-facts div { min-width: 0; }
.jo-harmonia-product #main-content .jo-product-facts dt { color: #706346; font-size: 12px; line-height: 1.5; font-weight: 600; }
.jo-harmonia-product #main-content .jo-product-facts dd { color: #172033; font-size: 17px; line-height: 1.5; margin: 3px 0 0; font-weight: 600; overflow-wrap: anywhere; }
body.jo-harmonia-product.woocommerce #main-content div.product .summary .price { color: #172033; font-size: 30px; font-weight: 600; line-height: 1.4; margin-bottom: 18px; }
.jo-harmonia-product #main-content .summary .price del { color: #69717a; font-size: .65em; }
.jo-harmonia-product #main-content .summary .price ins { background: transparent; }
.jo-harmonia-product #main-content .woocommerce-product-details__short-description { color: #53616b; font-size: 17px; line-height: 1.65; }
.jo-harmonia-product #main-content .summary :is(p,li,span) { overflow-wrap: break-word; }
body.jo-harmonia-product.woocommerce #main-content div.product form.cart { margin: 24px 0; }
.jo-harmonia-product #main-content .summary form.cart:not(.variations_form):not(.grouped_form) { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.jo-harmonia-product #main-content .summary .quantity { margin: 0 !important; }
.jo-harmonia-product #main-content .summary input.qty { min-height: 48px; max-width: 90px; color: #172033; background: #fff; border: 1px solid #d5cdbd; border-radius: 8px; }
.jo-harmonia-product #main-content .summary select { max-width: 100%; background: #fff; color: #172033; border: 1px solid #d5cdbd; border-radius: 8px; }
body.jo-harmonia-product.woocommerce #main-content .jo-product :is(.button,button[type=submit],input[type=submit]) { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 15px 24px; border: 1px solid var(--jo-button-border); border-radius: 8px; background: var(--jo-button-gold-gradient); color: var(--jo-button-color) !important; box-shadow: 0 14px 30px rgba(201,162,39,.32),inset 0 1px 0 rgba(255,255,255,.42); font: 800 15px/1.15 'Source Sans Pro',Arial,sans-serif; text-shadow: var(--jo-button-text-shadow); text-transform: none; white-space: normal; text-align: center; transition: background 180ms ease,box-shadow 180ms ease,transform 180ms ease; }
body.jo-harmonia-product.woocommerce #main-content .jo-product :is(.button,button[type=submit],input[type=submit]):hover { border-color: var(--jo-button-border); background: var(--jo-button-hover-gradient); box-shadow: 0 16px 32px rgba(12,61,84,.28),inset 0 1px 0 rgba(255,255,255,.12); transform: translateY(-1px); }
body.jo-harmonia-product.woocommerce #main-content .jo-product :is(.button,button[type=submit],input[type=submit]):focus-visible { outline: 3px solid #fff; outline-offset: 3px; box-shadow: var(--jo-button-focus-shadow); }
.jo-harmonia-product #main-content .summary .single_add_to_cart_button { flex: 1; }
.jo-harmonia-product #main-content .jo-product-help { margin: 22px 0 0; padding-top: 20px; border-top: 1px solid #e2ddcf; font-size: 14px; line-height: 1.7; }
.jo-harmonia-product #main-content .jo-product-help a { display: block; color: #675125; text-decoration: underline; text-underline-offset: 3px; }
.jo-harmonia-product #main-content .jo-product-next { color: #675125; font-size: 16px; text-decoration: underline; text-underline-offset: 4px; }
body.jo-harmonia-product.woocommerce #main-content div.product .product_meta { margin-top: 22px; padding-top: 18px; border-top: 1px solid #e2ddcf; color: #69717a; font-size: 12px; line-height: 1.8; }
.jo-harmonia-product #main-content .product_meta a { color: #675125; }
.jo-harmonia-product #main-content .jo-product-details { padding-top: 56px; scroll-margin-top: 135px; }
body.jo-harmonia-product.woocommerce #main-content div.product .woocommerce-tabs { margin: 0 0 48px; padding: 0; }
body.jo-harmonia-product.woocommerce #main-content div.product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 12px 32px; margin: 0; padding: 0 0 18px; border: 0; }
body.jo-harmonia-product.woocommerce #main-content div.product .woocommerce-tabs ul.tabs::before,
body.jo-harmonia-product.woocommerce #main-content div.product .woocommerce-tabs ul.tabs li::before,
body.jo-harmonia-product.woocommerce #main-content div.product .woocommerce-tabs ul.tabs li::after { display: none; }
body.jo-harmonia-product.woocommerce #main-content div.product .woocommerce-tabs ul.tabs li { margin: 0; padding: 0; border: 0; border-radius: 0; background: none; }
body.jo-harmonia-product.woocommerce #main-content div.product .woocommerce-tabs ul.tabs li a { color: #c5d0da; padding: 10px 0; font: 600 17px/1.4 'Raleway',Arial,sans-serif; }
body.jo-harmonia-product.woocommerce #main-content div.product .woocommerce-tabs ul.tabs li.active a { color: #e1c477; box-shadow: 0 2px #e1c477; }
body.jo-harmonia-product.woocommerce #main-content div.product .woocommerce-tabs .panel { margin: 0; padding: clamp(24px,4vw,56px); background: #fbfaf7; border: 1px solid #e8e0d1; border-radius: 18px; color: #46515c; font-size: 18px; line-height: 1.85; }
.jo-harmonia-product #main-content .woocommerce-tabs .panel :is(h2,h3,h4) { color: #172033; line-height: 1.35; margin: 28px 0 18px; }
.jo-harmonia-product #main-content .woocommerce-tabs .panel > h2:first-child { margin-top: 0; }
.jo-harmonia-product #main-content .woocommerce-tabs .panel p { margin: 0 0 20px; }
.jo-harmonia-product #main-content .woocommerce-tabs .panel a { color: #715722; text-decoration: underline; text-underline-offset: 3px; }
.jo-harmonia-product #main-content .woocommerce-tabs .panel img { max-width: 100%; height: auto; }
.jo-harmonia-product #main-content .woocommerce-tabs .panel :is(input,textarea) { color: #172033; background: #fff; border-color: #d5cdbd; }
.jo-harmonia-product #main-content .jo-product-details > :is(.related,.upsells) > h2 { color: #fbfaf7; margin-bottom: 28px; font-size: 30px; }
.jo-harmonia-product #main-content .jo-product a:focus-visible { outline: 3px solid #b68c30; outline-offset: 4px; }
@media (max-width: 900px) {
 .jo-harmonia-product #main-content .jo-product-hero { gap: 24px; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
 .jo-harmonia-product #main-content .jo-product-facts { gap: 16px; }
}
@media (max-width: 700px) {
 body.jo-harmonia-product #main > .wgl-container { width: calc(100% - 32px); }
 .jo-harmonia-product #main-content .jo-product-intro { padding: 24px 0 28px; }
 .jo-harmonia-product #main-content .jo-product .product_title { letter-spacing: -.7px; }
 .jo-harmonia-product #main-content .jo-product-hero { grid-template-columns: minmax(0,1fr); gap: 24px; }
 .jo-harmonia-product #main-content .jo-product-visual-caption { padding-bottom: 0; }
 .jo-harmonia-product #main-content .jo-product-details { padding-top: 36px; }
 body.jo-harmonia-product.woocommerce #main-content div.product .woocommerce-tabs .panel { padding: 24px 20px; font-size: 17px; }
 .jo-harmonia-product #main-content .jo-product-facts dd { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) { .jo-harmonia-product #main-content .jo-product * { transition: none !important; scroll-behavior: auto !important; } }
/* Resolve the parent theme's single-product resets without affecting the shop. */
body.jo-harmonia-product #main-content div.product .product_title { font-size: clamp(32px,3.7vw,52px); line-height: 1.17; }
body.jo-harmonia-product #main-content div.product div.summary { display: block; padding: clamp(22px,3vw,36px); }
body.jo-harmonia-product #main-content div.product .woocommerce-tabs .panel { padding: clamp(24px,4vw,56px); }
body.jo-harmonia-product #main-content div.product form.cart { padding: 0; background: transparent; border: 0; box-shadow: none; }
body.jo-harmonia-product #main-content .jo-product-status { width: auto; }
.jo-harmonia-product #main-content .jo-product-excerpt { width: 100%; min-width: 0; margin-top: 28px; padding: 0 24px; border: 1px solid #ffffff26; border-radius: 18px; color: #c5d0da; background: #ffffff04; }
.jo-harmonia-product #main-content .jo-product-excerpt summary { display: flex; justify-content: space-between; gap: 12px; padding: 20px 0; cursor: pointer; color: #e1c477; font-size: 17px; list-style: none; }
.jo-harmonia-product #main-content .jo-product-excerpt summary::-webkit-details-marker { display: none; }
.jo-harmonia-product #main-content .jo-product-excerpt[open] summary span { transform: rotate(45deg); }
.jo-harmonia-product #main-content .jo-product-excerpt .woocommerce-product-details__short-description { color: #c5d0da; padding-bottom: 16px; }
.jo-harmonia-product #main-content .jo-product-excerpt :is(h2,h3,h4,strong,a) { color: #fbfaf7; }
.jo-harmonia-product #main-content .jo-product-excerpt summary:focus-visible { outline: 3px solid #e1c477; outline-offset: 4px; }
.jo-harmonia-product #main-content .jo-product-details > :is(.related,.upsells) > :is(h2,h4) { color: #fbfaf7; text-align: left; font-size: 30px; margin: 0 0 28px; }
.jo-harmonia-product #main-content .jo-product-details .wgl-products { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); align-items: stretch; gap: 24px; margin: 0; padding: 0; opacity: 1; visibility: visible; transform: none; }
.jo-harmonia-product #main-content .jo-product-details .wgl-products > li { display: flex; flex-direction: column; align-items: stretch; min-width: 0; height: 100%; float: none; width: auto !important; margin: 0; padding: 0; background: #fbfaf7; border: 1px solid #e8e0d1; border-radius: 18px; overflow: hidden; opacity: 1; visibility: visible; transform: none; }
.jo-harmonia-product #main-content .jo-product-details .woo_product_image { width: 100%; margin: 0; }
.jo-harmonia-product #main-content .jo-product-details .woo_product_image img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
.jo-harmonia-product #main-content .jo-product-details .woo_product_content { padding: 18px 20px 22px; text-align: left; }
.jo-harmonia-product #main-content .jo-product-details .woocommerce-loop-product__title { font-size: 17px; line-height: 1.5; }
.jo-harmonia-product #main-content .jo-product-details .woocommerce-loop-product__title a { color: #172033; }
.jo-harmonia-product #main-content .jo-product-details .wgl-products > li > .button { position: static; order: 3; align-self: stretch; max-width: none; width: auto; margin: auto 20px 20px; opacity: 1; visibility: visible; transform: none; }
@media (max-width: 900px) { .jo-harmonia-product #main-content .jo-product-details .wgl-products { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 700px) {
 body.jo-harmonia-product #main > .wgl-container.single_product { width: calc(100% - 32px) !important; padding: 0 !important; }
 body.jo-harmonia-product #main-content div.product .woocommerce-tabs .panel { padding: 24px 20px; }
}
@media (max-width: 440px) { .jo-harmonia-product #main-content .jo-product-details .wgl-products { grid-template-columns: minmax(0,1fr); } }
body.jo-harmonia-product.single-product.woocommerce #main-content div.product div.summary { padding: clamp(22px,3vw,36px); }
body.jo-harmonia-product.single-product.woocommerce #main-content div.product form.cart { padding: 0; background: transparent; border: 0; box-shadow: none; }
body.jo-harmonia-product.single-product.woocommerce #main-content div.product form.cart .button.single_add_to_cart_button,
body.jo-harmonia-product.single-product.woocommerce #main-content div.product .woocommerce-tabs #respond input#submit { font: 800 15px/1.15 'Source Sans Pro',Arial,sans-serif; text-transform: none; white-space: normal; box-shadow: 0 14px 30px rgba(201,162,39,.32),inset 0 1px 0 rgba(255,255,255,.42) !important; }
body.jo-harmonia-product.single-product.woocommerce #main-content div.product form.cart .button.single_add_to_cart_button:not(.loading):not(.disabled):not(:disabled):not([aria-disabled=true]):not([aria-busy=true]):hover,
body.jo-harmonia-product.single-product.woocommerce #main-content div.product .woocommerce-tabs #respond input#submit:not(.loading):not(.disabled):not(:disabled):not([aria-disabled=true]):not([aria-busy=true]):hover { box-shadow: 0 16px 32px rgba(12,61,84,.28),inset 0 1px 0 rgba(255,255,255,.12) !important; }
body.jo-harmonia-product.single-product.woocommerce #main-content div.product form.cart .button.single_add_to_cart_button::before { content: none; }
body.jo-harmonia-product.single-product.woocommerce #main-content div.product form.cart .quantity .quantity-wrapper .qty { border: 0; background: transparent; }
@media (max-width: 767px) {
 body.jo-harmonia-product.single-product.woocommerce #main > .wgl-container.single_product { width: calc(100% - 32px) !important; margin-inline: auto !important; padding: 0 !important; }
}
@media (max-width: 700px) {
 body.jo-harmonia-product #main-content .jo-product-hero .summary { order: -1; }
}
body.jo-harmonia-product #main-content .post-password-form { margin: 32px 0; padding: 32px; border-radius: 18px; background: #fbfaf7; color: #172033; }
/* Event invitation: a distinct masthead, an editorial date, one primary action. */
body.jo-harmonia-product.single-product.woocommerce #main-content div.product .summary.jo-event-card {
 --jo-card-padding: clamp(22px,3vw,36px);
 padding: var(--jo-card-padding);
 border-color: #e1c47766;
 overflow: hidden;
}
.jo-harmonia-product #main-content .jo-event-card-head {
 position: relative;
 isolation: isolate;
 margin: calc(-1 * var(--jo-card-padding)) calc(-1 * var(--jo-card-padding)) 28px;
 padding: 32px var(--jo-card-padding);
 background: radial-gradient(ellipse at 100% 0, #17526780, transparent 75%), #0c1d2c;
 overflow: hidden;
}
.jo-harmonia-product #main-content .jo-event-card-head::after {
 content: ''; position: absolute; z-index: -1; width: 210px; height: 210px;
 right: -135px; top: -90px; border: 1px solid #e1c47740; border-radius: 50%;
 box-shadow: 0 0 0 26px #e1c47708, 0 0 0 52px #e1c47705;
}
.jo-harmonia-product #main-content .jo-product .summary .jo-event-card-head .jo-product-eyebrow { color: #e1c477; margin-bottom: 16px; }
.jo-harmonia-product #main-content .jo-product .summary .jo-event-card-head .jo-product-booking-title {
 color: #fbfaf7; font-size: clamp(26px,2.5vw,34px); line-height: 1.25; letter-spacing: -.7px; white-space: pre-line; margin: 0 0 14px;
}
.jo-harmonia-product #main-content .jo-event-card-lead { color: #c5d0da; font-size: 16px; line-height: 1.6; margin: 0; max-width: 36ch; }
.jo-harmonia-product #main-content .jo-event-card-state { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; color: #e1c477; font-size: 13px; }
.jo-harmonia-product #main-content .jo-event-card-state::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.jo-harmonia-product #main-content .jo-event-card-state--contact { display: block; line-height: 1.6; overflow-wrap: anywhere; }
.jo-harmonia-product #main-content .jo-event-card-state--contact::before { display: inline-block; margin-right: 8px; vertical-align: middle; }
.jo-harmonia-product #main-content .jo-event-card-state--contact a { color: inherit; text-decoration: underline; }
.jo-harmonia-product #main-content .jo-event-date { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 8px 18px; margin: 0 0 24px; }
.jo-harmonia-product #main-content .jo-event-date-label { display: block; margin-bottom: 8px; color: #786744; font-size: 12px; letter-spacing: .4px; }
.jo-harmonia-product #main-content .jo-event-date time { display: block; color: #172033; font: 600 clamp(44px,4.5vw,62px)/1 'Raleway',sans-serif; letter-spacing: -2px; }
.jo-harmonia-product #main-content .jo-event-date-month { padding-bottom: 4px; color: #786744; font-size: 18px; }
.jo-harmonia-product #main-content .jo-event-date--range time { font-size: 26px; line-height: 1.3; letter-spacing: -.5px; }
.jo-harmonia-product #main-content .jo-product-facts.jo-event-card-facts { display: flex; flex-wrap: wrap; gap: 18px 28px; padding: 0; margin: 0 0 30px; border: 0; }
.jo-harmonia-product #main-content .jo-event-card-facts > div { flex: 1 1 90px; padding-left: 14px; border-left: 2px solid #d6bf80; }
.jo-harmonia-product #main-content .jo-event-card-facts dd { font-size: 18px; margin-top: 2px; }
body.jo-harmonia-product.woocommerce #main-content .jo-product .jo-event-card-next { display: flex; width: 100%; gap: 20px; text-decoration: none; }
body.jo-harmonia-product #main-content .jo-event-card .jo-product-help { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 8px; padding: 0; border: 0; margin: 24px 0 0; font-size: 13px; }
body.jo-harmonia-product #main-content .jo-event-card .jo-product-help a { display: inline; }
/* Shared editorial vocabulary for full and short product descriptions. */
.jo-harmonia-product #main-content .jo-product-copy { --jo-copy-ink: #344353; --jo-copy-title: #172033; --jo-copy-gold: #987627; --jo-copy-line: #d8c8a3; --jo-copy-wash: #e9e2d34d; color: var(--jo-copy-ink); overflow-wrap: anywhere; }
.jo-harmonia-product #main-content .jo-product-excerpt .jo-product-copy { --jo-copy-ink: #c5d0da; --jo-copy-title: #fbfaf7; --jo-copy-gold: #e1c477; --jo-copy-line: #e1c47740; --jo-copy-wash: #e1c47708; }
body.jo-harmonia-product #main-content .jo-product .jo-product-copy .jo-product-copy__heading {
 display: flex; align-items: baseline; gap: 14px; color: var(--jo-copy-title); font: 600 clamp(21px,2vw,27px)/1.35 Raleway,Arial,sans-serif;
 margin: 36px 0 20px; padding: 0 0 14px; border-bottom: 1px solid var(--jo-copy-line); letter-spacing: -.4px;
}
body.jo-harmonia-product #main-content .jo-product .jo-product-copy .jo-product-copy__heading::before { content: ''; flex: 0 0 22px; height: 3px; background: var(--jo-copy-gold); align-self: center; }
body.jo-harmonia-product #main-content .jo-product .jo-product-copy .jo-product-copy__heading:first-child { margin-top: 8px; }
body.jo-harmonia-product #main-content .jo-product-copy .jo-product-copy__heading strong { font-weight: 600; }
body.jo-harmonia-product #main-content .jo-product-copy p { color: var(--jo-copy-ink); line-height: 1.8; margin: 0 0 20px; }
body.jo-harmonia-product #main-content .jo-product-copy strong { color: var(--jo-copy-title); font-weight: 700; }
body.jo-harmonia-product #main-content .jo-product-copy .jo-product-copy__list { margin: 20px 0 28px; padding: 0 0 0 24px; }
body.jo-harmonia-product #main-content .jo-product-copy .jo-product-copy__list > li { color: var(--jo-copy-ink); margin: 0; padding: 10px 0 10px 8px; line-height: 1.65; border-bottom: 1px solid var(--jo-copy-line); }
body.jo-harmonia-product #main-content .jo-product-copy .jo-product-copy__list > li:last-child { border-bottom: 0; }
body.jo-harmonia-product #main-content .jo-product-copy .jo-product-copy__list > li::marker { color: var(--jo-copy-gold); font-weight: 700; }
body.jo-harmonia-product #main-content .jo-product-copy .jo-product-copy__list--icons { list-style: none; padding: 0; }
body.jo-harmonia-product #main-content .jo-product-copy .jo-product-copy__list--icons > li { padding-left: 0; }
body.jo-harmonia-product #main-content .jo-product-copy blockquote,
body.jo-harmonia-product #main-content .jo-product-copy .jo-product-copy__note { margin: 28px 0; padding: 22px 26px; border: 0; border-left: 3px solid var(--jo-copy-gold); border-radius: 0 12px 12px 0; background: var(--jo-copy-wash); color: var(--jo-copy-title); font-size: 20px; line-height: 1.65; }
body.jo-harmonia-product #main-content .jo-product-copy hr { border: 0; height: 1px; background: var(--jo-copy-line); margin: 32px 0; }
body.jo-harmonia-product #main-content .jo-product-copy a { color: var(--jo-copy-gold); text-decoration: underline; text-underline-offset: 4px; }
body.jo-harmonia-product #main-content .jo-product-copy img.emoji { width: 1em !important; height: 1em !important; display: inline !important; vertical-align: -.1em; }
@media (max-width: 700px) { body.jo-harmonia-product #main-content .jo-product-copy .jo-product-copy__heading { margin-top: 28px; } }

/* Legacy WooCommerce clearfix nodes must not occupy grid cells. */
.jo-harmonia-product #main-content .jo-product-details .wgl-products::before,
.jo-harmonia-product #main-content .jo-product-details .wgl-products::after,
.jo-harmonia-product #main-content .jo-product-details .wgl-products > li::after { content: none; display: none; }
.jo-harmonia-product #main-content .jo-product-details .wgl-products > li .picture { width: 100%; padding: 14px 14px 0; }
.jo-harmonia-product #main-content .jo-product-details .wgl-products > li:hover .woo_product_content { opacity: 1; filter: none; }
.jo-harmonia-product #main-content .jo-product-details .wgl-products > li > .button:not(.loading)::before { content: none; }
.jo-harmonia-product #main-content .jo-product-details .wgl-products .price { display: block; margin-top: 12px; color: #675125; font-size: 16px; }
/* Editorial reference: invitation, reading column and practical cards. */
body.jo-harmonia-product #main-content .jo-product .jo-product-editorial { font-size: 18px; }
body.jo-harmonia-product #main-content .jo-product .jo-product-editorial > p,
body.jo-harmonia-product #main-content .jo-product-editorial__section > p { max-width: 70ch; margin-inline: 0; text-align: left; }
body.jo-harmonia-product #main-content .jo-product .jo-product-editorial .jo-product-copy__heading { display: block; border: 0; margin: 42px 0 22px; padding: 0; font-size: clamp(25px,2.7vw,34px); letter-spacing: -.7px; }
body.jo-harmonia-product #main-content .jo-product .jo-product-editorial .jo-product-copy__heading::before { display: block; width: 34px; height: 2px; margin-bottom: 18px; }
body.jo-harmonia-product #main-content .jo-product-editorial p.jo-product-editorial__intro-meta { color: #786744; font-size: 14px; line-height: 1.7; letter-spacing: .3px; margin: 0 0 28px; }
body.jo-harmonia-product #main-content .jo-product-editorial p.jo-product-editorial__lead { font-family: Raleway,Arial,sans-serif; font-weight: 600; color: var(--jo-copy-title); font-size: clamp(23px,2.5vw,31px); line-height: 1.5; letter-spacing: -.5px; margin-bottom: 30px; }
body.jo-harmonia-product #main-content .jo-product-editorial .jo-product-copy__list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px 36px; list-style: none; padding: 0; margin: 24px 0 36px; }
body.jo-harmonia-product #main-content .jo-product-editorial .jo-product-copy__list > li { position: relative; padding: 7px 0 7px 24px; border: 0; }
body.jo-harmonia-product #main-content .jo-product-editorial .jo-product-copy__list > li::before { content: ''; position: absolute; width: 6px; height: 6px; left: 1px; top: 20px; background: var(--jo-copy-gold); transform: rotate(45deg); }
body.jo-harmonia-product #main-content .jo-product-editorial__section { margin: 40px 0; }
body.jo-harmonia-product #main-content .jo-product-editorial__practical { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin: 42px 0; }
body.jo-harmonia-product #main-content .jo-product-editorial__card { min-width: 0; padding: 28px; border-radius: 18px; background: #f0ede4; }
body.jo-harmonia-product #main-content .jo-product-excerpt .jo-product-editorial__card { background: #ffffff06; border: 1px solid #e1c47726; }
body.jo-harmonia-product #main-content .jo-product-editorial__card--wide { grid-column: 1 / -1; }
body.jo-harmonia-product #main-content .jo-product .jo-product-editorial__card .jo-product-copy__heading { margin-top: 0; font-size: 23px; }
body.jo-harmonia-product #main-content .jo-product-editorial__card > :last-child { margin-bottom: 0; }
body.jo-harmonia-product #main-content .jo-product .jo-product-editorial blockquote.jo-product-editorial__quote { max-width: none; margin: 44px 0; padding: clamp(26px,4vw,48px); border: 0; border-radius: 18px; background: radial-gradient(ellipse at 100% 0,#17526780,transparent 70%),#0c1d2c; }
body.jo-harmonia-product #main-content .jo-product-editorial__quote::before { content: '“'; display: block; font: 64px/1 Georgia,serif; color: #e1c477; }
body.jo-harmonia-product #main-content .jo-product-editorial .jo-product-editorial__quote p { color: #fbfaf7; font: 600 clamp(23px,3vw,34px)/1.45 Raleway,Arial,sans-serif; margin: 0; }
body.jo-harmonia-product #main-content .jo-product-editorial .jo-product-editorial__quote p + p { color: #e1c477; }
@media(max-width:700px) {
 body.jo-harmonia-product #main-content .jo-product-editorial .jo-product-copy__list,
 body.jo-harmonia-product #main-content .jo-product-editorial__practical { grid-template-columns: minmax(0,1fr); }
 body.jo-harmonia-product #main-content .jo-product-editorial__card { padding: 22px; }
}

body.jo-harmonia-product #main-content .jo-product-editorial p { text-align: left; }
body.jo-harmonia-product #main-content .jo-product-editorial .jo-product-editorial__quote::before,
body.jo-harmonia-product #main-content .jo-product-editorial .jo-product-editorial__quote::after { content: none !important; }
body.jo-harmonia-product #main-content .jo-product-editorial .jo-product-editorial__quote p:first-child { margin-bottom: 6px; }
/* Balanced editorial palette: cool reading surface with navy accents. */
body.jo-harmonia-product.woocommerce #main-content div.product .woocommerce-tabs .panel:has(.jo-product-editorial) {
 background: #f2f5f7;
 border-color: #dce4e9;
 color: #3c4b5b;
}
body.jo-harmonia-product #main-content .jo-product-copy.jo-product-editorial {
 --jo-copy-ink: #3c4b5b;
 --jo-copy-title: #172b40;
 --jo-copy-gold: #896822;
 --jo-copy-line: #d6e0e7;
 --jo-copy-wash: #e8eff3;
 --jo-copy-card: #ffffff;
 --jo-copy-muted: #596c7d;
}
body.jo-harmonia-product #main-content .jo-product-excerpt .jo-product-copy.jo-product-editorial {
 --jo-copy-ink: #c5d0da;
 --jo-copy-title: #f3f6fa;
 --jo-copy-gold: #e1c477;
 --jo-copy-line: rgba(155,184,207,.2);
 --jo-copy-wash: #183448;
 --jo-copy-card: #163044;
 --jo-copy-muted: #b2c2d0;
}
body.jo-harmonia-product #main-content .jo-product-editorial p.jo-product-editorial__intro-meta { color: var(--jo-copy-muted); }
body.jo-harmonia-product #main-content .jo-product-editorial .jo-product-editorial__card {
 background: var(--jo-copy-card);
 border: 1px solid var(--jo-copy-line);
}
body.jo-harmonia-product #main-content .jo-product .jo-product-editorial blockquote.jo-product-editorial__quote {
 background: radial-gradient(ellipse at 100% 0,rgba(20,83,101,.3),transparent 75%),#102b3a;
}
body.jo-harmonia-product.single-product.woocommerce #main-content div.product .jo-product-editorial .jo-product-limited-notice {
 background: var(--jo-copy-card);
 border-color: var(--jo-copy-line);
 box-shadow: none;
}
body.jo-harmonia-product.single-product.woocommerce #main-content div.product .jo-product-editorial .jo-product-limited-notice__text { color: var(--jo-copy-ink); }
/* Keep the details link above the booking column and tighten the hero spacing. */
@media (min-width: 701px) {
 body.jo-harmonia-product #main-content .jo-product-intro { max-width: none; padding-bottom: 22px; }
 body.jo-harmonia-product #main-content .jo-product-intro .product_title { max-width: 1020px; margin-bottom: 8px; }
 body.jo-harmonia-product #main-content .jo-product-intro .jo-product-detail-link { display: table; margin-left: auto; }
}
body.jo-harmonia-product #main #main-content nav.page-header_breadcrumbs.jo-shop-product__breadcrumbs {
 position: relative; margin: 0 !important; padding: 14px 0 !important;
 border: 0 !important;
 outline: none; box-shadow: none; background: transparent !important;
 color: #c5d0da !important; font: 400 14px/1.65 'Source Sans Pro',Arial,sans-serif;
 text-align: left; text-transform: none;
}
body.jo-harmonia-product #main #main-content .jo-shop-product__breadcrumbs .breadcrumbs {
 display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px;
 margin: 0; padding: 0 !important; border: 0; outline: none; box-shadow: none;
}
body.jo-harmonia-product #main #main-content .jo-shop-product__breadcrumbs .breadcrumbs::after { content: none !important; }
body.jo-harmonia-product #main #main-content nav.jo-shop-product__breadcrumbs::after {
 content: ''; position: absolute; bottom: 0; left: 50%; width: 100vw;
 transform: translateX(-50%); border-bottom: 1px solid rgba(225,196,119,.18); pointer-events: none;
}
body.jo-harmonia-product #main #main-content .jo-shop-product__breadcrumbs .current {
 color: #c5d0da !important; font-weight: 400; min-width: 0; overflow-wrap: anywhere;
}
body.jo-harmonia-product #main #main-content .jo-shop-product__breadcrumbs a { color: #e1c477 !important; }
body.jo-harmonia-product #main #main-content .jo-shop-product__breadcrumbs a:hover { color: #fbfaf7 !important; }
body.jo-harmonia-product #main #main-content .jo-shop-product__breadcrumbs .divider { color: #87969f !important; margin: 0 !important; }
body.jo-harmonia-product #main #main-content .jo-shop-product__breadcrumbs .divider::before { color: #87969f !important; }
