/* Integra componentes Laravel ao layout legado sem alterar identidade visual. */
.site-form { max-width: 720px; }
.site-form .field { min-width: 0; margin-bottom: 18px; }
.site-form label { display: block; margin-bottom: 7px; color: #444; font-weight: 600; }
.site-form input:not([type="checkbox"]):not([type="hidden"]),
.site-form input[type="text"],
.site-form input[type="email"],
.site-form input[type="tel"],
.site-form input[type="number"],
.site-form textarea,
.site-form select {
    box-sizing: border-box;
    display: block;
    width: 100%;
    max-width: 100%;
    min-height: 42px;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid #c9cdd5;
    border-radius: 3px;
    background: #fff;
    color: #333;
    font: inherit;
}
.site-form textarea { min-height: 150px; resize: vertical; }
.site-form input:focus, .site-form textarea:focus, .site-form select:focus {
    border-color: #0098da;
    box-shadow: 0 0 0 3px rgba(0, 152, 218, .12);
    outline: 0;
}
.site-form .checkbox-field label { display: flex; gap: 9px; align-items: flex-start; font-weight: 400; }
.site-form .checkbox-field input { flex: 0 0 auto; width: auto; height: auto; margin: 2px 0 0; }
.site-form .field-error { display: block; margin-top: 5px; color: #b42318; }
.site-form .button, .site-form button.button { border: 1px solid #e7a728; cursor: pointer; }
.site-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.site-form-grid .span-2 { grid-column: 1 / -1; }
.form-help { color: #777; font-size: 12px; }
.honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.purchase-box { margin-top: 22px; padding: 18px; border: 1px solid #e1e1e1; border-radius: 3px; background: #fafafa; }
.inline-purchase { display: flex; gap: 16px; align-items: flex-end; }
.inline-purchase > div { width: 120px; }
.inline-purchase .button { margin: 0; }
.product-image { display: block; width: 100%; height: auto; }
.product-description { clear: both; padding-top: 32px; }
.product-description img, article img { max-width: 100%; height: auto; }
.site-pagination { display: flex; align-items: center; justify-content: center; gap: 14px; padding: 28px 0; clear: both; }
.site-pagination a, .site-pagination span { padding: 7px 11px; border: 1px solid #ddd; border-radius: 3px; }
.site-pagination a { background: #f8c558; color: #523b09; }
.cart-table { width: 100%; margin-bottom: 30px; }
.cart-table input[type="number"] { width: 82px; margin: 0; }
.cart-actions { display: flex; gap: 8px; align-items: center; }
.cart-actions form { margin: 0; }
.cart-actions button { white-space: nowrap; }
.empty-state { padding: 32px; border: 1px solid #e1e1e1; background: #fafafa; text-align: center; }
.order-summary { margin-bottom: 28px; padding: 18px; border-left: 4px solid #b3ba06; background: #f8f9f2; }

@media only screen and (max-width: 767px) {
    .site-form-grid { grid-template-columns: minmax(0, 1fr); }
    .site-form-grid .span-2 { grid-column: auto; }
    .inline-purchase { align-items: stretch; flex-direction: column; }
    .inline-purchase > div { width: 100%; }
    .inline-purchase .button { width: 100%; }
    .cart-table, .cart-table tbody, .cart-table tr, .cart-table td { display: block; width: 100%; box-sizing: border-box; }
    .cart-table thead { display: none; }
    .cart-table tr { margin-bottom: 14px; border: 1px solid #ddd; }
    .cart-table td { border: 0; border-bottom: 1px solid #eee; }
    .cart-actions { flex-wrap: wrap; }
}

@media only screen and (max-width: 479px) {
    body { padding-bottom: 52px; }
    #whatsRodape {
        right: auto;
        bottom: 10px;
        left: 10px;
        width: 150px;
        height: 34px;
        border-radius: 4px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, .22);
    }
    #whatsRodape img { width: 133px; height: auto; }
}
