body.single-product,
.ap-luxury-single-container {
    background:#f8f6f3!important;
}

.ap-luxury-single-content {
    max-width:1400px;
    margin:0 auto;
    padding:60px 24px 100px;
    box-sizing:border-box;
}

.ap-product-main-summary {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    margin-bottom:90px;
    align-items:start;
}

td.value.woo-variation-items-wrapper {
    margin-bottom: 20px;
}

/* GALLERY */
.ap-single-product-gallery { position:relative!important; }
.ap-single-product-gallery .woocommerce-product-gallery { position:relative!important; width:100%!important; margin:0!important; float:none!important; overflow:hidden; }
.ap-single-product-gallery .woocommerce-product-gallery__image { position:relative!important; overflow:hidden!important; background:transparent!important; display:flex!important; align-items:center!important; justify-content:center!important; cursor:default!important; }
.ap-single-product-gallery .woocommerce-product-gallery__image,
.ap-single-product-gallery .woocommerce-product-gallery__image a,
.ap-single-product-gallery .woocommerce-product-gallery__image img { transition:none!important; transform:none!important; animation:none!important; }
/* FlexSlider changes slide with transform on its wrapper: do not override it. */
.ap-single-product-gallery .woocommerce-product-gallery__image img,
.ap-single-product-gallery .woocommerce-product-gallery__image > a > img { max-width:100%!important; width:100%!important; height:auto!important; object-fit:contain!important; display:block!important; margin:0 auto!important; cursor:default!important; }
.ap-single-product-gallery .woocommerce-product-gallery__image:hover img,
.ap-single-product-gallery .woocommerce-product-gallery__image:hover a { transition:none!important; transform:none!important; opacity:1!important; filter:none!important; }
.ap-single-product-gallery .zoomImg,
.ap-single-product-gallery .woocommerce-product-gallery__trigger { display:none!important; }

/* EXPAND BUTTON */
.ap-expand-btn {
    position: absolute!important;
    top: 5px!important;
    right: 25px!important;
    width: 30px!important;
    height: 30px!important;
    z-index: 99!important;
    background: rgba(255,255,255,.92)!important;
    border: 1px solid rgba(0,0,0,.08)!important;
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
    cursor: pointer!important;
    padding: 0!important;
    transition: background .25s, border-color .25s!important;
}

.ap-expand-btn:hover { background:#000!important; border-color:#000!important; }
.ap-expand-btn svg { width:15px!important; height:15px!important; stroke:#333!important; fill:none!important; stroke-width:1.5!important; stroke-linecap:square!important; pointer-events:none; }
.ap-expand-btn:hover svg { stroke:#fff!important; }

/* THUMBS */
.ap-single-product-gallery .flex-control-thumbs { display:flex; gap:8px; margin-top:14px!important; padding:0!important; list-style:none!important; }
.ap-single-product-gallery .flex-control-thumbs li { width:65px!important; height:65px!important; margin:0!important; border:1px solid #e2ded9; overflow:hidden; background:#fff; cursor:pointer; }
.ap-single-product-gallery .flex-control-thumbs li img { width:100%!important; height:100%!important; object-fit:cover!important; display:block!important; }

/* SUMMARY */
.ap-single-product-summary-meta { display:flex; flex-direction:column; padding-top:5px; }
.ap-product-category-tag { font-family:var(--ap-font-body); font-size:11px; font-weight:400; text-transform:uppercase; letter-spacing:.18em; color:#bfa17a; margin-bottom:18px; display:block; }
/* La categoria è un link all'elenco della collezione: stesso aspetto del testo,
   sottolineatura discreta solo al passaggio del mouse. */
a.ap-product-category-tag { width:fit-content; text-decoration:none; border-bottom:1px solid transparent; padding-bottom:2px; transition:border-color .25s ease, opacity .25s ease; }
a.ap-product-category-tag:hover,
a.ap-product-category-tag:focus-visible { color:#bfa17a; border-bottom-color:currentColor; opacity:.85; }
.ap-single-product-summary-meta .product_title { font-family:var(--ap-font-heading)!important; font-size:clamp(42px,4.6vw,76px)!important; font-weight:400!important; color:var(--ap-color-title)!important; margin:0 0 10px!important; line-height:.96; text-transform:none!important; }
.ap-single-product-summary-meta .price { font-family:var(--ap-font-body)!important; font-size:24px!important; font-weight:400!important; color:var(--ap-color-text)!important; margin-bottom:24px!important; display:block; }

.ap-product-trust-badges {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin:4px 0 26px;
    padding:16px 0;
    border-top:1px solid var(--ap-color-line);
    border-bottom:1px solid var(--ap-color-line);
}

.ap-product-trust-badge {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-height:74px;
    padding:0 16px;
    text-align:center;
    border-right:1px solid var(--ap-color-line);
}

.ap-product-trust-badge:last-child {
    border-right:0;
}

.ap-product-trust-icon {
    display:flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    margin-bottom:8px;
    color:#b4aa98;
}

.ap-product-trust-icon svg {
    width:26px;
    height:26px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.65;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.ap-product-trust-copy {
    display:grid;
    gap:2px;
}

.ap-product-trust-copy strong,
.ap-product-trust-copy em {
    font-family:var(--ap-font-body);
    font-style:normal;
    line-height:1.12;
    text-transform:uppercase;
}

.ap-product-trust-copy strong {
    color:var(--ap-color-title);
    font-size:11px;
    font-weight:600;
    letter-spacing:.035em;
}

.ap-product-trust-copy em {
    color:#3e3932;
    font-size:10px;
    font-weight:400;
    letter-spacing:.045em;
}

/* CART */
.ap-single-product-summary-meta form.cart { margin:0 0 24px!important; padding:0!important; background:transparent!important; display:flex; flex-direction:column; gap:20px; }
.ap-single-product-summary-meta form.cart:not(.variations_form) { flex-direction:row!important; align-items:stretch!important; gap:14px!important; width:100%!important; }
.ap-single-product-summary-meta .variations { width:100%!important; border-collapse:collapse!important; margin:0!important; border:none!important; background:transparent!important; }
.ap-single-product-summary-meta .variations tr,
.ap-single-product-summary-meta .variations td,
.ap-single-product-summary-meta .variations th { display:flex!important; flex-direction:column!important; align-items:flex-start!important; padding:0!important; border:none!important; background:transparent!important; width:100%!important; }
.ap-single-product-summary-meta .variations .label { margin-bottom:10px!important; }
.ap-single-product-summary-meta .variations .label label { font-family:var(--ap-font-body)!important; font-size:11px!important; font-weight:400; text-transform:uppercase!important; letter-spacing:.18em!important; color:var(--ap-color-title)!important; }

/* Nasconde select nativo E tutti i swatch già renderizzati dal plugin */
.ap-single-product-summary-meta .variations select { display:none!important; }

/* Swatch del plugin (testo, immagine, colore) — tutti nascosti */
.ap-single-product-summary-meta .variations .variable-items-wrapper,
.ap-single-product-summary-meta .variations ul.variable-items-wrapper,
.ap-single-product-summary-meta .variations .tawcvs-swatches,
.ap-single-product-summary-meta .variations .swatches-select,
.ap-single-product-summary-meta .variations .swatch-label,
.ap-single-product-summary-meta .variations .swatch-item-wrapper,
.ap-single-product-summary-meta .variations li.variable-item,
.ap-single-product-summary-meta .variations .wvs-style,
.ap-single-product-summary-meta .variations .wvscolor,
.ap-single-product-summary-meta .variations .color-variable-item,
.ap-single-product-summary-meta .variations .image-variable-item,
.ap-single-product-summary-meta .variations .button-variable-item,
.ap-single-product-summary-meta .variations .radio-variable-item,
.ap-single-product-summary-meta .variations [class*="variable-item"],
.ap-single-product-summary-meta .variations [class*="swatch-"],
.ap-single-product-summary-meta .variations [class*="-swatches"] { display:none!important; }

/* Select visibile solo per attributi NON-colore (classe aggiunta via JS) */
.ap-single-product-summary-meta .variations select.ap-swatch-skip { display:block!important; height:54px!important; border:1px solid #e2ded9!important; background:#fff!important; font-family:var(--ap-font-body)!important; font-size:17px!important; color:#000!important; border-radius:0!important; padding:0 40px 0 18px!important; appearance:none!important; -webkit-appearance:none!important; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23666'/%3E%3C/svg%3E")!important; background-repeat:no-repeat!important; background-position:right 18px center!important; cursor:pointer!important; width:100%!important; max-width:100%!important; letter-spacing:.03em!important; box-sizing:border-box!important; transition:border-color .2s!important; }
.ap-single-product-summary-meta .variations select.ap-swatch-skip:focus { outline:none!important; border-color:#bfa17a!important; }

/* Nasconde la label WooCommerce originale se presente il titolo custom */
.ap-single-product-summary-meta .variations tr:has(.ap-clr-title) td.label,
.ap-single-product-summary-meta .variations tr:has(.ap-clr-title) th.label { display:none!important; }

/* Nasconde il link "Azzera selezione" di default WC (usiamo i pallini) */
.ap-single-product-summary-meta .variations .reset_variations { display:none!important; }
.ap-single-product-summary-meta .woocommerce-variation-add-to-cart { display:flex!important; gap:14px!important; width:100%!important; align-items:stretch!important; margin-top:10px!important; }
.ap-single-product-summary-meta .woocommerce-variation-price { margin-top:18px!important; margin-bottom:0!important; }
.ap-single-product-summary-meta .woocommerce-variation-price .price { margin-bottom:0!important; font-size:22px!important; font-weight:400!important; }
.ap-single-product-summary-meta form.cart .quantity { margin:0!important; padding:0!important; display:block!important; }
.ap-single-product-summary-meta form.cart:not(.variations_form) .quantity { flex:0 0 68px!important; }
.ap-single-product-summary-meta form.cart .quantity input { height:54px!important; border:1px solid #e2ded9!important; background:transparent!important; font-family:var(--ap-font-body)!important; font-size:17px!important; color:#000!important; border-radius:0!important; text-align:center!important; width:68px!important; box-sizing:border-box!important; }
.ap-single-product-summary-meta form.cart .quantity input:focus { outline:none!important; border-color:#bfa17a!important; }
.ap-single-product-summary-meta form.cart .button { background:#000!important; color:#fff!important; font-family:var(--ap-font-body)!important; font-size:12px!important; font-weight:400!important; text-transform:uppercase!important; letter-spacing:.13em!important; padding:0 40px!important; height:54px!important; border:none!important; border-radius:0!important; cursor:pointer!important; flex-grow:1!important; transition:background .25s, letter-spacing .25s!important; box-sizing:border-box!important; display:flex!important; align-items:center!important; justify-content:center!important; }
.ap-single-product-summary-meta form.cart:not(.variations_form) .single_add_to_cart_button { flex:1 1 auto!important; width:auto!important; }
.ap-single-product-summary-meta form.cart .button:hover { background:#bfa17a!important; letter-spacing:.19em!important; }

/* SHARE */
.ap-product-actions-row { margin-top:0; margin-bottom:20px; }
.ap-share-wrapper { position:relative; display:inline-block; }
.ap-share-trigger { background:transparent!important; border:none!important; outline:none!important; padding:0; cursor:pointer; font-family:var(--ap-font-body); font-size:11px; font-weight:400; text-transform:uppercase; letter-spacing:.18em; color:#999!important; display:inline-flex; align-items:center; gap:6px; transition:color .2s; appearance:none; -webkit-appearance:none; }
.ap-share-trigger:hover { color:#000!important; }
.ap-share-dropdown { position:absolute; top:calc(100% + 10px); left:0; background:#fff; border:1px solid #e2ded9; min-width:190px; z-index:100; opacity:0; visibility:hidden; transform:translateY(-6px); transition:opacity .25s, transform .25s, visibility .25s; box-shadow:0 10px 35px rgba(0,0,0,.06); }
.ap-share-dropdown.open { opacity:1; visibility:visible; transform:translateY(0); }
.ap-share-item { display:flex; align-items:center; gap:12px; padding:14px 20px; font-family:var(--ap-font-body); font-size:12px; font-weight:400; letter-spacing:.02em; color:#333; text-decoration:none; background:transparent; border:none; width:100%; text-align:left; cursor:pointer; border-bottom:1px solid #f5f3f0; transition:background .15s, color .15s; }
.ap-share-item:last-child { border-bottom:none; }
.ap-share-item:hover { background:#f8f6f3; color:#000; }

/* ACCORDION */
.ap-luxury-accordion { width:100%; display:flex; flex-direction:column; margin-top:0; }
.ap-accordion-item { border-bottom:1px solid #e2ded9; }
.ap-accordion-header { width:100%; padding:22px 0; background:transparent!important; border:none!important; outline:none!important; box-shadow:none!important; display:flex; justify-content:space-between; align-items:center; font-family:var(--ap-font-body); font-size:11px; font-weight:400; text-transform:uppercase; letter-spacing:.18em; color:var(--ap-color-title)!important; cursor:pointer; transition:color .2s; appearance:none; -webkit-appearance:none; }
.ap-accordion-header:hover { color:#bfa17a!important; }
.ap-accordion-arrow { position:relative; width:12px; height:12px; display:inline-block; flex-shrink:0; }
.ap-accordion-arrow::before,
.ap-accordion-arrow::after { content:''; position:absolute; background-color:currentColor; transition:transform .3s, opacity .3s; }
.ap-accordion-arrow::before { top:5px; left:0; width:12px; height:1px; }
.ap-accordion-arrow::after { top:0; left:5px; width:1px; height:12px; }
.ap-accordion-item.active .ap-accordion-arrow::after { transform:rotate(90deg); opacity:0; }
.ap-accordion-content { max-height:0; overflow:hidden; transition:max-height .4s cubic-bezier(.16,1,.3,1); }
.ap-accordion-inner { padding:0 0 28px; font-family:var(--ap-font-body); font-size:16.8px!important; font-weight:400; line-height:1.78; color:var(--ap-color-text); }
.ap-accordion-inner p { font-size:16.8px!important; line-height:1.78!important; color:var(--ap-color-text)!important; margin:0 0 15px; }
.ap-accordion-inner p:last-child { margin-bottom:0; }
.ap-accordion-inner table.shop_attributes { width:100%!important; border-collapse:collapse!important; background:transparent!important; margin:0!important; border:none!important; box-shadow:none!important; }
.ap-accordion-inner table.shop_attributes tr { background:transparent!important; border:none!important; display:flex!important; padding:14px 0!important; border-bottom:1px solid #eae6e1!important; }
.ap-accordion-inner table.shop_attributes tr:last-child { border-bottom:none!important; }
.ap-accordion-inner table.shop_attributes th { font-family:var(--ap-font-body)!important; font-weight:400!important; color:var(--ap-color-title)!important; padding:0!important; border:none!important; background:transparent!important; font-size:11px!important; text-transform:uppercase!important; letter-spacing:.18em!important; width:35%!important; max-width:180px!important; text-align:left!important; line-height:1.4!important; flex-shrink:0; }
.ap-accordion-inner table.shop_attributes td { font-family:var(--ap-font-body)!important; font-weight:400!important; color:var(--ap-color-text)!important; padding:0!important; border:none!important; background:transparent!important; font-size:16.8px!important; font-style:normal!important; text-align:left!important; line-height:1.78!important; flex-grow:1; }
.ap-accordion-inner table.shop_attributes td p { font-size:16.8px!important; font-style:normal!important; color:var(--ap-color-text)!important; margin:0!important; padding:0!important; }

/* LA GAMMA — size/price table for products sold as a family of pieces */
.ap-range-table { width:100%; }
.ap-range-table__heading { display:block; font-family:var(--ap-font-body); font-size:11px; font-weight:400; text-transform:uppercase; letter-spacing:var(--ap-eyebrow-letter-spacing); color:var(--ap-color-muted); margin-bottom:14px; }
.ap-range-table__rows { display:flex; flex-direction:column; }
.ap-range-table__row { display:flex; align-items:baseline; justify-content:space-between; gap:16px; padding:14px 0; border-bottom:1px solid var(--ap-color-line-soft); }
.ap-range-table__row:last-child { border-bottom:none; }
.ap-range-table__name { font-family:var(--ap-font-body); font-size:16.8px; font-weight:400; color:var(--ap-color-title); line-height:1.4; flex:1 1 auto; }
.ap-range-table__size { font-family:var(--ap-font-body); font-size:14px; font-weight:400; color:var(--ap-color-muted); letter-spacing:var(--ap-body-letter-spacing); flex:0 0 auto; text-align:center; white-space:nowrap; }
.ap-range-table__price { font-family:var(--ap-font-body); font-size:16.8px; font-weight:400; color:var(--ap-color-title); flex:0 0 auto; min-width:64px; text-align:right; white-space:nowrap; }

@media (max-width:480px) {
    .ap-range-table__row { flex-wrap:wrap; row-gap:4px; }
    .ap-range-table__size { flex:1 1 100%; text-align:left; order:3; }
}

/* RELATED */
.ap-related-products-section { border-top:1px solid #e2ded9; padding-top:80px; margin-top:20px; }
.ap-related-title { font-family:var(--ap-font-heading)!important; font-size:30px!important; font-weight:400!important; color:var(--ap-color-title)!important; text-align:center; margin-bottom:50px!important; letter-spacing:var(--ap-heading-letter-spacing); }
.ap-luxury-products-grid-3col { display:grid!important; grid-template-columns:repeat(3,1fr)!important; gap:0!important; margin:0!important; padding:0!important; border-top:1px solid #e2ded9; border-left:1px solid #e2ded9; border-right:1px solid #e2ded9; list-style:none!important; }
.ap-luxury-products-grid-3col.ap-related-count-1 { grid-template-columns:1fr!important; }
.ap-luxury-products-grid-3col.ap-related-count-2 { grid-template-columns:repeat(2,1fr)!important; }
.ap-luxury-products-grid-3col li.product { margin:0!important; padding:0!important; position:relative; background:transparent!important; border-right:1px solid #e2ded9; border-bottom:1px solid #e2ded9; display:flex; flex-direction:column; }
.ap-luxury-products-grid-3col li.product:nth-child(3n) { border-right:none!important; }
.ap-luxury-products-grid-3col.ap-related-count-1 li.product,
.ap-luxury-products-grid-3col.ap-related-count-2 li.product:nth-child(2n) { border-right:none!important; }
.ap-product-image-box { width:100%; height:390px; padding:35px; box-sizing:border-box; display:flex!important; align-items:center!important; justify-content:center!important; background:#f8f6f3!important; position:relative; overflow:hidden; cursor:pointer; }
.ap-product-image-box img { max-width:100%!important; max-height:100%!important; width:auto!important; height:auto!important; object-fit:contain!important; display:block!important; transition:transform .55s cubic-bezier(.25,.46,.45,.94)!important; }
.ap-luxury-products-grid-3col li.product:hover .ap-product-image-box img { transform:scale(1.04); }
.ap-hover-cart-container { position:absolute; bottom:0; left:0; width:100%; padding:15px 35px; box-sizing:border-box; background:#f8f6f3; transform:translateY(101%); transition:transform .3s cubic-bezier(.16,1,.3,1); z-index:3; }
.ap-luxury-products-grid-3col li.product:hover .ap-hover-cart-container { transform:translateY(0); }
.ap-hover-cart-container .button { display:block!important; background:#000!important; color:#fff!important; font-family:var(--ap-font-body)!important; font-size:12px!important; font-weight:400!important; text-transform:uppercase!important; letter-spacing:.13em!important; padding:15px!important; border:none!important; border-radius:0!important; width:100%!important; text-align:center!important; transition:background .2s, letter-spacing .2s!important; }
.ap-hover-cart-container .button:hover { background:#bfa17a!important; letter-spacing:.17em!important; }
.ap-product-divider { height:1px; background:#e2ded9; }
.ap-product-info-meta { padding:24px 28px; background:#f8f6f3!important; display:flex; flex-direction:column; gap:6px; }
.ap-luxury-products-grid-3col li.product .woocommerce-loop-product__title { font-family:var(--ap-font-body)!important; font-size:17px!important; font-weight:300!important; color:var(--ap-color-title)!important; margin:0!important; line-height:1.36; transition:color .2s; letter-spacing:var(--ap-product-letter-spacing); }
.ap-luxury-products-grid-3col li.product:hover .woocommerce-loop-product__title { color:#bfa17a; }
.ap-luxury-products-grid-3col li.product .price { font-family:var(--ap-font-body)!important; font-size:15px!important; color:var(--ap-color-muted)!important; margin:0!important; letter-spacing:var(--ap-body-letter-spacing); }

/* LIGHTBOX */
#ap-lightbox { position:fixed; inset:0; z-index:100000; display:none; align-items:center; justify-content:center; background:rgba(0,0,0,.94); padding:72px 32px 32px; box-sizing:border-box; }
#ap-lightbox.on { display:flex; }
#ap-lightbox img { display:block; max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; }
#ap-lightbox-close { position:fixed; top:18px; right:18px; z-index:100001; width:44px; height:44px; background:rgba(255,255,255,.96)!important; border:1px solid rgba(0,0,0,.12)!important; cursor:pointer; padding:0; }
body.admin-bar #ap-lightbox-close { top:50px; }
#ap-lightbox-close::before,
#ap-lightbox-close::after { content:''; position:absolute; top:50%; left:50%; width:18px; height:1.5px; background:#000; transform-origin:center; }
#ap-lightbox-close::before { transform:translate(-50%,-50%) rotate(45deg); }
#ap-lightbox-close::after { transform:translate(-50%,-50%) rotate(-45deg); }
#ap-lightbox-close:hover { background:#000!important; }
#ap-lightbox-close:hover::before,
#ap-lightbox-close:hover::after { background:#fff; }
.pswp, .fancybox-container, #prettyPhoto, .pp_overlay { display:none!important; }

/* =====================================================
   COLOR SWATCHES
   ===================================================== */
.ap-clr-title { display:block!important; font-family:var(--ap-font-body); font-size:11px; font-weight:400; text-transform:uppercase; letter-spacing:.18em; color:#000; margin:20px 0 12px; }
.ap-clr-group { display:flex!important; flex-wrap:wrap; gap:12px; margin:0; padding:0; }
.ap-clr-label { display:none!important; }

.ap-clr {
    display:inline-flex!important;
    position:relative;
    width:30px; height:30px;
    border-radius:50%;
    cursor:pointer;
    border:2px solid transparent;
    outline:3px solid transparent;
    outline-offset:2px;
    box-sizing:border-box;
    padding:0; background:none;
    transition:outline-color .2s, transform .15s;
    flex-shrink:0;
}
.ap-clr:hover,
.ap-clr:focus { transform:scale(1.08); outline:none!important; border-color:transparent!important; box-shadow:none!important; }
.ap-clr.is-active { outline:none!important; border-color:transparent!important; box-shadow:none!important; transform:scale(1.05); }
.ap-clr-inner { display:block; width:100%; height:100%; border-radius:50%; border:1px solid rgba(0,0,0,.12); box-sizing:border-box; pointer-events:none; }
.ap-clr::after { content:''; position:absolute; inset:0; border-radius:50%; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M2 5l2.5 2.5 3.5-4' stroke='%23fff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") center/10px no-repeat; opacity:0; transition:opacity .2s; }
.ap-clr.is-active::after { opacity:1; }
.ap-clr.is-active.ap-clr--light::after { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M2 5l2.5 2.5 3.5-4' stroke='%23555' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E"); }
.ap-clr[title]:hover::before { content:attr(title); position:absolute; bottom:calc(100% + 7px); left:50%; transform:translateX(-50%); background:#1a1a1a; color:#fff; font-family:var(--ap-font-body); font-size:11px; letter-spacing:.06em; white-space:nowrap; padding:4px 9px; pointer-events:none; z-index:10; }

/* TABLET */
@media(max-width:1024px) {
    .ap-luxury-single-content { padding:40px 20px 80px; }
    .ap-product-main-summary { grid-template-columns:1fr; gap:40px; }
    .ap-luxury-products-grid-3col { grid-template-columns:repeat(2,1fr)!important; }
    .ap-luxury-products-grid-3col li.product:nth-child(3n) { border-right:1px solid #e2ded9!important; }
    .ap-luxury-products-grid-3col li.product:nth-child(2n) { border-right:none!important; }
    .ap-product-image-box { height:320px; }
}

/* MOBILE */
@media(max-width:768px) {
    .ap-luxury-single-content { padding:20px 14px 56px; }
    .ap-product-main-summary { gap:26px; margin-bottom:54px; }
    .ap-single-product-summary-meta { padding-top:0; }
    .ap-product-category-tag { font-size:10px; margin-bottom:12px; }
    .ap-single-product-summary-meta .product_title { font-size:32px!important; line-height:1.12!important; margin-bottom:8px!important; }
    .ap-single-product-summary-meta .price { font-size:21px!important; margin-bottom:24px!important; }
    .ap-product-trust-badges { grid-template-columns:1fr; margin-bottom:24px; padding:0; }
    .ap-product-trust-badge { flex-direction:row; justify-content:flex-start; gap:14px; min-height:62px; padding:14px 0; border-right:0; border-bottom:1px solid var(--ap-color-line); text-align:left; }
    .ap-product-trust-badge:last-child { border-bottom:0; }
    .ap-product-trust-icon { margin-bottom:0; }
    .ap-product-trust-copy { gap:3px; }
    .ap-single-product-summary-meta form.cart { margin-bottom:30px!important; }
    .ap-single-product-summary-meta form.cart:not(.variations_form),
    .ap-single-product-summary-meta form.cart .woocommerce-variation-add-to-cart { flex-direction:column!important; gap:10px!important; }
    .ap-single-product-summary-meta form.cart:not(.variations_form) .quantity { flex:auto!important; width:100%!important; }
    .ap-single-product-summary-meta form.cart .quantity input,
    .ap-single-product-summary-meta form.cart .button { width:100%!important; height:52px!important; }
    .ap-single-product-summary-meta form.cart .button { padding:0 18px!important; font-size:11px!important; letter-spacing:.13em!important; }
    .ap-product-actions-row { margin-bottom:22px; }
    .ap-accordion-header { padding:19px 0; font-size:11px; letter-spacing:.17em; }
    .ap-accordion-inner, .ap-accordion-inner p { font-size:16.8px!important; line-height:1.7!important; }
    .ap-related-products-section { padding-top:54px; }
    .ap-related-title { font-size:26px!important; margin-bottom:30px!important; }
    .ap-luxury-products-grid-3col { grid-template-columns:1fr!important; border-right:none!important; }
    .ap-luxury-products-grid-3col li.product { border-right:none!important; }
    .ap-product-image-box { height:auto; aspect-ratio:1 / 1; padding:22px; }
    .ap-hover-cart-container { position:static; transform:none!important; padding:0 22px 22px; background:#f8f6f3; }
    .ap-product-info-meta { padding:20px 22px; }
    .ap-expand-btn { top:12px!important; right:12px!important; width:42px!important; height:42px!important; }
    #ap-lightbox { padding:70px 12px 18px; }
    #ap-lightbox-close { top:12px; right:12px; width:44px; height:44px; }
    body.admin-bar #ap-lightbox-close { top:58px; }
    .ap-clr { width:30px; height:30px; }
}

.ap-product-category-tag {
    color:var(--ap-color-accent);
    font-size:11px;
    font-weight:400;
    letter-spacing:.18em;
    margin-bottom:22px;
}

.ap-single-product-summary-meta .product_title {
    color:var(--ap-color-title)!important;
    font-weight:400!important;
    letter-spacing:var(--ap-heading-letter-spacing)!important;
    line-height:.96!important;
    text-transform:none!important;
}

/* Se l'attributo seguente usa una select (es. Altezza), separalo dagli swatch. */
.ap-single-product-summary-meta .variations tr:has(.ap-clr-title) + tr .label {
    padding-top:14px!important;
}

.ap-single-product-summary-meta .price,
.ap-single-product-summary-meta .woocommerce-variation-price .price {
    color:var(--ap-color-text)!important;
    font-size:21px!important;
    font-weight:400!important;
    letter-spacing:.005em;
}

.ap-single-product-summary-meta .variations .label label,
.ap-clr-title,
.ap-accordion-header,
.ap-accordion-inner table.shop_attributes th {
    color:var(--ap-color-title)!important;
    font-weight:400!important;
    letter-spacing:.18em!important;
    font-size:11px!important;
    line-height:1.35!important;
}

.ap-single-product-summary-meta form.cart .button,
.ap-hover-cart-container .button {
    background:#000!important;
    font-weight:400!important;
    letter-spacing:.16em!important;
    color:#fff!important;
}

.ap-single-product-summary-meta form.cart .button:hover,
.ap-hover-cart-container .button:hover {
    background:var(--ap-color-accent)!important;
    letter-spacing:.17em!important;
}

.ap-accordion-item,
.ap-related-products-section,
.ap-luxury-products-grid-3col,
.ap-luxury-products-grid-3col li.product,
.ap-product-divider {
    border-color:var(--ap-color-line)!important;
}

.ap-accordion-inner,
.ap-accordion-inner p,
.ap-accordion-inner table.shop_attributes td,
.ap-accordion-inner table.shop_attributes td p {
    color:var(--ap-color-text)!important;
    font-weight:400!important;
    font-size:16.8px!important;
    line-height:1.75!important;
}

.ap-accordion-header {
    padding:24px 0 18px!important;
}

.ap-accordion-inner {
    padding:6px 0 30px;
}

.ap-accordion-inner p {
    margin-bottom:0;
}

.ap-single-product-summary-meta .woocommerce-variation-add-to-cart {
    margin-top:18px!important;
}

.ap-single-product-summary-meta form.cart .quantity input {
    color:var(--ap-color-title)!important;
    border-color:var(--ap-color-line)!important;
}

.ap-single-product-summary-meta form.cart {
    margin-bottom:26px!important;
}

.ap-related-title {
    color:var(--ap-color-title)!important;
    letter-spacing:var(--ap-heading-letter-spacing)!important;
    line-height:1!important;
}

.ap-luxury-products-grid-3col li.product .woocommerce-loop-product__title {
    font-family:var(--ap-font-body)!important;
    font-size:17px!important;
    font-weight:300!important;
    letter-spacing:var(--ap-product-letter-spacing);
    line-height:1.36;
}

.ap-luxury-products-grid-3col li.product .price {
    color:var(--ap-color-muted)!important;
    font-size:15px!important;
    letter-spacing:var(--ap-body-letter-spacing);
}

.ap-share-trigger {
    color:var(--ap-color-faint)!important;
    letter-spacing:.105em;
}

.ap-share-trigger:hover {
    color:var(--ap-color-title)!important;
}

/* =========================================================
   SINGLE PRODUCT — badge frame and share menu fixes
   ========================================================= */
.single-product .ap-single-product-gallery > .ap-product-badges {
    top: 12px !important;
    left: 18px !important;
    right: auto !important;
    margin: 0 !important;
}

.single-product #ap-share-copy,
.single-product #ap-share-copy.ap-share-item,
.single-product #ap-share-copy #ap-copy-label {
    font-family: var(--ap-font-body) !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    letter-spacing: .02em !important;
    text-transform: none !important;
}

/* =========================================================
   SINGLE PRODUCT — final badge inset correction
   ========================================================= */
.single-product .ap-single-product-gallery > .ap-product-badges {
    top: 18px !important;
    left: 28px !important;
}

/* Aperion catalogue technical specs */
.ap-accordion-inner table.ap-catalog-specs + table.ap-catalog-specs,
.ap-accordion-inner table.shop_attributes + table.ap-catalog-specs { margin-top:10px!important; }
.ap-accordion-inner table.ap-catalog-specs th { width:42%!important; max-width:210px!important; }
