/*
Theme Name: Editions Cardinales
Description: Editions Cardinales
Author: 
Author URI: 
Template: storefront 
Version: 0.1.0
*/

:root {
    --primary: #e52629;
    --error: #e52629;
    --base-text: #878787;
}

/*@font-face {
    font-family: "Ogg";
    src:
        url("assets/fonts/Ogg-Roman.woff2") format("woff2"),
        url("assets/fonts/Ogg-Roman.woff") format("woff");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Big Caslon";
    src:
        url("assets/fonts/BigCaslonFB-Regular.woff2") format("woff2"),
        url("assets/fonts/BigCaslonFB-Regular.woff") format("woff");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Big Caslon Medium";
    src:
        url("assets/fonts/BigCaslon-Medium.woff2") format("woff2"),
        url("assets/fonts/BigCaslon-Medium.woff") format("woff");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Big Caslon Italic";
    src:
        url("assets/fonts/BigCaslonFB-Italic.woff2") format("woff2"),
        url("assets/fonts/BigCaslonFB-Italic.woff") format("woff");
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}*/

body {
    font-family: "Raleway", sans-serif;
    font-size: 14px;
    line-height: 20px;
    color: var(--base-text);
}

h1,
h2,
h3,
h4,
h5,
h6,
a {
    color: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: normal;
}

a:focus,
input:focus,
textarea:focus,
button:focus {
    outline: 1px solid !important;
    outline-color: var(--base-text) !important;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.button,
.widget a.button {
    background-color: transparent;
    border-color: var(--base-text);
    color: var(--base-text);
}

input[type="button"],
input[type="reset"],
input[type="submit"],
.button,
.wc-block-grid_products .wc-block-grid_product .wp-block-button_link,
.added_to_cart,
.site-header-cart .widget_shopping_cart a.button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wc-block-components-shipping-calculator-address__button {
    border: 1px solid;
    border-radius: 14px;
    background: transparent;
    background-color: transparent;
    border-color: var(--base-text);
    color: var(--base-text);
    cursor: pointer;
    padding: 0 14px;
    line-height: 28px;
    text-decoration: none;
    font-weight: 500;
    text-shadow: none;
    display: inline-block;
    -webkit-appearance: none;
    width: fit-content;
    margin-right: auto;
    margin-left: auto;
    transition: all 0.2s ease-in-out;
    text-transform: none;
    font-family: "Raleway", sans-serif;
    text-decoration: none !important;
    transition: all 0.2s ease-in-out !important;
    box-shadow: none !important;
}

.wc-block-components-button:not(.is-link).outlined:hover,
.wc-block-components-shipping-calculator-address__button:hover,
.site-header-cart .widget_shopping_cart a.button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
.button:hover,
.widget a.button:hover {
    background-color: var(--base-text) !important;
    border-color: var(--base-text);
    color: white !important;
}

/* LAYOUT */
.site-main,
.storefront-breadcrumb,
.centered-row {
    max-width: 960px;
    padding-left: 14px;
    padding-right: 14px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.hentry .entry-content > *:not(.woocommerce) {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}

@media (min-width: 768px) {
    ul.products,
    .row-with-cols {
        display: flex;
        justify-content: center;
    }

    ul.products {
        flex-wrap: wrap;
    }
}

.storefront-breadcrumb {
    margin-bottom: 24px;
}

@media (min-width: 768px) {
    .col-full {
        max-width: none;
        margin-left: auto;
        margin-right: auto;
        padding: 0;
        box-sizing: border-box;
    }
}

@media (min-width: 768px) {
    .page-template-template-fullwidth-php .site-main ul.products.columns-4 li.product,
    .page-template-template-fullwidth-php .header-widget-region ul.products.columns-4 li.product,
    .page-template-template-homepage-php .site-main ul.products.columns-4 li.product,
    .page-template-template-homepage-php .header-widget-region ul.products.columns-4 li.product,
    .storefront-full-width-content .site-main ul.products.columns-4 li.product,
    .storefront-full-width-content .header-widget-region ul.products.columns-4 li.product {
        width: 100%;
        float: none;
        margin-right: 0;
    }
}

/* SECTION */
.section {
    padding-top: 56px;
    padding-bottom: 56px;
}

.page-title,
.page .entry-title,
.section_title {
    color: var(--primary);
    text-align: center;
    text-transform: uppercase;
    font-size: 20px;
    line-height: 28px;
    letter-spacing: 8px;
    margin: 0 0 56px;
    font-weight: 500;
}

.page .entry-content a:not(.wp-element-button) {
    text-decoration: underline;
}

fieldset legend,
h1.wp-block-heading,
.page .entry-content h2:not(.wc-block-components-sidebar *),
.page .entry-content h3:not(.wc-block-components-sidebar *),
.page .entry-content h4:not(.wc-block-components-sidebar *),
.page .entry-content h5:not(.wc-block-components-sidebar *),
.page .entry-content h6:not(.wc-block-components-sidebar *),
.product h2 {
    font-size: 20px;
    line-height: 28px;
    color: var(--primary);
    font-weight: 500;
}

.page .entry-content h2:not(.wc-block-components-sidebar *),
.page .entry-content h3:not(.wc-block-components-sidebar *),
.page .entry-content h4:not(.wc-block-components-sidebar *),
.page .entry-content h5:not(.wc-block-components-sidebar *),
.page .entry-content h6:not(.wc-block-components-sidebar *) {
    text-align: center;
}

.section--inverted {
    background-color: var(--primary);
    color: white;
}

.section--inverted .section_title {
    color: white;
}

body:not(.woocommerce):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account)
    .entry-content
    > *:not(.woocommerce) {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}

/* SOCIAL */

.social-networks {
    list-style: none;
    margin: 24px 0 0;
    display: flex;
    line-height: 0;
    justify-content: center;
}

.social-networks a {
    font-size: 20px;
    width: 32px;
    height: 32px;
    color: white;
    display: block;
    display: flex;
    align-items: center;
    justify-content: center;
}

.section_title + .social-networks {
    margin-top: -32px;
}

/* HEADER */

.main-header {
    background-color: var(--primary);
    color: white;
    padding-top: 24px;
    padding-bottom: 56px;
}

.site-logo {
    max-width: 100px;
    margin: 20px auto auto;
    display: block;
}

.site-logo img {
    max-width: 100%;
    height: auto;
}

.site-name {
    margin: 0;
    font-size: 28px;
    line-height: 32px;
    font-family: "Libre Caslon Text", serif;
    text-align: center;
    letter-spacing: normal;
}

.site-intro {
    max-width: 400px;
    margin: 0 auto;
    text-align: center;
}

.site-logo + .site-name {
    margin-top: 28px;
}

.site-name + .site-intro {
    margin-top: 42px;
}

/**/

.main-header ul.menu li:not(.mini_cart_item) > a {
    color: white;
    text-decoration: none;
    padding: 14px;
}

.main-header ul.menu .current-menu-item:not(.mini_cart_item):not(.menu-item-type-custom) a,
.main-header ul.menu li a:hover {
    text-decoration: underline;
}

.main-header ul.site-header-cart li a:hover {
    text-decoration: none;
}

.added_to_cart {
    margin-top: 1em;
}

.wc-forward::after,
.woocommerce-Button--next::after {
    content: none;
}

@media (min-width: 768px) {
    .main-navigation::before,
    .main-navigation::after {
        content: none;
    }

    .main-nav-wrapper {
        display: flex;
        justify-content: space-between;
        width: 100%;
        align-items: baseline;
    }

    .secondary-navigation {
        margin: 0 0 0 auto;
    }

    .secondary-navigation .menu {
        font-size: 1em;
        width: auto;
        float: none;
    }

    .main-navigation,
    .secondary-navigation {
        width: auto;
    }

    .secondary-navigation ul.menu a:hover {
        color: white;
    }
}

/* FOOTER */

.main-footer {
    color: var(--primary);
    padding-top: 14px;
    padding-bottom: 62px;
}

.main-footer_menu {
    list-style: none;
    margin: -14px;
}

.main-footer_menu a {
    color: inherit;
    padding: 14px;
    display: block;
}

.main-footer_menu a:hover {
    text-decoration: underline;
}

.main-footer_credit {
    margin: 0;
}

@media (min-width: 768px) {
    .main-footer {
        display: flex;
        justify-content: space-between;
    }

    .main-footer_notice {
        margin: 0 auto 0 0;
    }

    .main-footer_menu {
        display: flex;
    }

    .main-footer_credit {
        margin-left: 28px;
    }
}

/* CONTACT */

.contact_article {
    text-align: center;
    color: var(--primary);
}

.contact_article p {
    margin-top: 0;
    margin-bottom: 0;
}

.contact_article > * {
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
}

.contact_article a {
    text-decoration: underline;
}

.contact_title {
    font-size: 20px;
    line-height: 28px;
    color: var(--primary);
    text-align: center;
    font-weight: 500;
}

@media (max-width: 767px) {
    .contact_article + .contact_article {
        margin-top: 42px;
    }
}

@media (min-width: 768px) {
    .contact_article {
        position: relative;
        padding: 0 24px;
        flex-basis: 100%;
    }

    .contact_article > * {
        max-width: 360px;
    }

    .contact_article + .contact_article:before {
        content: "";
        position: absolute;
        top: 0;
        left: -1px;
        display: block;
        height: 100%;
        width: 2px;
        border-radius: 1px;
        background-color: var(--primary);
    }
}

/* founders */
.founder {
    text-align: center;
}

.founder p {
    margin: 0;
}

.founder_title {
    font-size: 18px;
    line-height: 22px;
    margin: 0;
}

.founder_title:not(:first-child) {
    margin-top: 32px;
}

.founder_img-wrapper {
    display: flex;
    justify-content: center;
    align-items: bottom;
    height: 400px;
    margin: 0 auto;
}

.founder_img-wrapper img {
    display: block;
    max-width: 100%;
    height: auto;
}

.founder_intro {
    max-width: 400px;
    margin: 0 auto;
}

.founder_intro:not(:first-child) {
    margin-top: 28px;
}

.founder_role {
    margin-top: auto;
}

.founder_role em {
    font-size: 16px;
    line-height: 24px;
    font-family: "Libre Caslon Text", serif;
}

.founder_role:not(:first-child) {
    margin-top: 28px;
}

@media (max-width: 767px) {
    .founder + .founder {
        margin-top: 56px;
    }
}

@media (min-width: 768px) {
    .founders {
        margin: -20px;
    }

    .founder {
        display: flex;
        flex-direction: column;
        min-height: 100%;
        padding: 20px;
    }

    .founder_intro {
        margin-bottom: auto;
    }
}

/* last-products */

.last-products {
    list-style: none;
    margin: 0;
}

li.product {
    text-align: center;
}

li.product img {
    display: block;
    margin: 0 auto;
    width: 284px;
    max-width: 100%;
    height: auto;
}

.wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-formatted-money-amount {
    font-weight: 400 !important;
}

.page .entry-content .wc-block-components-product-name,
.product_title {
    font-size: 14px;
    line-height: 20px;
    margin: 0;
    text-transform: uppercase;
    font-family: "Libre Caslon Text", serif;
    color: var(--primary);
}

.product_title:not(:first-child) {
    margin-top: 14px;
}

.product_author {
    font-size: 16px;
    line-height: 24px;
    color: var(--primary);
}

.product_title + .product_author {
    margin-top: 8px;
}

.product_excerpt {
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
}

.product_excerpt:not(:first-child) {
    margin-top: 14px;
}

.product_notice {
    font-size: 16px;
    line-height: 24px;
    font-style: italic;
}

.product_notice:not(:first-child) {
    margin-top: 14px;
}

@media (max-width: 767px) {
    li.product + li.product {
        margin-top: 56px;
    }
}

@media (min-width: 768px) {
    ul.products,
    .last-products {
        margin: -20px;
    }

    li.product {
        display: flex;
        flex-direction: column;
        min-height: 100%;
        padding: 20px;
    }

    li.product .button {
        margin-top: auto;
    }

    li.product {
        width: 33.3333% !important;
    }
}

/*MENU MOBILE*/

button.menu-toggle {
    background-color: transparent;
    border: none;
    color: white;
    fill: white;
}

button.menu-toggle:hover {
    background-color: transparent;
    color: white;
}

button.menu-toggle:after,
button.menu-toggle:before,
button.menu-toggle span:before {
    background-color: white;
}

@media (max-width: 767px) {
    .handheld-navigation {
        position: fixed;
        height: 100%;
        width: 100%;
        top: 0;
        left: 0;
        background-color: var(--primary);
        z-index: 10000;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .handheld-navigation {
        margin: 0 auto;
    }

    .main-navigation {
        position: relative;
    }

    .main-navigation .menu-toggle {
        position: absolute;
        top: 0;
        right: 0;
        z-index: 10001;
        transition: none;
    }

    /*TODO: with JS + CSS disable bodu scroll*/
    .main-navigation.toggled .menu-toggle {
        position: fixed;
        top: 24px;
        right: 14px;
    }

    .storefront-handheld-footer-bar {
        border: none;
        box-shadow: 0px -2px 10px 0px rgba(0, 0, 0, 0.1);
    }
}

/*CART*/

.single-product div.product form.cart {
    display: flex;
    align-items: center;
}

.single_add_to_cart_button {
    background-color: var(--primary) !important;
    border-color: var(--primary) !important;
    margin-left: 0;
}

.single_add_to_cart_button:hover,
.single_add_to_cart_button:active,
.single_add_to_cart_button:focus {
    background-color: var(--primary) !important;
    border-color: var(--primary) !important;
}

@media (min-width: 768px) {
    .site-header-cart .cart-contents .count {
        white-space: nowrap;
    }

    .site-header-cart .cart-contents::after {
        line-height: 17px;
        margin-left: 14px;
    }

    .site-header-cart .widget_shopping_cart {
        background-color: white;
    }

    .site-header-cart:hover .widget_shopping_cart,
    .site-header-cart.focus .widget_shopping_cart {
        right: 0;
        left: auto;
    }

    .site-header-cart .widget_shopping_cart {
        width: 280px;
        box-shadow: 0px -2px 10px 0px rgba(0, 0, 0, 0.1);
    }

    .site-header-cart .widget_shopping_cart .buttons,
    .site-header-cart .widget_shopping_cart .total {
        background-color: white;
    }

    .site-header-cart .widget_shopping_cart {
        font-size: 1em;
    }

    .site-header-cart .widget_shopping_cart .product_list_widget li a.remove {
        position: absolute;
        float: none;
        right: 5px;
        left: auto;
    }
}

.site-header-cart .widget_shopping_cart a.button {
    width: 100%;
}

.widget_shopping_cart .product_list_widget li {
    padding: 14px;
}

.widget_shopping_cart p.buttons {
    padding: 14px;
}

.site-header-cart .widget_shopping_cart a.button.wc-forward::after {
    content: none;
}

.site-header-cart .widget_shopping_cart a.button + a.button.checkout {
    background-color: var(--base-text);
    color: white;
}

.storefront-sticky-add-to-cart__content-title strong,
.wc-block-components-product-name,
.site-header-cart .widget_shopping_cart a {
    color: var(--primary);
    text-transform: uppercase;
    font-family: "Libre Caslon Text", serif;
    text-decoration: none;
    font-weight: 400;
}

.site-header-cart .widget_shopping_cart a:hover {
    color: var(--primary);
}

.site-header-cart .widget_shopping_cart .product_list_widget img {
    margin-right: 1em;
    max-width: 60px;
}

@media (min-width: 768px) {
    .storefront-full-width-content.woocommerce-cart .entry-header,
    .storefront-full-width-content.woocommerce-checkout .entry-header,
    .storefront-full-width-content.woocommerce-account .entry-header,
    .storefront-full-width-content .woocommerce-products-header {
        padding-left: 14px;
        padding-right: 14px;
    }
}

@media (min-width: 1064px) {
    .storefront-align-wide.page-template-template-fullwidth-php .hentry .entry-content .alignwide,
    .storefront-align-wide.storefront-full-width-content .hentry .entry-content .alignwide {
        margin: 0;
        padding: 0;
    }
}

@media (min-width: 768px) {
    .page-template-template-fullwidth-php .site-main ul.products.columns-3 li.product,
    .page-template-template-fullwidth-php .header-widget-region ul.products.columns-3 li.product,
    .page-template-template-homepage-php .site-main ul.products.columns-3 li.product,
    .page-template-template-homepage-php .header-widget-region ul.products.columns-3 li.product,
    .storefront-full-width-content .site-main ul.products.columns-3 li.product,
    .storefront-full-width-content .header-widget-region ul.products.columns-3 li.product {
        float: none;
        margin-right: 0;
    }
}

.woocommerce-Address-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1em;
}

.woocommerce-Address-title h2 {
    margin: 0;
}

.woocommerce-Address-title .edit {
    margin: 0 !important;
    float: none !important;
}

table:not(.has-background) tbody tr:nth-child(2n) td,
fieldset,
fieldset legend {
    background: transparent;
}

fieldset {
    padding: 0;
    border: 0;
    margin: 0;
    margin: 0;
}

.woocommerce-form-login__submit {
    margin-top: 1em;
}

.storefront-sticky-add-to-cart__content-button {
    margin-right: 0;
}

@media (min-width: 768px) {
    .storefront-sticky-add-to-cart__content-price {
        opacity: 1;
    }
}

.woocommerce-message {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    margin: 0;
    z-index: 10;
    font-size: 14px;
    line-height: 20px;
}

.woocommerce-message .button {
    line-height: 20px !important;
}

.wc-block-checkout__shipping-option .wc-block-components-shipping-rates-control__no-shipping-address-message,
.wc-block-components-checkbox__label,
.wc-block-components-totals-shipping-address-summary,
.wc-block-components-shipping-placeholder__value,
.wc-block-components-checkout-step__description,
.wc-block-components-product-metadata,
.editor-styles-wrapper
    table.wc-block-cart-items
    .wc-block-cart-items__row
    .wc-block-cart-item__quantity
    .wc-block-cart-item__remove-link,
table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
    font-size: 14px !important;
    line-height: 20px !important;
}

.ppcp-messages {
    display: none !important;
}

.wc-block-components-product-price__value {
    font-size: 14px !important;
    line-height: 20px !important;
}

.single-product div.product p.price {
    font-size: 18px;
    line-height: 22px;
    margin: 1em 0;
}

.wc-block-components-express-payment--checkout .wc-block-components-express-payment__event-buttons {
    grid-gap: 0 !important;
    width: 100%;
    grid-template-columns: repeat(2, 1fr) !important;
}

.wc-block-components-express-payment__event-buttons {
    margin: 11px -5px !important;
    width: calc(100% + 10px) !important;
}

#express-payment-method-ppcp-gateway-paypal,
#express-payment-method-ppcp-gateway-card {
    padding: 5px !important;
}

#express-payment-method-express_checkout_element_applePay,
#express-payment-method-express_checkout_element_googlePay {
    padding: 5px 1px !important;
}

iframe {
    width: 100% !important;
    margin: 0 !important;
}

body:not(.woocommerce-block-theme-has-button-styles) .wc-block-components-button:not(.is-link) {
    min-height: 0 !important;
}

.wp-block-woocommerce-checkout-actions-block
    .wc-block-checkout__actions_row
    .wc-block-components-checkout-place-order-button {
    height: auto !important;
    padding: 0 14px !important;
    display: block;
    width: fit-content !important;
    margin-left: auto !important;
    margin-right: 0 !important;
}

.wc-block-components-validation-error,
.wc-block-components-form .wc-block-components-text-input.has-error label,
.wc-block-components-text-input.has-error label {
    color: var(--error) !important;
}

.wc-block-components-notice-banner.is-error,
.wc-block-components-form .wc-block-components-text-input.has-error input,
.wc-block-components-form .wc-block-components-text-input.has-error input:active,
.wc-block-components-form .wc-block-components-text-input.has-error input:focus,
.wc-block-components-form .wc-block-components-text-input.has-error input:hover,
.wc-block-components-text-input.has-error input,
.wc-block-components-text-input.has-error input:active,
.wc-block-components-text-input.has-error input:focus,
.wc-block-components-text-input.has-error input:hover {
    border-color: var(--error) !important;
}

.wc-block-components-notice-banner.is-error > svg {
    background-color: var(--error) !important;
}

.post-edit-link {
    font-weight: 700;
    color: green;
}

.wc-block-components-express-payment .wc-block-components-express-payment__event-buttons > li {
    width: 100% !important;
    margin: 0 !important;
}

.wc-block-cart__payment-options {
    margin-bottom: 16px;
}

.is-large.wc-block-cart .wc-block-cart__payment-options {
    padding-top: 0 !important;
}

.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
    background-color: var(--primary) !important;
    border-color: var(--primary) !important;
}

.wc-block-components-checkout-return-to-cart-button {
    padding: 0 !important;
}

.wc-block-components-checkout-return-to-cart-button svg {
    display: none;
}

.wc-block-components-express-payment-continue-rule {
    padding: 0 !important;
}

.woocommerce-notice {
    text-align: center;
}

.woocommerce-column--billing-address,
.woocommerce-column--shipping-address {
    text-align: center;
}
