/* Product layout only. Native forms, gallery, variations and pricing stay in control. */
.tiup-ux-product .page-top { padding:12px 0; margin-bottom:20px; }
.tiup-ux-product .page-top .breadcrumbs-wrap { width:100%; text-align:left; }
.tiup-ux-product .page-top .breadcrumb { text-align:left; font-size:11px; line-height:1.8; white-space:normal; }
.tiup-ux-product #main > .container { max-width:1280px; }
.tiup-ux-product .product-summary-wrap > .row { margin-inline:-15px; }
.tiup-ux-product .product-summary-wrap :is(.summary-before,.entry-summary) { padding-inline:15px; min-width:0; }
.tiup-ux-product .product-summary-wrap .product_title { font-size:clamp(24px,2.3vw,34px); line-height:1.18; font-weight:700; letter-spacing:-.025em; max-width:100%; margin-bottom:14px; color:var(--tiup-ink); }
.tiup-ux-product .product-summary-wrap .summary .price { margin:18px 0; font-size:28px; line-height:1.4; }
.tiup-ux-product .summary .price .woocommerce-price-suffix { display:block; font-size:14px; color:var(--tiup-muted); font-weight:400; margin-top:3px; }
.tiup-ux-product .summary .woocommerce-product-rating { margin-bottom:10px; }
.tiup-ux-product .summary .description { margin-top:22px; font-size:15px; line-height:1.7; color:var(--tiup-muted); }
.tiup-ux-product .summary .description p { margin-bottom:12px; }
.tiup-ux-product .summary .description ul { padding-left:20px; }
.tiup-ux-product .product-summary-wrap .product-images { border:1px solid var(--tiup-line); border-radius:6px; overflow:hidden; padding:0; background:#fff; }
.tiup-ux-product .product-images .product-image-slider .inner { aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; }
.tiup-ux-product .product-images .product-image-slider .inner > img { width:100%; height:100%; max-height:560px; object-fit:contain; }
.tiup-ux-product .product-images .img-thumbnail { padding:0; border:0; }
.tiup-ux-product .product-summary-wrap .product-thumbnails { position:static; width:100%; padding:10px; margin:0; background:var(--tiup-paper); }
.tiup-ux-product .product-summary-wrap .product-thumbnails-inner { display:flex; flex-direction:row; gap:8px; width:100%; overflow-x:auto; padding:2px; }
.tiup-ux-product .product-summary-wrap .product-thumbnails .img-thumbnail { flex:0 0 56px; width:56px; height:56px; margin:0; border:1px solid var(--tiup-line); background:#fff; cursor:pointer; }
.tiup-ux-product .product-summary-wrap .product-thumbnails .img-thumbnail.selected { border:2px solid var(--tiup-gold); }
.tiup-ux-product .product-summary-wrap .product-thumbnails img { width:100%; height:100%; object-fit:contain; }
.tiup-ux-product .product-summary-wrap .product-thumbnails button { padding:0; border:0; background:#fff; width:100%; height:100%; cursor:pointer; }
.tiup-ux-product .product-summary-wrap .product-thumbnails button:focus-visible { outline:3px solid var(--tiup-focus); outline-offset:-3px; }
.tiup-ux-product .product-summary-wrap .summary form.cart { margin:18px 0 20px; padding:20px 0; border-top:1px solid var(--tiup-line); border-bottom:1px solid var(--tiup-line); }
.tiup-ux-product .summary form.cart:not(.variations_form):not(.grouped_form) { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.tiup-ux-product .summary form.cart .quantity { display:inline-flex; margin:0 8px 0 0; flex:none; }
.tiup-ux-product .summary .quantity :is(.minus,.plus,input.qty) { min-width:44px; width:44px; height:48px; font-size:16px; }
.tiup-ux-product .summary form.cart .single_add_to_cart_button { min-height:48px; font-size:14px; line-height:1.4; white-space:normal; border-radius:4px; background:var(--tiup-gold); color:var(--tiup-ink); border-color:var(--tiup-gold); padding:12px 18px; margin:0; }
.tiup-ux-product .summary form.cart .single_add_to_cart_button:hover { background:var(--tiup-gold-hover); color:var(--tiup-ink); }
.tiup-ux-product .summary form.cart .single_add_to_cart_button:focus-visible { outline:3px solid var(--tiup-focus); outline-offset:3px; }
/* Delivery badge is moved next to stock availability; legacy badge in cart form is hidden */
.tiup-ux-product .summary form.cart .fast-delivery-badge { display:none !important; }
.tiup-ux-product .summary form.cart .yith-wcwl-add-to-wishlist { flex-basis:100%; }
.tiup-ux-product .summary form.cart .variations { width:100%; margin-bottom:16px; }
.tiup-ux-product .summary form.cart .variations :is(td,th) { padding:8px 4px; }
.tiup-ux-product .summary form.cart .variations select { width:100%; max-width:100%; min-height:48px; font-size:16px; color:var(--tiup-ink); }
.tiup-ux-product .summary form.cart .woocommerce-variation-add-to-cart { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.tiup-ux-product .summary .product_meta { font-size:12px; line-height:1.8; padding:12px 0; margin:0; }
.tiup-ux-product .summary .pulsante-categoria-breve-prodotto .button { color:var(--tiup-ink); background:var(--tiup-paper); white-space:normal; min-height:44px; display:inline-flex; align-items:center; border:1px solid var(--tiup-line); border-radius:4px; font-size:13px; }
.tiup-ux-product .summary .product-share { position:static; margin:16px 0; }
.tiup-ux-product .summary .product-share a { display:inline-flex; min-width:44px; min-height:44px; align-items:center; justify-content:center; }
.tiup-ux-product .tiup-ux-product-help { display:flex; flex-wrap:wrap; gap:6px 20px; border-top:1px solid var(--tiup-line); padding-top:12px; }
.tiup-ux-product .tiup-ux-product-help a { display:flex; align-items:center; min-height:44px; font-size:13px; color:var(--tiup-ink); text-decoration:underline; text-underline-offset:3px; }
.tiup-ux-product #product-tab { margin-top:30px; scroll-margin-top:24px; border-top:1px solid var(--tiup-line); padding-top:24px; }
.tiup-ux-product #product-tab .tab-content { font-size:15px; line-height:1.75; max-width:1100px; margin:auto; }
.tiup-ux-product #product-tab :is(h2,h3) { color:var(--tiup-ink); line-height:1.35; margin-top:28px; margin-bottom:14px; }
.tiup-ux-product #product-tab h2 { font-size:25px; }
.tiup-ux-product #product-tab h3 { font-size:20px; }
.tiup-ux-product #product-tab table { width:100%; table-layout:fixed; border:1px solid var(--tiup-line); border-collapse:collapse; font-size:14px; }
.tiup-ux-product #product-tab :is(td,th) { overflow-wrap:anywhere; padding:12px 14px; border:1px solid var(--tiup-line); vertical-align:top; text-align:left; }
.tiup-ux-product #product-tab tr:nth-child(even) { background:var(--tiup-paper); }
.tiup-ux-product #product-tab th { background:var(--porto-gray-8,#f1f1f1); font-weight:600; }
@media(max-width:991px) {
    .tiup-ux-product .page-top { margin-bottom:12px; padding:8px 0; }
    .tiup-ux-product .product-summary-wrap > .row { margin-inline:-10px; }
    .tiup-ux-product .product-summary-wrap :is(.summary-before,.entry-summary) { padding-inline:10px; }
    .tiup-ux-product .product-summary-wrap .product-media { max-width:560px; margin:0 auto 22px; }
    .tiup-ux-product .product-images .product-image-slider .inner { aspect-ratio:6/5; }
    .tiup-ux-product .product-summary-wrap .product_title { font-size:25px; }
    .tiup-ux-product .summary .price { font-size:27px; }
    .tiup-ux-product .summary .woocommerce-product-rating { font-size:12px; }
    .tiup-ux-product .single-product .owl-stage-outer.owl-height { margin-bottom:0; }
}
@media(max-width:575px) {
    .tiup-ux-product .summary form.cart .variations :is(tr,th,td) { display:block; width:100%; }
    .tiup-ux-product .summary form.cart .single_add_to_cart_button { flex:1 1 150px; }
    .tiup-ux-product #product-tab .tab-content { font-size:14px; }
    .tiup-ux-product #product-tab :is(td,th) { padding:10px 8px; font-size:13px; }
    .tiup-ux-product .product-images .product-image-slider .inner { aspect-ratio:1.2; }
}
@media(prefers-reduced-motion:reduce) { .tiup-ux-product .product-image-slider .owl-stage { transition-duration:0s !important; } }

.tiup-ux-product .product-summary-wrap .product-thumbnails { height:auto; max-height:none; inset:auto; }
.tiup-ux-product .page-top > .container { padding-block:4px; }
.tiup-ux-product .page-top .breadcrumbs-wrap { flex:0 0 100%; max-width:100%; }
.tiup-ux-product #main .main-content { padding-top:12px; }
.tiup-ux-product .tiup-ux-stock { color:var(--tiup-stock-ink); font-weight:600; font-size:14px; margin:0; }
@media(max-width:991px) {
 .tiup-ux-product .page-top .breadcrumb { font-size:10px; line-height:1.7; }
 .tiup-ux-product .page-top .breadcrumb > li:last-child { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
 .tiup-ux-product .product-images .owl-stage-outer.owl-height { margin-bottom:0; }
 .tiup-ux-product .product-summary-wrap .product-media { margin-bottom:14px; }
}
/* Porto full_width uses negative page margins and an inline sticky width. */
.tiup-ux-product .product-layout-full_width .product-summary-wrap { margin-inline:0; padding-inline:0; }
.tiup-ux-product .product-summary-wrap .summary-before { margin-bottom:18px; }
.tiup-ux-product .product-summary-wrap .product-media { --tiup-gallery-height:clamp(320px,38vw,520px); }
.tiup-ux-product .product-images .product-image-slider .inner { height:var(--tiup-gallery-height); aspect-ratio:auto; }
.tiup-ux-product .product-images .product-image-slider .inner > img { height:100%; max-height:100%; min-height:0; object-fit:contain; }
/* Owl writes an inline auto-height. Reserving the same height prevents image-loading shifts. */
.tiup-ux-product .product-images .owl-stage-outer { height:var(--tiup-gallery-height) !important; }
.tiup-ux-product .product-summary-wrap .product-thumbnails img { opacity:1; }
@media(max-width:991px) {
 .tiup-ux-product .product-summary-wrap .product-media { --tiup-gallery-height:clamp(220px,70vw,360px); }
 .tiup-ux-product .product-summary-wrap .pin-wrapper { height:auto !important; }
}

.tiup-ux-product .product-thumbnails:has(.product-thumbnails-inner > .img-thumbnail:only-child) { display:none; }

/* 1.1 — Reference product hierarchy, public specs and native HTML accordions. */
.tiup-ux-product #main > :is(.container,.container-fluid) { max-width:none; width:100%; padding-inline:clamp(16px,2vw,40px); }
.tiup-ux-product #main > :is(.container,.container-fluid) > .row { margin-inline:0; }
.tiup-ux-product #main .main-content { padding-inline:0; }
.tiup-ux-product .product-summary-wrap > .row { margin-inline:-16px; }
.tiup-ux-product .product-summary-wrap :is(.summary-before,.entry-summary) { padding-inline:16px; }
.tiup-ux-product .product-summary-wrap .product-media { --tiup-gallery-height:clamp(340px,40vw,720px); max-width:none; }
.tiup-ux-product .product-summary-wrap .product_title { font-size:clamp(25px,2.6vw,44px); line-height:1.17; }
.tiup-ux-product .summary .price { font-size:clamp(30px,2.6vw,44px); font-weight:700; }
.tiup-ux-product .summary .price del { font-size:.68em; font-weight:400; color:#777; }
.tiup-ux-product .summary .price ins { color:var(--porto-color-price,#444); }
.tiup-ux-product .tiup-ux-stock-wrap { display:flex; align-items:center; flex-wrap:wrap; gap:12px 16px; margin:14px 0 18px; }
.tiup-ux-product .tiup-ux-stock,.tiup-ux-product .summary .stock.in-stock { display:inline-flex; align-items:center; padding:10px 18px; border-radius:6px; background:var(--tiup-stock-bg); color:var(--tiup-stock-ink); font-size:16px; font-weight:650; margin:0; line-height:1.4; }
.tiup-ux-product .fast-delivery-badge { display:inline-flex; align-items:center; gap:8px; font-size:15px; font-weight:500; color:#333; margin:0 !important; line-height:1.4; }
.tiup-ux-product .fast-delivery-badge svg,
.tiup-ux-product .fast-delivery-badge .icon-clock { width:20px; height:20px; flex-shrink:0; fill:#e67e22; margin:0 !important; }
.tiup-ux-product .fast-delivery-badge strong { color:#d35400; font-weight:700; }
.tiup-ux-product .summary .woocommerce-product-rating:has(.star-rating > span[style="width:0%"]),
.tiup-ux-product .summary .woocommerce-product-rating:has(.star-rating > span[style="width:0%"] ) + .price { margin-top:12px; }
.tiup-ux-product .tiup-ux-key-specs { margin:24px 0 22px; }
.tiup-ux-product .tiup-ux-key-specs h2 { margin:0 0 14px; font-size:20px; font-weight:700; text-transform:uppercase; line-height:1.3; }
.tiup-ux-product .tiup-ux-spec-table { margin:0; font-size:15px; line-height:1.5; color:var(--tiup-ink); }
.tiup-ux-product .tiup-ux-spec-table > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:16px; padding:12px 14px; }
.tiup-ux-product .tiup-ux-spec-table > div:nth-child(odd) { background:var(--porto-gray-8,#f1f1f1); }
.tiup-ux-product .tiup-ux-spec-table dt { font-weight:400; }
.tiup-ux-product .tiup-ux-spec-table dd { text-align:right; font-weight:650; margin:0; overflow-wrap:anywhere; }
.tiup-ux-product .summary form.cart .single_add_to_cart_button { flex:1 1 180px; min-height:54px; font-size:16px; font-weight:700; padding:14px 20px; }
.tiup-ux-product .summary .quantity :is(.minus,.plus,input.qty) { height:54px; }
.tiup-ux-product .product-images .zoom { display:none; }
.tiup-ux-product .tiup-ux-image-open { display:flex; align-items:center; justify-content:center; width:100%; height:100%; padding:0; border:0; border-radius:0; background:#fff; cursor:zoom-in; }
.tiup-ux-product .tiup-ux-image-open img { width:100%; height:100%; max-height:100%; object-fit:contain; }
.tiup-ux-product .tiup-ux-image-open:focus-visible { outline:3px solid var(--tiup-focus); outline-offset:-4px; }
.tiup-ux-product #product-tab.tiup-ux-accordions { width:100%; margin-top:32px; padding:0; border-top:1px solid var(--tiup-line); }
.tiup-ux-product .tiup-ux-product-detail { border-bottom:1px solid var(--tiup-line); }
.tiup-ux-product .tiup-ux-product-detail > summary { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:76px; padding:22px 4px; font-size:21px; font-weight:700; text-transform:uppercase; list-style:none; cursor:pointer; color:var(--tiup-ink); line-height:1.4; }
.tiup-ux-product .tiup-ux-product-detail > summary::-webkit-details-marker { display:none; }
.tiup-ux-product .tiup-ux-product-detail > summary::after { content:'⌄'; font-size:25px; font-weight:400; flex:none; }
.tiup-ux-product .tiup-ux-product-detail[open] > summary::after { content:'−'; }
.tiup-ux-product .tiup-ux-detail-content { padding:0 4px 28px; font-size:15px; line-height:1.75; }
.tiup-ux-product .tiup-ux-detail-content > h2:first-child { display:none; }
.tiup-ux-product .tiup-ux-detail-content .tiup-ux-spec-table { max-width:100%; }
@media(min-width:768px) and (max-width:991px) {
 .tiup-ux-product .product-summary-wrap .summary-before { width:44%; max-width:44%; flex:0 0 44%; }
 .tiup-ux-product .product-summary-wrap .entry-summary { width:56%; max-width:56%; flex:0 0 56%; }
 .tiup-ux-product .product-summary-wrap .product-media { --tiup-gallery-height:380px; }
}
@media(max-width:767px) {
 .tiup-ux-product .product-summary-wrap > .row { margin-inline:0; }
 .tiup-ux-product .product-summary-wrap :is(.summary-before,.entry-summary) { padding-inline:0; }
 .tiup-ux-product .product-summary-wrap .product-media { --tiup-gallery-height:clamp(240px,76vw,440px); }
 .tiup-ux-product .tiup-ux-spec-table { font-size:14px; }
 .tiup-ux-product .tiup-ux-spec-table > div { padding:10px 12px; gap:10px; }
 .tiup-ux-product .tiup-ux-product-detail > summary { font-size:16px; min-height:64px; padding:18px 0; }
 .tiup-ux-product .summary form.cart .single_add_to_cart_button { font-size:14px; }
}

/* Keep the existing related-product carousel readable despite legacy mobile flex rules. */
.tiup-ux-product .related.products .product-inner { display:block; }
.tiup-ux-product .related.products .product-image { width:100%; margin:0 0 12px; }
.tiup-ux-product .related.products .product-image .inner { aspect-ratio:1; }
.tiup-ux-product .related.products .product-image img { width:100% !important; height:100%; object-fit:contain; }
.tiup-ux-product .related.products .product-content { width:100%; padding:0; }
.tiup-ux-product .related.products .woocommerce-loop-product__title { white-space:normal; font-size:15px; line-height:1.4; }
.tiup-ux-product .related.products .add-links .button { min-height:44px; height:auto; white-space:normal; padding:10px 8px; line-height:1.4; }
.tiup-ux-product .related.products .owl-dots { position:static; display:flex; flex-wrap:wrap; justify-content:center; padding-top:12px; }
.tiup-ux-product .related.products .owl-dots .owl-dot { min-width:44px; min-height:44px; }
.tiup-ux-product .tiup-ux-variation-copy { font-size:14px; line-height:1.6; margin:12px 0; }
.tiup-ux-product .tiup-ux-variation-details { border-block:1px solid var(--tiup-line); margin:12px 0; }
.tiup-ux-product .tiup-ux-variation-details > summary { min-height:44px; padding:12px 4px; font-weight:600; cursor:pointer; color:var(--tiup-ink); }
.tiup-ux-product .tiup-ux-variation-details > summary:focus-visible { outline:3px solid var(--tiup-focus); outline-offset:2px; }
.tiup-ux-product .tiup-ux-variation-details h2 { font-size:20px; line-height:1.4; }
.tiup-ux-product .tiup-ux-variation-details h3 { font-size:16px; line-height:1.5; }
.tiup-ux-product :is(.tiup-ux-technical-table,.tiup-ux-compatibility-table) { width:100%; table-layout:fixed; overflow-wrap:anywhere; }
.tiup-ux-product :is(.tiup-ux-technical-table,.tiup-ux-compatibility-table) caption { caption-side:top; font-size:12px; color:var(--tiup-muted); padding:8px 0; text-align:left; }
