@import url(//fonts.googleapis.com/css?family=Ubuntu);

body {
    margin:0;
    padding:0;
    font-family:helvetica, sans-serif;
}

h1, h2, h3, h4, h5 , h6 {
    font-family: 'Ubuntu', sans-serif; font-weight:normal;
}

a {
    text-decoration:none;
    color:#5993bb;
}

a:hover {
    color:#77b6e2;
}

a.button, input[type="submit"] {
    color:#fff;
    background:#5993bb;
    border-radius:4px;
    padding:10px 20px;
    font-size:14px;
    border:0;
}

a.button.light {
    color:#666;
    background:#ededed;
}

.text-left {
    text-align:left;
}

.text-right {
    text-align:right;
}

table {
    width:100%;
    border-spacing:0;
    border-collapse: collapse;
}

table th, table td {
    text-align:left;
    font-size:14px;
    padding:10px;
    margin:0;
}

tbody tr:nth-child(odd) {
    background:#efefef;
}

tbody tr.subtotal {
    background:#ccc;
}

thead th, tbody tr.total {
    background:#5993bb;
    color:#fff;
    font-weight:bold;
}

table.cart {
    margin-bottom:40px;
}

table.cart img {
    width:180px;
}

tbody td.num {
    text-align:right;
}

td input[type="submit"] {
    font-size:12px;
    padding:4px 10px;
}

form p label, form p input {
    float:left;
    clear:both;
}

form p label {
    font-size:14px;
    padding-bottom:4px;
}

form p input {
    width:300px;
    font-size:13px;
    margin-bottom:10px;
    padding:10px 12px;
    border:0;
    background:#efefef;
    color:#666;
    border-radius:4px;
}

ul.errorlist {
   float:left;
   color:#ff0000;
   clear:both;
   font-size:13px;
   margin:0 0 0 10px;
   padding:10px 0;
}


#header {
    padding:10px 100px;
    font-size:18px;
    overflow:auto;
}

#subheader {
    background:#ececec;
    color:#444;
    padding:15px 100px;
    overflow:auto;
}

#header .logo {
    font-family: 'Ubuntu', sans-serif;
    float:left;
    color:#333;
    font-size:22px;
    margin-right:10%;
}

#subheader .cart {
    float:right;
    padding-top:4px;
}

#content {
    padding: 0 100px;
}


/*#sidebar {
    width:220px;
    padding:30px 20px 0 0;
    float:left;
}*/

#sidebar ul{
    margin:0;
    padding:0;
}

#sidebar ul li {
    margin:0;
    list-style:none;
    padding:10px 14px;
}

#sidebar ul li a {
    display:block;
}

#sidebar ul li.selected {
    background:#5993bb;
    border-radius:4px;
}

#sidebar ul li.selected a {
    color:#fff;
}

#main {
    width: 100%;
}


.product-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.product-item {
    text-align: center;
}

.product-item img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
}




.product-detail {
    text-align:justify;
}

.product-detail .price {
    color:#333;
    font-size:28px;
    font-weight:bold;
}

.product-detail img {
    width:40%;
    float:left;
    padding:0 20px 20px 0;
}

.product-detail h1 {
    margin-bottom:0;
}

.product-detail h2 {
    margin-top:10px;
}

.order-form {
    float:left;
}

.order-info {
    float:right;
    width:300px;
    background:#efefef;
    padding:10px 20px;
    color:#333;
    border-bottom:4px solid #5993bb;
}

.order-info h3 {
    color:#5993bb;
}

.order-info ul li {
    margin:0;
    padding:0;
    font-size:14px;
}

.order-info p {
    font-weight:bold;
    float:right;
}

.order-info span {
    float:right;
}

.neg {
    color:#dc1616;
}

.languages {
   float:right;
   padding-top:4px;
   font-size:14px;
}

.languages ul {
    list-style:none;
    margin:0;
    padding:0;
    float:left;
}

.languages ul li {
    float:left;
    margin:0 0 0 10px;
    font-size:14px;
}

.languages p {
    float:left;
    margin:0;
}

.recommendations {
    clear:both;
}

.recommendations div {
    float:left;
}

.recommendations img {
    width:200px
}

.recommendations p {
    clear:both;
}

.recommendations.cart {
    width:60%;
    float:left;
    overflow:auto;
}

.recommendations.cart h3 {
    margin-top:0;
}

.recommendations.cart .item {
    margin-right:10px;
}

.recommendations.cart img {
    width:120px;
}

/* braintree hosted fields */
form div.field {
    font-size:13px;
    color:#666;
    width:300px;
    height:22px;
    margin-bottom:10px;
    padding:6px 12px;
    border:0;
    background:#efefef;
    color:#666;
    border-radius:4px;
}


/* ===== FINAL LAYOUT FIX ===== */



/* product grid */
.product-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.product-list .item img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
}


.shop-layout {
    display: flex;
    gap: 30px;
}

#sidebar {
    width: 220px;
    flex-shrink: 0;
}

#main {
    flex: 1;
}


/* RESPONSIVE FIXES */

/* Collapse sidebar on small screens */
@media (max-width: 767px) {
    #sidebar {
        display: none !important; /* hide sidebar on phones */
        width: 100% !important;
    }

    #main {
        width: 100% !important;
        flex: none !important;
    }

    .product-list {
        grid-template-columns: 1fr !important; /* 1 column on mobile */
        gap: 10px !important;
    }

    .product-list .item img {
        height: auto !important; /* images scale naturally */
    }

    /* remove floats for stacking */
    .order-form,
    .order-info,
    .languages,
    .recommendations div,
    .product-detail img {
        float: none !important;
        width: 100% !important;
        padding: 0 0 10px 0 !important;
    }

    /* header/cart adjustments */
    #header,
    #subheader {
        padding: 10px !important;
    }

    #header .logo,
    #subheader .cart {
        float: none !important;
        text-align: center !important;
    }
}
