/* Geometry follows Paaro v5. Typography and palette come from WoodMart. */
.wd-page-content:has(.paaro-layout) { padding-top: 0 !important; }
.paaro-layout {
  box-sizing: border-box;
  --paaro-ink: var(--wd-title-color, currentColor);
  --paaro-muted: var(--wd-text-color, currentColor);
  --paaro-accent: var(--wd-alternative-color, var(--wd-primary-color, currentColor));
  --paaro-paper: var(--wd-main-bgcolor, Canvas);
  --paaro-line: var(--wd-border-color, color-mix(in srgb, var(--paaro-muted) 30%, transparent));
  --paaro-display: var(--wd-entities-title-font, var(--wd-alternative-font, var(--wd-title-font, inherit)));
  --paaro-display-weight: var(--wd-entities-title-font-weight, 400);
  display: grid !important; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  grid-template-rows: min-content 1fr auto; column-gap: clamp(36px, 5vw, 72px); row-gap: 0;
  width: 100%; max-width: 1240px !important; margin: 0 auto !important; padding: 32px 24px 72px !important;
  font-family: var(--wd-text-font, inherit); color: var(--paaro-muted); align-items: start;
}
.paaro-layout *, .paaro-layout *::before, .paaro-layout *::after { box-sizing: border-box; }
.paaro-layout [hidden] { display: none !important; }
.paaro-layout :focus-visible { outline: 2px solid var(--paaro-accent); outline-offset: 3px; }
.paaro-layout a { text-underline-offset: 3px; }
.paaro-layout button, .paaro-layout input, .paaro-layout select { font-family: inherit; }
.paaro-layout > .paaro-heading { grid-column: 2; grid-row: 1; display: flex; flex-direction: column; gap: 3px !important; padding: 0 0 22px !important; margin: 0 !important; min-width: 0; width: 100%; }
.paaro-layout > .paaro-gallery-cell { grid-column: 1; grid-row: 1 / span 2; position: relative; padding: 0 !important; margin: 0 !important; min-width: 0; width: 100%; }
.paaro-layout > .paaro-options { grid-column: 2; grid-row: 2; display: flex; flex-direction: column; gap: 18px !important; padding: 0 !important; margin: 0 !important; min-width: 0; width: 100%; }
.paaro-layout > .paaro-lower { grid-column: 1 / -1; grid-row: 3; display: flex; flex-direction: column; gap: 36px !important; padding: 0 !important; margin: 48px 0 0 !important; min-width: 0; width: 100%; }
.paaro-layout .elementor-widget { margin: 0 !important; --kit-widget-spacing: 0; min-width: 0; }
.paaro-layout .elementor-widget-shortcode, .paaro-layout .elementor-widget-container { min-width: 0; }
.paaro-layout .paaro-bar-widget, .paaro-layout .paaro-extension-hooks:has(.elementor-widget-container:empty) { display: contents; }
.paaro-technology { font-size: 11px; color: var(--paaro-ink); text-decoration: underline; }
.paaro-heading .wd-single-short-desc { font-size: 13px; color: var(--paaro-muted); }
.paaro-heading .wd-single-short-desc p { margin: 0; }
.paaro-layout .paaro-heading .product_title { font-family: var(--paaro-display); font-weight: var(--paaro-display-weight); font-size: clamp(30px, 3vw, 44px); line-height: 1.1; letter-spacing: .06em; color: var(--paaro-ink); margin: 6px 0 4px; }
.paaro-heading .price { font-size: 20px; font-weight: 500; color: var(--paaro-ink); margin: 0; font-variant-numeric: tabular-nums; }
.paaro-heading .woocommerce-product-rating { margin: 4px 0 0; display: flex; align-items: center; gap: 6px; font-size: 11px; }
.paaro-heading .star-rating { font-size: 11px; color: var(--paaro-ink); margin: 0; }
.paaro-heading .woocommerce-review-link { font-size: 11px; }
.paaro-gallery { position: relative; width: 100%; }
.paaro-slides { display: flex; gap: 4px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; width: 100%; }
.paaro-slides::-webkit-scrollbar, .paaro-tabs::-webkit-scrollbar, .paaro-rail::-webkit-scrollbar { display: none; }
.paaro-slide { flex: 0 0 100%; aspect-ratio: 4 / 5; scroll-snap-align: start; scroll-margin-inline-start: 0; overflow: hidden; display: block; background: var(--paaro-paper); }
.paaro-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.paaro-video-slide video { width: 100%; height: 100%; object-fit: contain; }
.paaro-zoom { position: absolute; z-index: 2; top: 10px; inset-inline-start: 10px; display: grid; place-items: center; width: 28px; height: 28px; min-height: 0; padding: 0; background: var(--paaro-paper); border: 0; border-radius: 0; color: var(--paaro-ink); }
.paaro-zoom svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.paaro-gallery-cell > .paaro-gallery-wishlist { position: absolute; z-index: 2; top: 10px; inset-inline-end: 10px; width: 28px !important; margin: 0 !important; }
.paaro-gallery-wishlist .wd-wishlist-btn a { display: grid; place-items: center; width: 28px; height: 28px; background: var(--paaro-paper); padding: 0; border: 0; border-radius: 0; color: var(--paaro-ink); }
.paaro-gallery-wishlist .wd-wishlist-btn a::before { margin: 0; font-size: 16px; }
.paaro-gallery-wishlist .wd-wishlist-btn a span { position: absolute; clip-path: inset(50%); width: 1px; height: 1px; overflow: hidden; }
.paaro-dots { position: absolute; z-index: 2; bottom: 12px; inset-inline-start: 0; width: 100%; display: flex; justify-content: center; gap: 7px; pointer-events: none; }
.paaro-dots button { pointer-events: auto; width: 9px; height: 9px; min-height: 0; padding: 0; border: 1px solid var(--paaro-ink); border-radius: 50%; background: var(--paaro-paper); }
.paaro-dots button[aria-current="true"] { background: var(--paaro-ink); }
.paaro-models { font-size: 12px; line-height: 1.5; color: var(--paaro-muted); }
.paaro-models p { margin: 0 0 3px; }
.paaro-options .paaro-model-widget:has(.elementor-shortcode:empty) { display: none; }
.paaro-guide-link { display: block; margin-inline-start: auto; padding: 0; border: 0; background: transparent; color: var(--paaro-ink); font-size: 12px; font-weight: 400; text-transform: none; text-decoration: underline; min-height: 20px; }
.paaro-guide-widget.paaro-guide-moved { display: none; }
.paaro-layout .variations { width: 100%; margin: 0 0 18px; border: 0; }
.paaro-layout .variations tbody { display: grid; gap: 18px; }
.paaro-layout .variations tr { display: block; }
.paaro-layout .variations td, .paaro-layout .variations th { display: block; padding: 0; border: 0; text-align: start; }
.paaro-layout .variations .label { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 10px; }
.paaro-layout .variations .label label { color: var(--paaro-ink); font-size: 14px; font-weight: 400; margin: 0; }
.paaro-selected-value { font-weight: 600; }
.paaro-layout .variations select { width: 100%; }
.paaro-control-group { display: flex; flex-wrap: wrap; gap: 10px; padding-top: 2px; }
.paaro-control-group.paaro-size-group { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; padding: 0; }
.paaro-control-wrap { position: relative; min-width: 0; }
.paaro-control { border: 1px solid var(--paaro-line); border-radius: 0; background: var(--paaro-paper); color: var(--paaro-ink); position: relative; padding: 0; }
.paaro-size-group .paaro-control { height: 44px; width: 100%; min-height: 0; font-size: 14px; }
.paaro-colour-group .paaro-control { width: 34px; height: 34px; min-height: 0; }
.paaro-colour-group .paaro-control.paaro-text-colour { width: auto; min-width: 44px; padding-inline: 8px; font-size: 12px; }
.paaro-colour-group .paaro-control[aria-pressed="true"] { box-shadow: 0 0 0 2px var(--paaro-paper), 0 0 0 3px var(--paaro-ink); }
.paaro-size-group .paaro-control[aria-pressed="true"] { background: var(--paaro-ink); color: var(--paaro-paper); border-color: var(--paaro-ink); }
.paaro-control.is-unavailable::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top right, transparent calc(50% - 1px), var(--paaro-accent) 50%, transparent calc(50% + 1px)); pointer-events: none; }
.paaro-size-group .paaro-control.is-unavailable { color: var(--paaro-muted); }
.paaro-size-group .paaro-control.is-unavailable[aria-pressed="true"] { background: var(--paaro-paper); color: var(--paaro-accent); border-color: var(--paaro-accent); }
.paaro-control:disabled { opacity: .45; cursor: not-allowed; }
.paaro-waitlist-tag { position: absolute; bottom: calc(100% + 7px); left: 50%; transform: translateX(-50%); padding: 5px 8px; background: var(--paaro-accent); color: var(--paaro-paper); font-size: 10px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; z-index: 3; }
.paaro-waitlist-tag::after { content: ''; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); border: 5px solid transparent; border-top-color: var(--paaro-accent); }
.paaro-layout .paaro-native-select { position: absolute !important; width: 1px !important; height: 1px !important; clip-path: inset(50%); overflow: hidden; }
.paaro-layout .paaro-enhanced-row .wd-swatches-product, .paaro-layout .paaro-enhanced-row .swatches-select, .paaro-layout .paaro-enhanced-row .variable-items-wrapper { display: none !important; }
.paaro-layout .single_add_to_cart_button, .paaro-layout .paaro-cta { display: block; width: 100%; height: 50px; min-height: 50px; padding: 0 20px; border: 1px solid var(--paaro-ink); border-radius: 0; background: var(--paaro-ink); color: var(--paaro-paper); font-size: 13px; font-weight: 400; letter-spacing: .12em; text-transform: uppercase; }
.paaro-layout .single_add_to_cart_button.disabled, .paaro-layout .single_add_to_cart_button:disabled { opacity: 1; background: var(--paaro-paper); color: var(--paaro-ink); cursor: not-allowed; }
.paaro-layout .paaro-waitlist-cta, .paaro-layout .paaro-cta.is-waitlist { background: var(--paaro-accent); color: var(--paaro-paper); border-color: var(--paaro-accent); }
.paaro-layout .paaro-native-button-hidden { display: none !important; }
.paaro-layout .paaro-purchase-widget form.cart { margin-bottom: 0; }
.paaro-layout .paaro-purchase-widget .quantity { display: none; }
.paaro-layout .paaro-purchase-widget .grouped_form .quantity { display: inline-flex; }
.paaro-layout .woocommerce-variation-add-to-cart { width: 100%; }
.paaro-layout .single_variation_wrap { display: block !important; }
.paaro-layout .reset_variations { margin-top: 8px; font-size: 11px; }
.paaro-layout .woocommerce-variation-price { margin-bottom: 12px; }
.paaro-layout .paaro-purchase-widget [class*="waitlist"] input { border-radius: 0; }
.paaro-details { display: grid; gap: 12px; }
.paaro-tabs { display: flex; gap: 16px; overflow-x: auto; scrollbar-width: none; border-bottom: 1px solid var(--paaro-line); }
.paaro-tabs button { white-space: nowrap; flex: 0 0 auto; padding: 0 0 9px; min-height: 30px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; margin-bottom: -1px; background: transparent; color: var(--paaro-muted); font-size: 13px; font-weight: 400; text-transform: none; }
.paaro-tabs button[aria-selected="true"] { color: var(--paaro-ink); border-bottom-color: var(--paaro-accent); }
.paaro-panel { font-size: 13px; line-height: 1.6; }
.paaro-panel > h2:first-child { display: none; }
.paaro-panel p { margin-bottom: 6px; }
.paaro-section { margin-bottom: 36px; }
.paaro-section:last-child { margin-bottom: 0; }
.paaro-section > h2, .paaro-reviews-heading h2 { padding: 0 0 10px !important; margin: 0 0 16px !important; border-bottom: 1px solid var(--paaro-line); color: var(--paaro-ink); font-family: inherit !important; font-size: 12px !important; line-height: 1.5; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.paaro-section video { display: block; width: 100%; aspect-ratio: 16 / 9; max-height: 640px; background: var(--paaro-paper); }
.paaro-visualiser img { width: min(100%, 560px); height: auto; display: block; margin: 0 auto; aspect-ratio: 4 / 5; object-fit: cover; }
.paaro-rail { display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.paaro-card { display: grid; align-content: start; gap: 3px; flex: 0 0 calc((100% - 54px) / 4); min-width: 0; scroll-snap-align: start; text-decoration: none; color: var(--paaro-ink); }
.paaro-card img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; height: auto; margin-bottom: 8px; }
.paaro-card h3 { font-family: var(--paaro-display); font-weight: var(--paaro-display-weight); font-size: 24px; line-height: 1; letter-spacing: .03em; margin: 0; }
.paaro-card > span { font-size: 12px; color: var(--paaro-muted); }
.paaro-card > .price { font-size: 13px; font-weight: 500; color: var(--paaro-ink); }
.paaro-reviews-heading { margin-bottom: -20px !important; }
.paaro-layout .paaro-reviews-widget #reviews > h2, .paaro-layout .paaro-reviews-widget .woocommerce-Reviews-title { display: none; }
.paaro-reviews-widget #comments ol.commentlist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.paaro-reviews-widget #comments ol.commentlist li { margin: 0; padding: 14px; border: 1px solid var(--paaro-line); }
.paaro-reviews-widget #comments .comment-text { margin: 0; }
.paaro-reviews-widget .description { font-family: var(--paaro-display); font-size: 19px; line-height: 1.2; color: var(--paaro-ink); }
.paaro-layout .paaro-mobile-bar { display: none; }
.paaro-load-more { width: 100%; min-height: 46px; border: 1px solid var(--paaro-ink); border-radius: 0; background: var(--paaro-paper); color: var(--paaro-ink); font-size: 13px; font-weight: 400; letter-spacing: .12em; text-transform: uppercase; }
.paaro-guide, .paaro-lightbox { background: var(--paaro-paper); color: var(--paaro-muted); padding: 18px 18px 24px; border: 1px solid var(--paaro-ink); max-height: 88dvh; overflow-y: auto; }
.paaro-guide { position: fixed; inset: auto 0 0; width: min(100%, 560px); margin: 0 auto; }
.paaro-guide::backdrop, .paaro-lightbox::backdrop { background: rgb(0 0 0 / .35); }
.paaro-guide [data-close-dialog], .paaro-lightbox [data-close-dialog] { display: block; margin-inline-start: auto; background: none; color: var(--paaro-ink); padding: 0; border: 0; min-height: 20px; font-size: 13px; font-weight: 400; text-transform: none; text-decoration: underline; }
.paaro-guide h2 { font-family: inherit; margin: 14px 0; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.paaro-guide-title { font-family: var(--paaro-display); font-size: 28px; line-height: 1.05; margin: 0 0 14px; }
.paaro-units { display: inline-flex; border: 1px solid var(--paaro-ink); margin-bottom: 14px; }
.paaro-units button { min-height: 32px; padding: 7px 14px; border: 0; border-radius: 0; background: var(--paaro-paper); color: var(--paaro-ink); font-size: 12px; font-weight: 400; letter-spacing: .08em; text-transform: uppercase; }
.paaro-units button[aria-pressed="true"] { background: var(--paaro-ink); color: var(--paaro-paper); }
.paaro-guide table { width: 100%; border-collapse: collapse; font-size: 13px; font-variant-numeric: tabular-nums; }
.paaro-guide th { padding: 7px 4px; border-bottom: 1px solid var(--paaro-ink); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; text-align: start; }
.paaro-guide td { padding: 9px 4px; border-bottom: 1px solid var(--paaro-line); text-align: start; }
.paaro-howto { display: grid; gap: 8px; font-size: 13px; margin-top: 16px; }
.paaro-howto > b { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; margin-top: 4px; }
.paaro-lightbox { width: min(95vw, 1000px); margin: auto; }
.paaro-lightbox img { display: block; width: auto; max-width: 100%; height: auto; max-height: 78dvh; margin: 12px auto 0; object-fit: contain; }
@media (max-width: 767px) {
  .wd-content-layout.container:has(.paaro-layout), .wd-content-area:has(.paaro-layout) { padding-inline: 0 !important; }
  .paaro-layout { display: flex !important; flex-direction: column !important; max-width: none !important; padding: 0 0 72px !important; gap: 0 !important; }
  .paaro-layout > .paaro-heading { order: 0; padding: 14px 16px 12px !important; }
  .paaro-layout .paaro-heading .product_title { font-size: 20px; line-height: 1.1; margin: 4px 0 2px; }
  .paaro-heading .price { font-size: 17px; }
  .paaro-layout > .paaro-gallery-cell { order: 1; }
  .paaro-gallery { padding-inline-start: 16px; }
  .paaro-slides { padding-inline-end: 16px; }
  .paaro-slide { flex: 0 0 88%; scroll-margin-inline-start: 16px; }
  .paaro-zoom { inset-inline-start: 26px; }
  .paaro-gallery-cell > .paaro-gallery-wishlist { inset-inline-end: calc(12% + 10px); }
  .paaro-dots { inset-inline-start: 16px; width: 88%; }
  .paaro-layout > .paaro-options { order: 2; padding: 18px 16px 8px !important; }
  .paaro-layout > .paaro-lower { order: 3; margin: 0 !important; padding: 36px 16px 0 !important; }
  .paaro-rail { gap: 10px; margin-inline-end: -16px; padding-inline-end: 16px; }
  .paaro-card { flex-basis: 62%; }
  .paaro-card h3 { font-size: 22px; }
  .paaro-reviews-widget #comments ol.commentlist { grid-template-columns: 1fr; gap: 10px; }
  .paaro-layout .paaro-mobile-bar { display: block; position: fixed; inset-inline: 0; bottom: 0; z-index: 100; padding: 10px 14px max(10px, env(safe-area-inset-bottom)); border-top: 1px solid var(--paaro-line); background: var(--paaro-paper); }
}
@media (prefers-reduced-motion: reduce) { .paaro-layout * { scroll-behavior: auto !important; } }
