/*
 Theme Name:   Olympia Tattoo Co.
 Description:  Customization of fireweed theme for Olympia Tattoo Co.
 Author:       Maggie Wettergreen
 Author URI:   https://maggiewettergreen.com
 Template:     fireweed
 Version:      2.0.1
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  fireweed-child
*/

/*post loop styles*/
.wp-block-query.is-layout-flow li{
    display: flex;
    background: #111;
    border-radius: 5px;
    overflow: hidden;
}
.wp-block-query.is-layout-flow li figure{
    max-width: 40%;
    aspect-ratio: 1/1!important;
    margin: 0 !important;
}
.wp-block-query.is-layout-flow li figure:hover{
    opacity: 0.8;
}

.wp-block-query.is-layout-flow li .wp-block-group{
    margin: 10px 15px 5px!important;
}
.wp-block-query.is-layout-flow li h3,
.wp-block-query.is-layout-flow li .wp-block-group div{
    margin: 0 !important;
}
.wp-block-query.is-layout-flow li p{
    margin: 5px 0 0 0 !important;
    line-height: 1.2;
}
.wp-block-query.is-layout-flow li a{
    color: #e89717;
}
.wp-block-query.is-layout-flow li h3 a{
    font-size: 120%;
    color: var(--wp--preset--color--slate-600);
}
.wp-block-query.is-layout-flow li a:hover{
    color: #c98312;
    
}
.wp-block-query.is-layout-flow li .wp-block-group .wp-block-post-excerpt__more-link{
    text-decoration: none;
    display: inline-block;
    font-size: 80%;
    letter-spacing: 1px;
    font-weight: 800;
    text-transform: uppercase;
}

.wp-block-query.is-layout-flow li .wp-block-group .wp-block-post-excerpt__more-link::after{
    display: inline-block;
    content: "→";
    font-size: 175%;
    vertical-align: middle;
    margin-top: -2px;
}


/* Artist Template Styles */
.artist {
    display: flex;
    gap: 2rem;
    margin: 2rem 0;
}

.artist aside {
    flex: 1;
    min-width: 300px;
}

.artist article {
    flex: 1;
    min-width: 300px;
}

.artist .flex {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    margin-bottom: 1.5rem;
}

.artist .portrait {
    flex-shrink: 0;
}

.artist .portrait img {
    border-radius: 50%;
    width: 80px;
    height: 80px;
    object-fit: cover;
}

.artist .social {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.5rem;
}

.artist .social a {
    text-decoration: none;
    transition: color 0.3s ease;
    font-size: 1.5rem;
}

.artist .social a:hover {
    color: #333;
}

.artist .booking-button{
    flex-grow: 1;
    text-align: right;
    padding-top: 10px;
}
.artist .booking-button a{
    display: inline-block;
}

/*small laptops and large tablets and below*/
@media only screen and (max-width:1200px) {
  
}

/*small tablets and mobile*/
@media only screen and (max-width:999px) {
    .wp-block-site-logo{
        margin-bottom: -40px!important;
    }
    h1,
    .has-xx-large-font-size{
        font-size: 2rem!important;
        max-width: none
    }
    .home h1{
        font-size: 3rem!important;
    }
    .wp-block-button__link {
        padding: 1rem !important;
        text-wrap: nowrap;
    }
    .artist{
        margin: 0;
    }
    .artist .flex{
        display: block;
    }
    .artist h1{
        font-size: 1.75rem !important;
        margin-bottom: 5px;
    }
    .artist article{
        width: 100%;
    }
    .artist .portrait{
        float: right
    }
    .artist .booking-button a {
        display: block;
        width: 100%;
        text-align: center;
        margin-top: 10px;
    }
    footer .is-layout-grid{
        display: flex;
        flex-wrap: wrap;
    }
    footer .is-layout-grid > *{
        flex-basis: calc(50% - 1rem);
        order: 1;
    }
    footer .is-layout-grid > *:first-child,
    footer .is-layout-grid > *:last-child{
        flex-basis: 100%;
        margin-bottom: 1rem;
    }
    footer .is-layout-grid > *:first-child{
        text-align: center;
    }
    footer .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content{
        padding: 0;
        line-height: 2;
    }
    footer h4{
        border-bottom: 1px solid #2e2e2e;
        padding-bottom: 5px;
        margin-top: 1rem;
    }

    .is-layout-constrained p{
        max-width: 100%;
    }

}

/*large tablets and desktop*/
@media only screen and (min-width:1000px) {

}

/*small mobile*/
@media only screen and (max-width:500px) {
  
}


.woocommerce .woocommerce-breadcrumb{
    position: relative;
    z-index: 10;
}
.wc-block-product-gallery-large-image__wrapper,
.wc-block-product-gallery-large-image.wp-block-woocommerce-product-gallery-large-image{
    aspect-ratio: 8/9;
    background: #00000070;
}
.wc-block-product-gallery button {
    background: #00000070;
    color: #fff;
    border: none;
    border-radius: 10px;
    width: 50px;
    height: 50px;
    line-height: 0;
}
.wc-block-product-gallery button svg{
    height: auto;
    width: auto;
    margin: 0;
    transform: scale(1.6);
}
.woocommerce .quantity .qty{
    padding:.4rem;
    min-height: 45px;
}

/* Responsive adjustments */
@media only screen and (max-width: 768px) {
    .artist {
        flex-direction: column-reverse;
    }

    header.wp-block-template-part>div>div:last-child{
        flex-direction: row-reverse;
        flex-grow: 1;
    }
    header ul.wp-block-social-links{
        order: 0;
    }
    header .wc-block-mini-cart{
        order: 1;
    }

}


body .wpcf7 form .wpcf7-response-output {
    margin: 1em 0;
    padding: 1em;
    border-radius: .5em;
}

body .wpcf7 form input:not([type="submit"]),
body .wpcf7 form textarea{
    width: 100%;
}
.wpcf7-quiz-label{
    display: block;
}


body.woocommerce-checkout main .woocommerce,
body.woocommerce-cart main .woocommerce {
    max-width: 100%;
}
body.woocommerce-checkout #customer_details>div{
    width: 100%;
    float: none;
}
.woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals{
    width: 100%;
    float: none;
}
@media only screen and (min-width: 1000px) {
   
    body.woocommerce-checkout form>.col2-set{
        float: left;
        width: calc(50% - 20px);
    }
    body.woocommerce-checkout form>h3,
    body.woocommerce-checkout form>#order_review{
        float: right;
        width: calc(50% - 20px);
    }
    .woocommerce-cart form.woocommerce-cart-form{
        float: left;
        width: calc(65% - 20px);
    }
    .woocommerce-cart .cart-collaterals{
        float: right;
        width: calc(35% - 20px);
    }
}
.woocommerce-cart .cart-collaterals td{
    text-align: right;
}
.woocommerce table.variations tr td select{
    height: auto;
}
form select{
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e")!important;
    background-size: 1.5em 1.5em!important;
}

/* ===== WOOCOMMERCE FORM STYLES - HIGH PRIORITY ===== */

/* WooCommerce Input Fields */
.woocommerce form .form-row .input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea,
.woocommerce form .form-row input[type="text"],
.woocommerce form .form-row input[type="email"],
.woocommerce form .form-row input[type="tel"],
.woocommerce form .form-row input[type="number"],
.woocommerce form .form-row input[type="url"],
.woocommerce form .form-row input[type="password"],
.woocommerce form .form-row input[type="search"],
.woocommerce form .form-row input[type="date"],
.woocommerce form .form-row input[type="datetime-local"] {
    border-radius: 0.5rem !important;
    background-color: transparent !important;
    border: 2px solid #475569 !important;
    color: inherit !important;
    padding: 0.875rem 1rem !important;
    font-size: 18px !important;
    height: auto !important;
    font-family: inherit !important;
    transition: all 0.2s ease !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

/* WooCommerce Select Dropdown Styling */
.woocommerce form .form-row select {
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e") !important;
    background-position: right 0.75rem center !important;
    background-repeat: no-repeat !important;
    background-size: 1.5em 1.5em !important;
    padding-right: 2.5rem !important;
}

/* WooCommerce Select Options */
.woocommerce form .form-row select option {
    color: #222 !important;
    background-color: #fff !important;
    font-size: 18px !important;
}

/* WooCommerce Input Focus States */
.woocommerce form .form-row .input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row input:focus {
    outline: none !important;
    border-color: #3b82f6 !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15) !important;
    background-color: #e7e7e723 !important;
}
.woocommerce form .form-row {
    margin-bottom: 0;
}
body .woocommerce form .form-row label{
    margin-bottom: 0!important;
}

.woocommerce-input-wrapper{
    display: block;
    position: relative;
    min-height: 53px;
}
.woocommerce form .select2-container .select2-dropdown, 
.woocommerce form .select2-container .select2-selection{
    background-color: transparent !important;
    border: 2px solid #475569 !important;
    font-size: 18px !important;
    border-radius: .5rem;

}
.woocommerce form .select2-container .select2-selection__rendered{
    color: #E4E4E4 !important;
}
.woocommerce-page .select2-container .select2-search--dropdown {
    padding: .5rem 1.1rem .5rem;
}

.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper{
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: .5rem;
}
.woocommerce-billing-fields__field-wrapper>p,
.woocommerce-shipping-fields__field-wrapper>p{
    min-width: calc(50% - .25rem);
}
.woocommerce-checkout [id*="company_field"],
.woocommerce-checkout [id*="country_field"],
.woocommerce-checkout [id*="address_1_field"],
.woocommerce-checkout [id*="address_2_field"]{
    min-width: 100%;
}
.woocommerce-checkout [id*="city_field"]{
    min-width: calc(40% - 1rem);
    width: calc(40% - 1rem);
}
.woocommerce-checkout [id*="state_field"]{
    min-width: 35%;
    width: 35%;
}
.woocommerce-checkout [id*="postcode_field"]{
    min-width: 25%;
    width: 25%;
}
@media only screen and (max-width: 999px) {
    .woocommerce-checkout [id*="first_name_field"],
    .woocommerce-checkout [id*="last_name_field"],
    .woocommerce-checkout [id*="city_field"],
    .woocommerce-checkout [id*="phone_field"],
    .woocommerce-checkout [id*="email_field"]{
        min-width: 100%;
    }

    .woocommerce-checkout [id*="state_field"]{
        width: auto;
        min-width: auto;
        flex-grow: 1;
    }
    .woocommerce-checkout [id*="postcode_field"]{
        width: 150px;
    }
}

/* WooCommerce Input Hover States */
.woocommerce form .form-row .input-text:hover,
.woocommerce form .form-row select:hover,
.woocommerce form .form-row textarea:hover,
.woocommerce form .form-row input:hover {
    border-color: #64748b !important;
    background-color: #e7e7e723 !important;
}

/* WooCommerce Labels */
.woocommerce form .form-row label {
    display: block !important;
    font-weight: 500 !important;
    font-size: 0.875rem !important;
    margin-bottom: 0.5rem !important;
    font-family: inherit !important;
}

/* WooCommerce Required Field Indicator */
.woocommerce form .form-row .required {
    color: #ef4444 !important;
    font-size: 0.75rem !important;
    margin-left: 0.25rem !important;
}

/* WooCommerce Error States */
.woocommerce form .form-row.woocommerce-invalid .input-text,
.woocommerce form .form-row.woocommerce-invalid select,
.woocommerce form .form-row.woocommerce-invalid textarea {
    border-color: #ef4444 !important;
    background-color: rgba(239, 68, 68, 0.05) !important;
}

/* WooCommerce Error Messages */
.woocommerce form .form-row .woocommerce-error {
    color: #ef4444 !important;
    font-size: 0.75rem !important;
    margin-top: 0.25rem !important;
    display: block !important;
}

.woocommerce-checkout table.shop_table,
.cart_totals table.shop_table {
    width: 100%;
    background: #272e39;
}

.woocommerce-page table.shop_table .product-total{
    text-align: right;
}
.woocommerce-page table.shop_table tfoot th,
.woocommerce-page table.shop_table tfoot td{
    text-align: right;
    padding: 5px 10px;
}
tr.woocommerce-shipping-totals{
    vertical-align: top;
}
tr.woocommerce-shipping-totals td{
    text-align: center;
}
.woocommerce-page table.shop_table #shipping_method{
    text-align: left;
    display: inline-block;
    background: #475569;
    text-wrap: nowrap;
}
.woocommerce-page table.shop_table #shipping_method li{
    margin: 0;
}
.woocommerce ul#shipping_method li label {
    display: inline-block;
    vertical-align: middle;
    padding: 5px 10px;
    margin: 0;
}
.woocommerce ul#shipping_method li input {
    margin: 0 0 0 10px;
    vertical-align: middle;
}
.woocommerce-page table.shop_table tfoot .cart-subtotal{
    border-top: 2px solid #475569;
}
.woocommerce-page table.shop_table tfoot tr:first-child th,
.woocommerce-page table.shop_table tfoot tr:first-child td{
    padding-top: 10px
}
.woocommerce-page table.shop_table tfoot tr:last-child th,
.woocommerce-page table.shop_table tfoot tr:last-child td{
    padding-bottom: 10px
}