/* Pineapple Ball only — uses CNY's established palette and native Woo controls. */
.cny-product-page { --pb-red:#b01116; --pb-orange:#ff6b00; --pb-cream:#fff7e9; }
.cny-product-page #main > .shop-container { padding-top:0; }
.cny-product-page .shop-container > .container > .woocommerce-breadcrumb { max-width:1200px; margin:0 auto; padding:18px 0 0; font-size:12px; text-transform:none; line-height:1.6; }
.cny-product-page .product-main { padding:28px 0 48px; }
.cny-product-page .product-main > .row { max-width:1200px; }
.cny-product-page .product-gallery { padding-right:30px; }
.cny-product-page .product-info { padding:0 24px 0 30px; color:#333; }
.cny-product-page .product-info h1 { font-size:38px; line-height:1.16; letter-spacing:-1px; color:#000; margin:0 0 20px; text-transform:none; }
.cny-product-page .product-info .is-divider { width:48px; height:4px; max-width:none; background:var(--pb-orange); margin:0 0 20px; border-radius:4px; }
.cny-product-page .product-short-description { font-size:16px; line-height:1.65; }
.cny-product-page .cny-pb-intro { margin:0 0 18px; }
.cny-product-page .cny-pb-facts { display:flex; gap:28px; list-style:none; margin:0 0 20px; padding:0; }
.cny-product-page .cny-pb-facts li { margin:0; }
.cny-product-page .cny-pb-facts strong,.cny-product-page .cny-pb-facts span { display:block; }
.cny-product-page .cny-pb-facts strong { font-size:18px; color:#000; }
.cny-product-page .cny-pb-facts span { font-size:13px; }
.cny-product-page .cny-pb-rating { margin:0 0 18px; }
.cny-product-page .cny-pb-rating a { display:flex; align-items:center; flex-wrap:wrap; gap:8px; color:#333; font-size:13px; }
.cny-product-page .cny-pb-rating .star-rating { margin:0; color:var(--pb-red); font-size:13px; }
.cny-product-page .product-info .price { margin:0 0 12px; font-size:28px; }
.cny-product-page .product-info .price del { font-size:19px; color:#666; opacity:1; margin-right:8px; }
.cny-product-page .product-info .stock { margin:0 0 10px; font-size:14px; color:#333; }
.cny-product-page .product-info form.cart { margin:0 0 24px; display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.cny-product-page .product-info form.cart .quantity { margin:0; height:48px; display:flex; }
.cny-product-page .product-info form.cart .quantity input { height:48px; min-height:48px; margin:0; font-size:17px; box-shadow:none; background:#fff; color:#000; border-color:#ccc; }
.cny-product-page .product-info form.cart .quantity .button { width:36px; padding:0; }
.cny-product-page .product-info form.cart .quantity .qty { width:42px; }
.cny-product-page .product-info form.cart .minus { border-radius:10px 0 0 10px; }
.cny-product-page .product-info form.cart .plus { border-radius:0 10px 10px 0; }
.cny-product-page .single_add_to_cart_button { flex:1; min-height:48px; margin:0; border:0; border-radius:999px; padding:12px 25px; background:var(--pb-red)!important; color:#fff; font-size:16px; line-height:1.4; text-transform:none; letter-spacing:0; box-shadow:none; }
.cny-product-page form.cart > .clear { display:none; }
.cny-product-page form.cart .tier-pricing-summary-table { flex-basis:100%; }
.cny-product-page .cny-pb-bundle { border-left:3px solid var(--pb-orange); padding:4px 0 4px 18px; margin:0 0 24px; font-size:14px; line-height:1.6; }
.cny-product-page .cny-pb-bundle strong { color:#000; font-size:15px; }
.cny-product-page .cny-pb-bundle p { margin:4px 0 8px; }
.cny-product-page .cny-pb-bundle a { color:var(--pb-red); text-decoration:underline; text-underline-offset:4px; font-weight:600; display:inline-block; padding:5px 0; }
.cny-product-page .cny-pb-details .accordion-title { padding:17px 30px 17px 0; font-size:15px; color:#000; border-color:#e3e3e3; }
.cny-product-page .cny-pb-details .toggle { left:auto; right:0; top:14px; opacity:1; }
.cny-product-page .cny-pb-details .accordion-inner { padding:4px 0 20px; font-size:14px; line-height:1.7; }
.cny-product-page .cny-pb-details .accordion-inner p:last-child { margin-bottom:0; }
.cny-product-page .product-info > .social-icons { display:none; }
.cny-product-page .woocommerce-product-gallery { border-radius:22px; overflow:hidden; }
.cny-product-page .woocommerce-product-gallery__image img { width:100%; height:550px; object-fit:cover; object-position:50% 60%; background:#fff7e9; }
.cny-product-page .product-thumbnails img { height:74px; width:100%; object-fit:cover; border-radius:8px; }
.cny-product-page .product-thumbnails a { border-radius:10px; }
.cny-product-page .product-gallery .badge-container { display:none; }
.cny-product-page .product-footer > .container { max-width:1200px; padding:0 24px; }
.cny-product-page .cny-pb-story { padding:44px 0; margin-bottom:28px; }
.cny-product-page .cny-pb-story .img img { border-radius:22px; }
.cny-product-page .cny-pb-story h2 { font-size:34px; line-height:1.2; color:#000; margin-bottom:22px; }
.cny-product-page .cny-pb-story h3 { color:#000; font-size:19px; margin:22px 0 8px; }
.cny-product-page .cny-pb-story p { font-size:16px; line-height:1.65; }
.cny-product-page .cny-pb-story .cny-pb-note { font-size:13px; color:#555; border-top:1px solid #ddd; padding-top:16px; }
.cny-product-page a:focus-visible,.cny-product-page button:focus-visible,.cny-product-page input:focus-visible { outline:3px solid var(--pb-orange); outline-offset:3px; }
@media (max-width:849px) {
 .cny-product-page .shop-container > .container > .woocommerce-breadcrumb { padding:14px 0 0; font-size:12px; }
 .cny-product-page .product-main { padding:20px 0 24px; }
 .cny-product-page .product-gallery { padding:0 20px 24px; }
 .cny-product-page .product-info { padding:0 20px; }
 .cny-product-page .woocommerce-product-gallery__image img { height:310px; }
 .cny-product-page .product-thumbnails img { height:58px; }
 .cny-product-page .product-info h1 { font-size:28px; line-height:1.2; letter-spacing:-.5px; margin-bottom:16px; }
 .cny-product-page .product-info .is-divider { margin-bottom:16px; }
 .cny-product-page .cny-pb-facts { margin-bottom:16px; }
 .cny-product-page .product-footer > .container { padding:0 20px; }
 .cny-product-page .cny-pb-story { padding:28px 0 10px; margin-bottom:16px; }
 .cny-product-page .cny-pb-story h2 { font-size:28px; }
 .cny-product-page .cny-pb-story .col { padding-bottom:20px; }
 .cny-product-page .sticky-add-to-cart-wrapper { display:none; }
}

.cny-product-page .product-info h1 { font-weight:600; }
.cny-product-page .cny-pb-rating .star-rating span:before { color:#b01116; }
.cny-product-page .product-info .price .woocommerce-Price-currencySymbol { vertical-align:baseline; font-size:inherit; }
.cny-product-page .single_add_to_cart_button { font-weight:600; }
.cny-product-page .product-info .price ins { font-weight:700; }
.cny-product-page .product-gallery .awl-product-label { display:none!important; }
@media (max-width:849px) { .cny-product-page .product-gallery { margin-bottom:20px; } }

/* Native reviews, progressively disclosed without removing any feedback. */
.cny-product-page .cny-pb-review-heading { display:flex; align-items:center; gap:28px; border-top:1px solid #e3e3e3; padding:40px 0 28px; }
.cny-product-page .cny-pb-review-score { color:#000; font-size:52px; line-height:1; font-weight:600; white-space:nowrap; }
.cny-product-page .cny-pb-review-score span { font-size:20px; font-weight:400; color:#555; }
.cny-product-page .cny-pb-review-heading h2 { color:#000; font-size:32px; line-height:1.2; font-weight:600; margin:0 0 8px; }
.cny-product-page .cny-pb-review-heading p { font-size:15px; margin:0; }
.cny-product-page .woocommerce-tabs { border-top:0; padding:0 0 40px; width:100%; max-width:none; margin:0; }
.cny-product-page .woocommerce-tabs > .tabs:has(> li:only-child),.cny-product-page .woocommerce-Reviews-title { display:none; }
.cny-product-page #reviews { margin:0; width:100%; max-width:none; }
.cny-product-page #comments { flex-basis:100%; max-width:100%; padding:0; }
.cny-product-page #reviews .commentlist { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 36px; margin:0; }
.cny-product-page #reviews .commentlist > li { list-style:none; margin:0; padding:24px 0; border-bottom:1px solid #e3e3e3; }
.cny-product-page #reviews [hidden] { display:none!important; }
.cny-product-page #reviews .review-item { padding:0; border:0; margin:0; }
.cny-product-page #reviews .review-item > .flex-col:first-child { display:none; }
.cny-product-page #reviews .comment-text { width:100%; padding:0; }
.cny-product-page #reviews .star-rating { float:none; margin:0 0 12px; font-size:14px; }
.cny-product-page #reviews .star-rating span:before { color:#b01116; }
.cny-product-page #reviews .meta { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px; font-size:14px; margin:0 0 12px; }
.cny-product-page #reviews .woocommerce-review__author { font-weight:600; color:#000; }
.cny-product-page #reviews time { font-size:12px; color:#666; }
.cny-product-page #reviews .description { font-size:15px; line-height:1.65; font-style:normal; }
.cny-product-page #reviews .description p:last-child { margin-bottom:0; }
.cny-product-page .cny-pb-review-controls { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:24px 0; }
.cny-product-page .cny-pb-review-controls p { margin:0; font-size:13px; color:#555; }
.cny-product-page .cny-pb-review-more,.cny-product-page .cny-pb-review-toggle { min-height:44px; padding:10px 20px; margin:0; border:1px solid #b01116; border-radius:999px; background:#fff; color:#b01116; font-size:14px; line-height:1.5; letter-spacing:0; text-transform:none; box-shadow:none; }
.cny-product-page .cny-pb-review-toggle { margin:0 0 24px; }
.cny-product-page #review_form_wrapper { flex-basis:100%; max-width:720px; padding:0; }
.cny-product-page .review-form-inner { border:1px solid #e3e3e3; border-radius:16px; padding:24px; margin:0; }
.cny-product-page #review_form h3 { font-size:24px; color:#000; }
.cny-product-page #review_form input:not([type=submit]),.cny-product-page #review_form textarea { border-radius:8px; box-shadow:none; font-size:16px; }
.cny-product-page #review_form input:not([type=submit]) { min-height:44px; }
.cny-product-page #review_form #submit { min-height:44px; background:#b01116; border:0; color:#fff; border-radius:999px; text-transform:none; font-size:15px; padding:10px 24px; }
.cny-product-page #reviews,.cny-product-page #review_form_wrapper { scroll-margin-top:145px; }

/* Related products retain WooCommerce links, stock and AJAX add-to-cart. */
.cny-product-page .related { padding:40px 0; border-top:1px solid #e3e3e3; }
.cny-product-page .related .product-section-title { color:#000; font-size:30px; font-weight:600; line-height:1.2; text-transform:none; margin:0 0 24px; padding:0; width:100%; max-width:none; }
.cny-product-page .related .product-small .box { border:1px solid #e3e3e3; border-radius:18px; overflow:hidden; height:100%; }
.cny-product-page .related .box-text { padding:16px; display:flex; flex-direction:column; }
.cny-product-page .related .product-cat,.cny-product-page .related .star-rating,.cny-product-page .related .awl-product-label { display:none!important; }
.cny-product-page .related .product-title { font-size:15px; line-height:1.45; min-height:0; margin:0 0 16px; }
.cny-product-page .related .product-title a { color:#000; }
.cny-product-page .related .price { font-size:19px; line-height:1.5; }
.cny-product-page .related .price del { font-size:14px; color:#666; opacity:1; }
.cny-product-page .related .add-to-cart-button .button { min-height:44px; display:inline-flex; justify-content:center; align-items:center; padding:10px 18px; border-radius:999px; background:#b01116; color:#fff; border:0; font-size:14px; text-transform:none; letter-spacing:0; line-height:1.4; margin-top:14px; }
.cny-product-page .related .badge-inner { background:#b01116; border-radius:999px; }
.cny-product-page .related .badge { height:30px; min-width:52px; margin:12px; font-size:13px; }
@media(max-width:849px) {
 .cny-product-page .cny-pb-review-heading { gap:18px; padding:28px 0 8px; }
 .cny-product-page .cny-pb-review-score { font-size:40px; }
 .cny-product-page .cny-pb-review-heading h2 { font-size:25px; }
 .cny-product-page .cny-pb-review-heading p { font-size:13px; }
 .cny-product-page #reviews .commentlist { grid-template-columns:1fr; }
 .cny-product-page .cny-pb-review-controls { align-items:flex-start; flex-direction:column; }
 .cny-product-page #reviews,.cny-product-page #review_form_wrapper { scroll-margin-top:95px; }
 .cny-product-page .related { padding:28px 0; }
 .cny-product-page .related .product-section-title { font-size:25px; }
 .cny-product-page .related .box-text { padding:12px; }
 .cny-product-page .related .product-title { font-size:14px; min-height:0; }
 .cny-product-page .related .price { font-size:17px; }
 .cny-product-page .related .add-to-cart-button .button { width:100%; padding:8px; font-size:13px; }
}
.cny-product-page #reviews > .cny-pb-review-heading { flex-basis:100%; width:100%; }
.cny-product-page .sticky-add-to-cart-wrapper { display:none!important; }

/* Align the native Flatsome row with its section instead of the theme's 1065px cap. */
.cny-product-page .related > .row { width:calc(100% + 20px); max-width:none; margin-left:-10px; margin-right:-10px; }
.cny-product-page .related > .row .col { padding-left:10px; padding-right:10px; }

/* Feature the newest real review; keep its original words, rating, author and date. */
.cny-product-page #reviews .commentlist > .cny-pb-featured-review { grid-column:1 / -1; padding:32px 36px; margin:8px 0 8px; border:0; border-left:4px solid var(--pb-orange); border-radius:0 18px 18px 0; background:var(--pb-cream); }
.cny-product-page #reviews .cny-pb-featured-review .comment-text { display:flex; flex-direction:column; }
.cny-product-page #reviews .cny-pb-featured-review .star-rating { order:0; margin-bottom:16px; }
.cny-product-page #reviews .cny-pb-featured-review .description { order:1; font-size:25px; line-height:1.5; font-weight:500; color:#000; max-width:920px; }
.cny-product-page #reviews .cny-pb-featured-review .meta { order:2; margin:20px 0 0; }
@media(max-width:849px) {
 .cny-product-page #reviews .commentlist > .cny-pb-featured-review { padding:24px 20px; margin-top:16px; }
 .cny-product-page #reviews .cny-pb-featured-review .description { font-size:20px; line-height:1.55; }
}

/* Brand accent beneath the product story heading. */
.cny-product-page .cny-pb-story h2::after { content:""; display:block; width:56px; height:4px; margin-top:16px; border-radius:999px; background:var(--pb-orange); }

/* Preserve each product's own media and content, including boxed sets. */
.cny-product-page:not(.postid-101) .woocommerce-product-gallery__image img { object-fit:contain; background:#fff; }
.cny-product-page .product-short-description .accordion-title { padding:17px 30px 17px 0; font-size:15px; color:#000; border-color:#e3e3e3; }
.cny-product-page .product-short-description .toggle { left:auto; right:0; top:14px; opacity:1; }
.cny-product-page .product-short-description .accordion-inner { padding:4px 0 20px; font-size:14px; line-height:1.7; }
.cny-product-page .product-short-description .button { background:var(--pb-red); color:#fff; border:0; border-radius:999px; min-height:44px; padding:10px 22px; font-size:15px; text-transform:none; letter-spacing:0; }
.cny-product-page .product-short-description h3 { color:#000; font-size:20px; margin:20px 0 8px; }
.cny-product-page .cny-product-intro { font-size:16px; line-height:1.65; margin:0 0 18px; }
.cny-product-page .cny-product-description { padding:40px 0; border-top:1px solid #e3e3e3; }
.cny-product-page .cny-product-description h2 { font-size:32px; line-height:1.2; color:#000; margin:0 0 24px; }
.cny-product-page .cny-product-description h2::after { content:""; display:block; width:56px; height:4px; margin-top:16px; border-radius:999px; background:var(--pb-orange); }
.cny-product-page .cny-product-description-content { font-size:16px; line-height:1.7; }
.cny-product-page .cny-product-description-content > :last-child { margin-bottom:0; }
.cny-product-page .cny-product-specifications { margin:0 0 32px; border-top:1px solid #e3e3e3; border-bottom:1px solid #e3e3e3; }
.cny-product-page .cny-product-specifications summary { cursor:pointer; list-style:none; color:#000; font-weight:600; padding:18px 32px 18px 0; position:relative; }
.cny-product-page .cny-product-specifications summary::-webkit-details-marker { display:none; }
.cny-product-page .cny-product-specifications summary::after { content:""; width:8px; height:8px; border-right:2px solid; border-bottom:2px solid; transform:rotate(45deg); position:absolute; right:8px; top:22px; }
.cny-product-page .cny-product-specifications[open] summary::after { transform:rotate(225deg); top:26px; }
.cny-product-page.cny-product-variable form.cart,.cny-product-page.cny-product-bundle form.cart,.cny-product-page.cny-product-grouped form.cart { display:block; }
.cny-product-page form.cart table { width:100%; }
.cny-product-page form.cart .variations select { font-size:16px; min-height:44px; }
.cny-product-page .single_variation_wrap .variations_button { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.cny-product-page .cny-pb-review-heading:has(.cny-pb-review-score) { border-top:1px solid #e3e3e3; }
@media(max-width:849px) {
 .cny-product-page .cny-product-description { padding:28px 0; }
 .cny-product-page .cny-product-description h2 { font-size:28px; }
}
/* Jar photography fills the frame; gift packaging and ready-made sets stay uncropped. */
.cny-product-simple:not(.postid-101) .woocommerce-product-gallery__image img { object-fit:cover; }
.cny-product-page .product_cat-gift-sets-hampers .woocommerce-product-gallery__image img,.cny-product-page .product_cat-value-bundles .woocommerce-product-gallery__image img { object-fit:contain; }
.cny-product-page .bundle_button { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.cny-product-page .bundle_button .single_add_to_cart_button { margin:0; }
.cny-product-page summary:focus-visible { outline:3px solid var(--pb-orange); outline-offset:3px; }

/* Ready-made bundle components: keep the sale price stronger than the old price. */
.cny-product-bundle .product-info .bundled_product .price { display:inline-flex; flex-wrap:wrap; align-items:baseline; gap:8px; margin:0; font-size:16px; line-height:1.5; }
.cny-product-bundle .product-info .bundled_product .price del { font-size:14px; font-weight:400; margin:0; }
.cny-product-bundle .product-info .bundled_product .price ins { font-size:16px; font-weight:600; text-decoration:none; }
.cny-product-bundle .product-info .bundled_product .stock { margin:4px 0 0; font-size:12px; line-height:1.5; }
@media(max-width:849px) {
 .cny-product-page.cny-product-bundle .product-info .bundled_product_summary { margin-bottom:16px; padding-bottom:16px; }
 .cny-product-bundle .product-info .bundled_product_title { margin-bottom:8px; font-size:15px; line-height:1.5; }
 .cny-product-bundle .product-info .bundled_item_cart_details { margin-bottom:0; }
}

/* Approved shared product polish: native forms and product content retained. */
body.cny-product-page { --pb-gallery-height:520px; }
.cny-product-page .product-gallery-slider > .flickity-viewport { height:var(--pb-gallery-height)!important; }
.cny-product-page .woocommerce-product-gallery__image img { height:var(--pb-gallery-height); }
.cny-product-page .product-thumbnails { margin-top:10px; }
.cny-product-page .product-thumbnails a { border:2px solid transparent; }
.cny-product-page .product-thumbnails .is-nav-selected a { border-color:var(--pb-red); }
.cny-product-page .product-gallery .flickity-prev-next-button { width:44px;height:44px; }
.cny-product-page .product-info h1 { font-size:34px;line-height:1.2;margin-bottom:14px; }
.cny-product-page .product-info .is-divider { margin-bottom:16px; }
.cny-product-page .cny-pb-facts { gap:24px;padding:12px 16px;background:#fff1e5;border-radius:12px;margin-bottom:16px; }
.cny-product-page .cny-pb-facts strong { font-size:16px; }
.cny-product-page .cny-pb-rating { margin-bottom:14px; }
.cny-product-page .product-info > .price-wrapper .price { font-size:30px;margin-bottom:6px; }
.cny-product-page .product-info form.cart { gap:10px;margin-bottom:10px; }
.cny-product-page .product-info form.cart .quantity .button { width:44px; }
.cny-product-page .product-info form.cart .quantity .qty { width:44px; }
.cny-product-page .cny-pb-delivery-hint { font-size:13px;line-height:1.55;margin:0 0 22px;color:#555; }
.cny-product-page .cny-pb-delivery-hint a { color:#8e0d12;text-decoration:underline;text-underline-offset:3px; }
.cny-product-page .cny-pb-details .accordion-title { min-height:52px; }
.cny-product-page .ccw_plugin .chip { display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;padding:6px!important;border-radius:50%;font-size:0!important;line-height:0;box-sizing:border-box;background:#fff!important;border:1px solid #e5e5e5;box-shadow:0 2px 8px #00000012; }
.cny-product-page .ccw_plugin .chip img { display:block;width:32px;height:32px;margin:0!important;float:none; }
@media(max-width:849px) {
 body.cny-product-page { --pb-gallery-height:280px; }
 .cny-product-page .shop-container > .container > .woocommerce-breadcrumb { padding-top:14px;font-size:12px; }
 .cny-product-page .product-main { padding-top:12px; }
 .cny-product-page .product-gallery { margin-bottom:0;padding-bottom:18px; }
 .cny-product-page:not(.postid-101) .product-gallery { margin-bottom:18px; }
 .cny-product-page .product-thumbnails img { height:48px; }
 .cny-product-page .product-info { display:flex;flex-direction:column; }
 .cny-product-page .product-info h1 { font-size:26px;line-height:1.2;margin-bottom:12px; }
 .cny-product-page .product-info .is-divider { margin-bottom:12px; }
 .cny-product-page.postid-101 .product-short-description { display:contents; }
 .cny-product-page:not(.postid-101) .product-short-description { order:9; }
 .cny-product-page .cny-product-intro { order:7;font-size:14px;line-height:1.65;margin-bottom:20px; }
 .cny-product-page .product-info > .social-icons { order:10; }
 .cny-product-page .cny-pb-rating { order:1;margin-bottom:12px; }
 .cny-product-page .cny-pb-facts { order:2;margin-bottom:14px;padding:10px 14px; }
 .cny-product-page .product-info .price-wrapper { order:3; }
 .cny-product-page .product-info > .stock { order:4;margin-bottom:10px; }
 .cny-product-page .product-info form.cart { order:5; }
 .cny-product-page .cny-pb-delivery-hint { order:6;margin-bottom:18px; }
 .cny-product-page .cny-pb-intro { order:7;font-size:14px;line-height:1.65;margin-bottom:20px; }
 .cny-product-page .cny-pb-bundle { order:8; }
 .cny-product-page .cny-pb-details { order:9; }
 .cny-product-page .single_add_to_cart_button { padding:12px 16px;font-size:15px; }
}
@media(max-width:359px) {
 body.cny-product-page { --pb-gallery-height:240px; }
 .cny-product-page .product-info h1 { font-size:24px; }
 .cny-product-page .single_add_to_cart_button { padding-inline:10px;font-size:14px; }
}

/* Product information: two quiet tabs, original copy kept in the document. */
.cny-product-page .cny-product-specifications > h2 { font-size:24px;margin:0 0 20px;color:#000; }
.cny-product-page .cny-product-information-tabs { display:flex;gap:32px;border-bottom:1px solid #e5e5e5; }
.cny-product-page .cny-product-information-tabs button { margin:0;padding:16px 0;min-height:52px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;box-shadow:none;color:#555;font-size:18px;font-weight:500;text-transform:none;letter-spacing:0;line-height:1.4; }
.cny-product-page .cny-product-information-tabs button[aria-selected="true"] { color:#b01116;border-bottom-color:#ec7b2c; }
.cny-product-page .cny-product-information-tabs button:focus-visible,.cny-product-page .cny-product-information [role="tabpanel"]:focus-visible { outline:2px solid #b01116;outline-offset:3px; }
.cny-product-page .cny-product-information[data-cny-tabs] > section { padding:28px 0;margin:0;border:0; }
.cny-product-page .cny-product-information [hidden] { display:none!important; }
@media(max-width:849px) {
 .cny-product-page .cny-product-information-tabs { gap:24px; }
 .cny-product-page .cny-product-information-tabs button { font-size:16px; }
 .cny-product-page .cny-product-information[data-cny-tabs] > section { padding:22px 0; }
}

/* Keep list markers within the product description content edge. */
.cny-product-page .cny-product-description-content ul,
.cny-product-page .cny-product-description-content ol {
  padding-inline-start:1.4em;
  margin-inline:0;
  list-style-position:outside;
}
.cny-product-page .cny-product-description-content li { margin-inline-start:0; }

/* Related browsing cards: stable photo width, quiet actions, compact shared baseline. */
.cny-product-page .related{position:relative}
.cny-product-page .related .product-section-title{padding-right:100px}
.cny-product-page .related .product-small.box{border-color:#e9e2db;border-radius:16px;box-shadow:none}
.cny-product-page .related .product-small.box>.box-image{width:100%;flex:0 0 auto;margin:0;aspect-ratio:1/1;background:#fff1e5;overflow:hidden}
.cny-product-page .related .box-image>div:first-child,
.cny-product-page .related .box-image>div:first-child>a{display:block;width:100%;height:100%}
.cny-product-page .related .box-image img{width:100%;height:100%;object-fit:cover}
.cny-product-page .related .box-text{text-align:left;padding:16px;align-items:stretch}
.cny-product-page .related .box-text :is(.title-wrapper,.price-wrapper){width:100%}
.cny-product-page .related .price-wrapper{padding-top:0}
.cny-product-page .related .price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px}
.cny-product-page .related .price ins{margin:0}
.cny-product-page .related .box-text>.cny-view-product{display:flex;align-items:center;justify-content:center;min-height:44px;width:100%;margin:12px 0 0;padding:10px 12px;border:1px solid #b01116;border-radius:999px;background:#fff;color:#b01116;box-shadow:none;font:500 14px/1.4 Montserrat,sans-serif;text-transform:none;letter-spacing:0}
.cny-product-page .related .box-text>.cny-view-product:hover{background:#fff;color:#8e0d12;border-color:#8e0d12}
.cny-product-page .related .badge-container{top:0;left:0}
.cny-product-page .related .badge{margin:12px;height:28px;min-width:48px;font-size:12px}
.cny-product-page .related>.row.slider{position:static}
.cny-product-page .related>.row.slider::before,
.cny-product-page .related>.row.slider::after{display:none}
.cny-product-page .related .flickity-prev-next-button{top:36px;bottom:auto;transform:none;width:40px!important;min-width:40px!important;height:40px;min-height:40px;margin:0;border:1px solid #e9e2db;border-radius:50%;background:#fff;box-shadow:none;opacity:1;color:#8e171b}
.cny-product-page .related .flickity-prev-next-button.previous{left:auto!important;right:50px!important}
.cny-product-page .related .flickity-prev-next-button.next{left:auto!important;right:0!important}
.cny-product-page .related .flickity-prev-next-button svg{position:absolute;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;width:18px!important;height:18px!important;margin:0!important;padding:0;border:0;background:none}
.cny-product-page .related .flickity-prev-next-button .arrow{fill:currentColor}
.cny-product-page .related :is(.cny-view-product,.flickity-prev-next-button):focus-visible{outline:2px solid #b01116;outline-offset:3px}
@media(max-width:849px){
 .cny-product-page .related .product-section-title{font-size:23px;padding-right:94px}
 .cny-product-page .related .box-text{padding:12px}
 .cny-product-page .related .box-text>.cny-view-product{font-size:13px;padding:9px 6px}
 .cny-product-page .related .flickity-prev-next-button{top:23px}
 .cny-product-page .related .badge{margin:8px;height:26px;min-width:44px;font-size:11px}
}

/* Neutralise wpautop spacer paragraphs between native product detail rows. */
.cny-product-page :is(.product-short-description,.cny-pb-details) .accordion > p { margin:0; }
.cny-product-page :is(.product-short-description,.cny-pb-details) .accordion-title { padding-block:14px; }
.cny-product-page :is(.product-short-description,.cny-pb-details) .accordion-title .toggle { top:11px; }

/* Align the native breadcrumb wrapper with the product gallery content edge. */
.cny-product-page .shop-container > .container:has(> .woocommerce-breadcrumb) { max-width:1200px;padding-inline:15px; }
.cny-product-page .shop-container > .container > .woocommerce-breadcrumb { display:flex;flex-wrap:wrap;gap:2px 6px;align-items:baseline;color:#666;font-weight:400;letter-spacing:0; }
.cny-product-page .shop-container > .container > .woocommerce-breadcrumb a { color:#666; }
.cny-product-page .shop-container > .container > .woocommerce-breadcrumb a:hover { color:#b01116; }
.cny-product-page .shop-container > .container > .woocommerce-breadcrumb .divider { color:#b8aaa0;margin-inline:0; }

@media(max-width:849px) {
 .cny-product-page .shop-container > .container:has(> .woocommerce-breadcrumb) { padding-inline:20px; }
}

/* Compact, photo-led contents of ready-made bundles; native pricing/forms retained. */
.cny-product-bundle .product-info .cny-bundle-contents-heading { flex-basis:100%;width:100%;margin:12px 0 10px;padding-left:10px;border-left:3px solid #ec7b2c;font-size:16px;font-weight:500;line-height:1.4;color:#222; }
.cny-product-bundle .product-info .bundled_product_summary:has(> .cny-bundle-component-image) { display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;width:100%;padding:12px;margin:0 0 8px;border:1px solid #f0e2d5;border-radius:12px;background:#fffaf5; }
.cny-product-bundle .product-info .cny-bundle-component-image { width:72px;align-self:start; }
.cny-product-bundle .product-info .cny-bundle-component-image img { display:block;width:72px;height:72px;object-fit:cover;border-radius:9px; }
.cny-product-bundle .product-info .bundled_product_summary:has(> .cny-bundle-component-image) > .details { float:none;width:auto;margin:0;padding:0;min-width:0; }
.cny-product-bundle .product-info .bundled_product_summary:has(> .cny-bundle-component-image) .bundled_product_title { font-size:14px;font-weight:500;line-height:1.45;margin:0 0 6px;letter-spacing:0; }
.cny-product-bundle .product-info .bundled_product_summary:has(> .cny-bundle-component-image) .bundled_product_permalink { color:#a34c25; }
.cny-product-bundle .product-info .bundled_product_summary:has(> .cny-bundle-component-image) .bundled_item_cart_details { margin:0; }
.cny-product-bundle .product-info .bundled_product_summary:has(> .cny-bundle-component-image) .stock { margin:3px 0 0;font-size:11px;color:#555; }
@media(max-width:849px) {
 .cny-product-bundle .product-info .bundled_product_summary:has(> .cny-bundle-component-image) { grid-template-columns:60px minmax(0,1fr);gap:10px;padding:10px; }
 .cny-product-bundle .product-info .cny-bundle-component-image,.cny-product-bundle .product-info .cny-bundle-component-image img { width:60px;height:60px; }
}

.cny-product-bundle .product-info .bundled_product_summary:has(> .cny-bundle-component-image)::before,
.cny-product-bundle .product-info .bundled_product_summary:has(> .cny-bundle-component-image)::after { display:none; }

/* Bundle specifications: one consistent label column across component tables. */
.cny-product-bundle .cny-product-specifications .shop_attributes { table-layout:fixed;width:100%;margin:0 0 24px;border-collapse:collapse; }
.cny-product-bundle .cny-product-specifications .shop_attributes th { width:180px;padding:12px 16px;vertical-align:top;font-size:13px;font-weight:500;line-height:1.6;text-transform:none;color:#555;letter-spacing:0; }
.cny-product-bundle .cny-product-specifications .shop_attributes td { width:auto;padding:12px 16px;vertical-align:top;font-size:14px;line-height:1.6;font-style:normal;color:#444;overflow-wrap:anywhere; }
.cny-product-bundle .cny-product-specifications .shop_attributes :is(th,td) { border-bottom:1px solid #eee5dd; }
.cny-product-bundle .cny-product-specifications .shop_attributes td p { margin:0; }
.cny-product-bundle .cny-product-specifications .bundled_product_attributes_title { margin:28px 0 0;padding:12px 16px;border-left:3px solid #ec7b2c;border-radius:0 8px 8px 0;background:#fff1e5;font-size:16px;font-weight:500;line-height:1.5;color:#222; }
@media(max-width:549px) {
 .cny-product-bundle .cny-product-specifications .shop_attributes :is(tbody,tr,th,td) { display:block;width:100%; }
 .cny-product-bundle .cny-product-specifications .shop_attributes th { padding:12px 12px 3px;border-bottom:0; }
 .cny-product-bundle .cny-product-specifications .shop_attributes td { padding:0 12px 12px; }
 .cny-product-bundle .cny-product-specifications .bundled_product_attributes_title { padding:10px 12px;font-size:15px;margin-top:20px; }
}

/* Ding Must-Haves: one square rounded frame, sticky only alongside desktop contents. */
body.cny-product-page.postid-70683 { --cny-bundle-sticky-top:130px; }
body.cny-product-page.postid-70683 .product-gallery .product-images { border-radius:24px;overflow:hidden;background:#f8f6f0; }
body.cny-product-page.postid-70683 .product-gallery .product-gallery-slider { margin-bottom:0; }
body.cny-product-page.postid-70683 .product-gallery .woocommerce-product-gallery__image img { border-radius:0;object-fit:contain;background:#f8f6f0; }
@media(min-width:850px) {
 html:has(body.postid-70683),body.postid-70683 { overflow-x:clip;overflow-y:visible; }
 body.cny-product-page.postid-70683 { --pb-gallery-height:min(555px,calc((100vw - 90px) / 2),calc(100dvh - var(--cny-bundle-sticky-top) - 24px)); }
 body.cny-product-page.postid-70683.admin-bar { --cny-bundle-sticky-top:calc(130px + var(--wp-admin--admin-bar--height,32px)); }
 body.cny-product-page.postid-70683 .product-gallery { align-self:stretch; }
 body.cny-product-page.postid-70683 .product-gallery .product-images { position:sticky!important;top:var(--cny-bundle-sticky-top);width:var(--pb-gallery-height);max-width:100%;margin-bottom:0; }
}
@media(max-width:849px) {
 body.cny-product-page.postid-70683 { --pb-gallery-height:min(400px,calc(100vw - 40px)); }
 body.cny-product-page.postid-70683 .product-gallery .product-images { position:relative;top:auto;width:var(--pb-gallery-height);max-width:100%;margin-inline:auto;border-radius:20px; }
}

/* Replace the full-width top separator with the shared orange heading accent. */
.cny-product-bundle .cny-product-specifications { border-top:0; border-bottom:0; }
.cny-product-bundle .cny-product-specifications > h2 { margin-bottom:20px; }
.cny-product-bundle .cny-product-specifications > h2::after { content:"";display:block;width:48px;height:4px;margin-top:12px;border-radius:999px;background:#ec7b2c; }

/* Accessible whole-section toggle; keep the orange underline on the heading. */
.cny-product-bundle .cny-product-specifications .cny-specifications-toggle { display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:44px;margin:0;padding:4px 4px 4px 0;border:0;border-radius:0;background:none;box-shadow:none;color:inherit;font:inherit;text-align:left;text-transform:none;letter-spacing:inherit; }
.cny-product-bundle .cny-product-specifications .cny-specifications-toggle::after { content:"";flex:0 0 9px;width:9px;height:9px;border-right:2px solid #b01116;border-bottom:2px solid #b01116;transform:rotate(45deg);margin-right:4px; }
.cny-product-bundle .cny-product-specifications .cny-specifications-toggle[aria-expanded="true"]::after { transform:rotate(225deg); }
.cny-product-bundle .cny-product-specifications .cny-specifications-toggle:focus-visible { outline:2px solid #b01116;outline-offset:5px; }
.cny-product-bundle #cny-bundle-specifications-content[hidden] { display:none!important; }
