/* 
 * Terratorque - Single Machine Page (Estilo Industrial)
 */

.tt-full-layout { max-width: 1200px !important; margin: 0 auto !important; padding: 40px 20px !important; }

.tt-breadcrumbs { margin-bottom: 20px !important; font-size: 14px !important; color: #64748b !important; }
.tt-breadcrumbs a { color: #0D593C !important; text-decoration: none !important; font-weight: 600 !important; }
.tt-breadcrumbs span { margin: 0 10px !important; }

.tt-main-title { font-size: 42px !important; font-weight: 900 !important; color: #1e293b !important; margin-bottom: 40px !important; line-height: 1.1 !important; letter-spacing: -1px !important; }

.tt-columns-wrapper { display: grid !important; grid-template-columns: 1fr 380px !important; gap: 40px !important; align-items: start !important; }

/* Galeria */
.tt-gallery-container { margin-bottom: 40px !important; }
.tt-main-img { width: 100% !important; border-radius: 24px !important; border: 1px solid #e2e8f0 !important; box-shadow: 0 20px 50px rgba(0,0,0,0.05) !important; object-fit: cover !important; max-height: 600px !important; }
.tt-thumbs-grid { display: grid !important; grid-template-columns: repeat(5, 1fr) !important; gap: 15px !important; margin-top: 20px !important; }
.tt-thumb img { width: 100% !important; aspect-ratio: 1 !important; object-fit: cover !important; border-radius: 12px !important; border: 1px solid #e2e8f0 !important; transition: all 0.2s ease !important; }
.tt-thumb:hover img { border-color: #0D593C !important; transform: scale(1.05) !important; }

/* Sidebar & Preços */
.tt-price-box { 
    background: #f8fafc !important; border: 1px solid #e2e8f0 !important; border-radius: 16px !important; 
    padding: 25px !important; margin-bottom: 25px !important; position: relative !important;
}

.tt-price-label { display: block !important; font-size: 13px !important; color: #64748b !important; margin-bottom: 8px !important; font-weight: 600 !important; text-transform: uppercase !important; }

.tt-price-old-single {
    font-size: 18px !important;
    color: #94a3b8 !important;
    text-decoration: line-through !important;
    margin-bottom: 2px !important;
    font-weight: 500 !important;
}

.tt-price-value { 
    font-size: 32px !important; 
    font-weight: 900 !important; 
    color: #1e293b !important; 
    line-height: 1 !important; 
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    flex-wrap: wrap !important;
}

.tt-price-value.is-promo { color: #e11d48 !important; }

.tt-single-discount {
    background: #e11d48 !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    padding: 6px 12px !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(225, 29, 72, 0.2) !important;
}
.tt-vat-info {
    font-size: 7px !important;
    color: #64748b !important;
    margin-top: 10px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    padding-top: 8px !important;
    border-top: 1px solid #f1f5f9 !important;
    letter-spacing: 0.1px !important;
    text-transform: uppercase !important;
}

/* Specs List */
.tt-specs-list { margin-bottom: 30px !important; }
.tt-spec-row { display: flex !important; justify-content: space-between !important; padding: 12px 0 !important; border-bottom: 1px solid #f1f5f9 !important; }
.tt-spec-label { display: flex !important; align-items: center !important; gap: 10px !important; font-size: 14px !important; color: #64748b !important; font-weight: 500 !important; }
.tt-spec-value { font-size: 14px !important; color: #1e293b !important; font-weight: 700 !important; }

/* Botões CTA */
.tt-btn-group { display: flex !important; flex-direction: column !important; gap: 12px !important; margin-top: 25px !important; }
.tt-btn-cta, .tt-btn-wa-catalog, .tt-btn-quote, .tt-btn-pdf, .tt-btn-share-main { 
    padding: 16px 20px !important; border-radius: 12px !important; text-align: center !important; 
    text-decoration: none !important; font-weight: 700 !important; display: flex !important; 
    align-items: center !important; justify-content: center !important; gap: 10px !important; 
    transition: all 0.3s ease !important; border: none !important; cursor: pointer !important; width: 100% !important; 
    font-family: inherit !important; font-size: 15px !important; box-sizing: border-box !important;
    line-height: 1.2 !important;
}

/* Specificity Boost to override general link color rules from theme */
.tt-full-layout .tt-btn-group a.tt-btn-cta,
.tt-full-layout .tt-btn-group button.tt-btn-cta { background: #25D366 !important; color: #fff !important; }
.tt-full-layout .tt-btn-group a.tt-btn-cta:hover,
.tt-full-layout .tt-btn-group button.tt-btn-cta:hover { background: #128C7E !important; color: #fff !important; transform: translateY(-2px) !important; box-shadow: 0 8px 15px rgba(37, 211, 102, 0.2) !important; }

.tt-full-layout .tt-btn-group a.tt-btn-wa-catalog,
.tt-full-layout .tt-btn-group button.tt-btn-wa-catalog { background: #128C7E !important; color: #fff !important; border: 1px solid #0d7065 !important; }
.tt-full-layout .tt-btn-group a.tt-btn-wa-catalog:hover,
.tt-full-layout .tt-btn-group button.tt-btn-wa-catalog:hover { background: #075E54 !important; color: #fff !important; border-color: #075E54 !important; transform: translateY(-2px) !important; box-shadow: 0 8px 15px rgba(18, 140, 126, 0.2) !important; }

.tt-full-layout .tt-btn-group a.tt-btn-quote,
.tt-full-layout .tt-btn-group button.tt-btn-quote { background: #0D593C !important; color: #fff !important; }
.tt-full-layout .tt-btn-group a.tt-btn-quote:hover,
.tt-full-layout .tt-btn-group button.tt-btn-quote:hover { background: #0a452d !important; color: #fff !important; transform: translateY(-2px) !important; box-shadow: 0 8px 15px rgba(13, 89, 60, 0.2) !important; }

.tt-full-layout .tt-btn-group a.tt-btn-vcard,
.tt-full-layout .tt-btn-group button.tt-btn-vcard {
    margin-bottom: 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    color: #64748b !important;
    background: #f1f5f9 !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    border: 1px solid #e2e8f0 !important;
    transition: all 0.3s ease !important;
}
.tt-full-layout .tt-btn-group a.tt-btn-vcard:hover,
.tt-full-layout .tt-btn-group button.tt-btn-vcard:hover {
    background: #e2e8f0 !important;
    color: #1e293b !important;
    border-color: #cbd5e1 !important;
}

.tt-full-layout .tt-btn-group a.tt-btn-pdf,
.tt-full-layout .tt-btn-group button.tt-btn-pdf { background: #f8fafc !important; color: #475569 !important; border: 1px solid #e2e8f0 !important; }
.tt-full-layout .tt-btn-group a.tt-btn-pdf:hover,
.tt-full-layout .tt-btn-group button.tt-btn-pdf:hover { background: #f1f5f9 !important; color: #1e293b !important; border-color: #cbd5e1 !important; }

.tt-share-wrapper { position: relative !important; width: 100% !important; padding-top: 5px !important; }
.tt-btn-share-main { background: transparent !important; color: #64748b !important; padding: 12px !important; font-size: 14px !important; border: 1px solid #e2e8f0 !important; }
.tt-btn-share-main:hover { color: #1e293b !important; border-color: #cbd5e1 !important; background: #f8fafc !important; }

/* Popup de Partilha - Eliminado o GAP para não perder o hover */
.tt-share-popup { 
    display: none !important; 
    position: absolute !important; 
    bottom: 100% !important; 
    left: 50% !important; 
    transform: translateX(-50%) !important; 
    background: #fff !important; 
    padding: 8px !important; 
    border-radius: 12px !important; 
    box-shadow: 0 15px 40px rgba(0,0,0,0.15) !important; 
    border: 1px solid #e2e8f0 !important; 
    gap: 8px !important; 
    margin-bottom: 0px !important; /* Colado ao botão */
    z-index: 100 !important; 
    pointer-events: auto !important;
}

/* Pseudo-elemento para criar uma ponte invisível entre o botão e o popup */
.tt-share-popup::after {
    content: "" !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    width: 100% !important;
    height: 15px !important;
    display: block !important;
}

.tt-share-wrapper:hover .tt-share-popup { display: flex !important; }
.tt-share-popup a, .tt-share-popup button { background: none !important; border: none !important; padding: 10px !important; color: #64748b !important; cursor: pointer !important; border-radius: 10px !important; transition: 0.2s !important; display: flex !important; align-items: center !important; justify-content: center !important; }
.tt-share-popup a:hover, .tt-share-popup button:hover { background: #f1f5f9 !important; color: #0D593C !important; }

/* Grid de Relacionados */
.tt-related-grid { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 20px !important; margin-top: 30px !important; }

@media (max-width: 1024px) { 
    .tt-columns-wrapper { grid-template-columns: 1fr !important; }
    .tt-related-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
    .tt-main-title { font-size: 32px !important; }
    .tt-related-grid { grid-template-columns: 1fr !important; }
}

@media (min-width: 1025px) {
    .tt-full-layout .tt-btn-group a.tt-btn-wa-catalog,
    .tt-full-layout .tt-btn-group button.tt-btn-wa-catalog {
        display: none !important;
    }
}
