/* DS Informática — página de produto */
.product-page { padding: 34px 0 58px; background:#f7f9fc; }
.product-detail {
    display:grid; grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
    gap:48px; align-items:start; padding:34px; background:#fff;
    border:1px solid #e7ebf1; border-radius:18px;
    box-shadow:0 12px 38px rgba(15,23,42,.055);
}
.product-detail-image {
    min-height:500px; display:flex; align-items:center; justify-content:center;
    padding:30px; background:#fff; border:1px solid #edf0f4; border-radius:15px;
}
.product-detail-image img { display:block; width:100%; max-width:560px; max-height:500px; object-fit:contain; }
.product-image-placeholder { color:#94a3b8; font-weight:700; }
.product-detail-info { padding:8px 4px; }
.product-detail-info .product-category {
    display:inline-flex; margin-bottom:12px; padding:6px 10px; border-radius:999px;
    background:#eef4ff; color:#155eef; font-size:11px; font-weight:800; text-transform:uppercase;
    letter-spacing:.05em;
}
.product-detail-info h1 { margin:0 0 9px; color:#111827; font-size:clamp(25px,3vw,38px); line-height:1.13; letter-spacing:-.035em; }
.product-sku { margin:0 0 20px; color:#94a3b8; font-size:12px; }
.product-short-description { margin:0 0 25px; color:#5b6577; font-size:14px; line-height:1.7; }
.product-price-box { padding:22px 0; border-top:1px solid #edf0f4; border-bottom:1px solid #edf0f4; }
.product-old-price { color:#9aa4b2; font-size:14px; text-decoration:line-through; }
.product-discount { display:inline-flex; margin-left:8px; padding:4px 7px; border-radius:6px; background:#eaf8ef; color:#16803b; font-size:11px; font-weight:900; }
.product-price { display:block; margin-top:5px; color:#0f172a; font-size:34px; line-height:1.1; letter-spacing:-.035em; }
.product-stock { display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:17px 0; }
.stock-available { color:#16803b; font-size:13px; font-weight:800; }
.stock-unavailable { color:#b42318; font-size:13px; font-weight:800; }
.product-stock small { color:#8a94a4; font-size:11px; }
.product-purchase { display:grid; grid-template-columns:116px 1fr; gap:11px; margin-top:4px; }
.product-purchase > label { grid-column:1/-1; color:#667085; font-size:11px; font-weight:800; }
.quantity-control { height:48px; display:grid; grid-template-columns:34px 1fr 34px; border:1px solid #dfe5ed; border-radius:9px; overflow:hidden; background:#fff; }
.quantity-control button { border:0; background:#f7f9fc; color:#172033; font-size:20px; cursor:pointer; }
.quantity-control input { width:100%; min-width:0; border:0; border-left:1px solid #e8ecf1; border-right:1px solid #e8ecf1; text-align:center; font-weight:800; outline:none; }
.product-purchase .btn { min-height:48px; border-radius:9px; font-weight:800; }
.product-purchase .btn-primary { background:#155eef; color:#fff; border:1px solid #155eef; }
.product-purchase .btn-primary:hover { background:#0f4fd1; }
.product-purchase .btn-secondary { grid-column:1/-1; background:#fff; color:#344054; border:1px solid #dfe5ed; }
.product-benefits { margin-top:24px; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.product-benefits > div { padding:13px 11px; border:1px solid #edf0f4; border-radius:10px; background:#fafbfd; }
.product-benefits strong { display:block; margin-bottom:3px; color:#273142; font-size:11px; }
.product-benefits span { display:block; color:#8993a3; font-size:10px; line-height:1.4; }
.form-message { margin-top:12px; padding:11px 13px; border-radius:8px; font-size:12px; }
.form-message.success { background:#ecfdf3; color:#027a48; }
.form-message.error { background:#fef3f2; color:#b42318; }
.product-description-section {
    margin-top:24px; padding:30px 34px; background:#fff; border:1px solid #e7ebf1;
    border-radius:15px;
}
.product-description-section h2 { margin:0 0 17px; color:#172033; font-size:20px; }
.product-description { color:#596579; font-size:14px; line-height:1.8; }
.product-navigation { display:flex; justify-content:space-between; gap:12px; margin-top:20px; }
.product-navigation .btn { border-radius:9px; }

@media (max-width:900px) {
    .product-detail { grid-template-columns:1fr; gap:25px; padding:25px; }
    .product-detail-image { min-height:390px; }
    .product-detail-image img { max-height:390px; }
}
@media (max-width:560px) {
    .product-page { padding:18px 0 38px; }
    .product-detail { gap:20px; padding:15px; border-radius:13px; }
    .product-detail-image { min-height:300px; padding:16px; border-radius:11px; }
    .product-detail-image img { max-height:320px; }
    .product-detail-info { padding:2px 1px; }
    .product-detail-info h1 { font-size:25px; }
    .product-price { font-size:30px; }
    .product-purchase { grid-template-columns:104px 1fr; }
    .product-benefits { grid-template-columns:1fr; }
    .product-benefits > div { padding:12px 13px; }
    .product-description-section { padding:21px 17px; border-radius:12px; }
    .product-navigation { flex-direction:column; }
    .product-navigation .btn { width:100%; }
}
