/**
 * custom.css — стили, перенесённые из Blade (inline <style> и inline style="...")
 * Подключается после style.css в layouts/master.blade.php
 */

/* ========== layouts/master ========== */
.main__logo {
    font-size: 2rem;
    font-weight: bold;
    transition: transform 0.3s ease;
}
.main__logo:hover {
    transform: scale(1.1);
}
html, body {
    height: 100%;
    margin: 0;
    padding: 0;
    overflow-y: auto;
}
.main__header {
    padding-top: 50px;
}
@media (max-width: 991.98px) {
    .main__header { padding-top: 60px; }
}
@media (max-width: 767.98px) {
    .main__header { padding-top: 40px; }
}
@media (max-width: 575.98px) {
    .main__header { padding-top: 70px; }
}
.body-bg-white {
    background-color: white;
}
footer .fas {
    color: #2E8B57;
}
.footer-icon-lg {
    font-size: 1.5rem;
}

/* ========== card.blade.php ========== */
.product-img-wrapper {
    height: 200px;
    width: 200px;
    margin: 0 auto;
    background-color: #f9f9f9;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 1rem;
    border-top-left-radius: 1rem;
    border-top-right-radius: 1rem;
}
.product-img-wrapper img {
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
}
.toggle-wishlist i {
    transition: color 0.3s ease;
}
.hover-shadow:hover {
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
    transition: box-shadow 0.3s ease-in-out;
}

/* ========== index.blade.php ========== */
.category-card {
    width: 150px;
    height: 75px;
    padding: 0.25rem;
    border-radius: 0.5rem;
    transition: transform 0.2s, box-shadow 0.2s;
}
.category-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.1);
}
.category-card .card-body {
    padding: 0;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}
.category-card i {
    font-size: 1.5rem;
    color: #2E8B57;
    flex-shrink: 0;
}
.category-card span {
    font-size: 1rem;
    font-weight: 500;
    color: #333;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: left;
}
.carousel-row > .col {
    padding: 2px;
    display: flex;
    justify-content: center;
}
.carousel-control-prev { left: -90px; }
.carousel-control-next { right: -90px; }
@media (max-width: 576px) {
    .carousel-control-prev,
    .carousel-control-next { display: none; }
}
@media (max-width: 767.98px) {
    .hide-on-mobile { display: none !important; }
}
.more-btn {
    padding: 0.25rem 0.5rem;
    border-radius: 50%;
    border: 1px solid #ccc;
    background-color: #2E8B57;
    transition: all 0.3s ease;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.more-btn:hover {
    background-color: #E6AC00;
    border-color: #bbb;
}
.more-btn i {
    font-size: 1rem;
    transition: transform 0.3s ease;
}
.banner-wrapper {
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 1.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
}
.banner-wrapper img.banner-img {
    min-width: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
}

/* ========== basket.blade.php ========== */
.btn-orange {
    background-color: #F65005;
    color: white;
    border: none;
    transition: background-color 0.3s ease;
}
.btn-orange:hover {
    background-color: #E6AC00;
    color: white;
}
.basket-table-cells td,
.basket-table-cells th {
    vertical-align: middle !important;
}

/* ========== shop/index ========== */
.shop-section {
    background-color: #f8f9fa;
}
.shop-section .card {
    border: none;
    border-radius: 1rem;
    transition: box-shadow 0.3s ease;
}
.shop-section .card:hover {
    box-shadow: 0 0.5rem 1rem rgba(25, 135, 84, 0.3);
}
.shop-btn-group .btn,
.shop-section .btn-group .btn {
    border-radius: 0.5rem;
    transition: background-color 0.3s ease, color 0.3s ease;
}
.shop-btn-group .btn.active,
.shop-btn-group .btn:hover,
.shop-section .btn-group .btn.active,
.shop-section .btn-group .btn:hover {
    background-color: #198754;
    color: #fff;
    border-color: #198754;
}
@media (max-width: 991.98px) {
    .btn-group.d-lg-none { margin-left: auto; }
}

/* ========== auth/products/tree ========== */
.rotate-icon {
    transition: transform 0.3s ease;
    color: var(--theme-color2);
    font-size: 1.2rem;
}
a[aria-expanded="true"] .rotate-icon {
    transform: rotate(90deg);
}
.tree-table-hover tbody tr:hover {
    background-color: var(--theme-color4);
    cursor: pointer;
    transition: background-color 0.3s ease;
}
@media (max-width: 576px) {
    .tree-card-header h5 { font-size: 1rem; }
    .tree-btn-group .btn { width: 30px; height: 30px; }
    .tree-table thead tr th,
    .tree-table tbody tr td { font-size: 0.85rem; padding: 0.3rem 0.5rem; }
}

/* ========== Inline → классы (frontend) ========== */
.category-icon-color { color: #097739; }
.search-form-mt { margin-top: 50px; }
.alert-inline-success {
    position: relative;
    padding: 1rem 1rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: 0.25rem;
    background-color: #6bc391;
    color: white;
}
.scroll-top-btn {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 9999;
    background: #2E8B57;
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.scroll-top-btn.show { display: flex; }
.toast-container-z { z-index: 9999; }
.payment-logo-h { max-height: 40px; }
.wishlist-btn-wh {
    z-index: 10;
    width: 36px;
    height: 36px;
    border: 2px solid white;
}
.basket-product-img {
    width: 70px;
    height: 70px;
    object-fit: contain;
}
.product-main-img-wrap { min-height: 320px; }
.product-gallery-img {
    max-height: 280px;
    object-fit: contain;
}
.product-qty-input { max-width: 120px; }
.wishlist-thumb {
    width: 70px;
    height: 70px;
    object-fit: contain;
}
.wishlist-btn-size { width: 36px; height: 36px; }
.basket-qty-input { width: 60px; }
