/*
Theme Name: Themify Ultra Child
Description: Child theme for Themify Ultra
Author: Modena Design AB
Template: themify-ultra
*/

/*--------------------------------------------------------------
# Root
--------------------------------------------------------------*/
:root {
    --yellow-color: #FDC82F;
    --orange-color: #ee8d02;
    --almostblack-color: #161515;
    --orange-color-hover: #e08403;
    --grey-color: #82786f;
    --dark-grey-color: #353535;

    --primary-color: #ed1e24;
    --secondary-color: #000000;
    --text-color: #333333;
    --link-color: #0031FF;
    --link-hover-color: #000000;
    --link-visited-color: #CD00CD;
}

/*--------------------------------------------------------------
# Links
--------------------------------------------------------------*/
a {
    color: #0031FF;
}
a:hover {
    color: #000000;
}
a:visited {
    color: #CD00CD;
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
.header-bar {
    margin-top: 10px;
}

#site-logo a {
    display: block;
}

#site-logo a img {
    max-width: 600px;
}

@media (max-width: 680px) {
    #site-logo a img {
       max-width: 270px;
   }
}

@media (max-width: 680px) {
    #headerwrap .header-icons {
        right: 5%;
        margin-top: 15px !important;
    }
}

@media (max-width: 480px) {
    body #site-logo a img {
        height: 40px !important;
    }
}

/*--------------------------------------------------------------
# Misc
--------------------------------------------------------------*/
.post-image img {
    border-radius: 0px;
}
/**Sjk skin**/
#pagewrap .back-top.back-top-float {
    background-color: #ee2312;
}

h3.module-title{
    color:#000000;
}
/*Themify Event Post*/
.tep_date:before {
    display:none
}
/*lokalt meny*/
.ui.nav.vertical {
    width:300px
}
/*Hogerpanel-Layoutpart id 302*/
.textwidget .fh-register-link a.button {
margin-left: 24px}
.blimedlem_hogerpanel  .fh-register-link a.button {
margin-left: 24px}
/*Poster i lista*/
.loops-wrapper.list-thumb-image .post-title {
    font-size: 20px;
}
/**Tabell**/
#custom_table {
  border-collapse: collapse;
  width: 100%;
}
#custom_table td, #custom_table th {
  border: 1px solid #ddd;
  padding: 8px;
}
#custom_table tr:nth-child(even){background-color: #f2f2f2;}
#custom_table tr:hover {background-color: #ddd;}
#custom_table th {
  padding-top: 12px;
  padding-bottom: 12px;
  text-align: left;
  background-color: #ed1e24;
  color: white;
}
/**Tabell**/
table{
  border-collapse: collapse;
  width: 100%;
}
td,  th {
  border: 1px solid #ddd;
  padding: 8px;
}
table tr:nth-child(even){background-color: #f2f2f2;}
table tr:hover {background-color: #ddd;}
table th {
  padding-top: 12px;
  padding-bottom: 12px;
  text-align: left;
  background-color: #ed1e24;
  color: white;
}
@media only screen and (max-width: 680px) {
    #custom_table {
    border-collapse: collapse;
    font-size:75%;
   }
}

/* GW - 2025-01-20 */
.full_width #content {
  padding: 3.75% 0;
}

@media (min-width: 901px) {
  .full_width #content {
    padding: 5.75% 0;
  }
}

/*--------------------------------------------------------------
# Block : Hero
--------------------------------------------------------------*/
.hero {
  padding: 3rem;
}

.hero h1 {
  font-size: 3.5em;
  letter-spacing: -.03em;
  line-height: 1.2em;
  color: var(--dark-grey-color);
  width: 50%;
}

.hero p {
  font-size: 1.2rem;
  line-height: 1.5;
  margin-top: 1rem;
  margin-bottom: 0;
  margin-left: auto;
  margin-right: auto;
  color: var(--grey-color);
  width: 50%;
}

@media (max-width: 1024px) {
    .hero {
        padding: 2rem;
    }
    .hero h1 {
        font-size: 3em;
    }
    .hero p {
        font-size: 1.1rem;
    }
}

@media (max-width: 768px) {
    .hero {
        padding: 1.5rem;
        min-height: 320px;
    }
    .hero h1 {
        font-size: 2.5em;
    }
    .hero p {
        font-size: 1rem;
    }
    .hero h1,
    .hero p {
        width: 100%;
    }
}
@media (max-width: 480px) {
    .hero {
        padding: 0;
        min-height: 280px;
    }
    .hero h1 {
        font-size: 2.2em;
    }
}

/*--------------------------------------------------------------
# Block : Product Category & Category Page
--------------------------------------------------------------*/
.product-categories {
    padding: 2rem 0;
}

.product-categories-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2rem;
}

.product-categories-header .section-title {
    margin: 0;
    color: var(--dark-grey-color);
    font-size: 2rem;
}

.product-categories-header .view-all-link {
    color: var(--orange-color);
    text-decoration: none;
    font-weight: 600;
    font-size: 1rem;
    transition: color 0.3s ease;
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.product-categories-header .view-all-link svg {
    transition: transform 0.3s ease;
}

.product-categories-header .view-all-link:hover svg {
    transform: translateX(2px);
}
.product-categories-header .view-all-link:visited {
    color: var(--dark-grey-color);
}
.product-categories-header .view-all-link:hover,
.product-categories-header .view-all-link:focus {
    color: var(--dark-grey-color);
    outline: none;
}
.products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}
.product-item {
    background: #fff;
    border: 0.5px solid #ededed;
    box-shadow: 0px 2px 4px -2px rgba(0, 0, 0, 0.1), 0px 4px 6px -1px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    transition: box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
.product-item:hover {
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
}
.product-image {
    position: relative;
}
.product-image > a {
    display: block;
    overflow: hidden;
}
.entry-content .product-image img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    transition: transform 0.3s ease;
    display: block;
}
.product-item:hover .product-image img {
    transform: scale(1.05);
}
.product-content {
    padding: 1.5rem;
}
.product-title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    margin-bottom: 0.2rem;
    font-size: 1.1rem;
}
.product-title a,
.woocommerce ul.products li.product .woocommerce-loop-product__title a {
    text-decoration: none;
    font-size: 1.1rem;
    color: var(--dark-grey-color);
}
.product-title a:hover, 
.product-title a:focus,
.product-title a:active, 
.product-title a:visited {
    color: var(--dark-grey-color);
}
.product-price,
.woocommerce ul.products li.product .price {
    font-size: 1.1rem;
    font-weight: bold;
    margin-bottom: 1rem;
    color: var(--dark-grey-color);
}
.product-price del,
.woocommerce ul.products li.product .price del {
    color: var(--grey-color);
    font-size: .8em;
    margin-right: .3em;
    opacity: .8;
}

.woocommerce ul.products li.product .price ins {
    font-weight: 700;
}

/* Also single product */
.woocommerce span.onsale, .woocommerce ul.products li.product .onsale,
.woocommerce.single-product span.onsale, 
.woocommerce.single-product ul.products li.product .onsale,
.product-image .onsale {
    background: var(--orange-color);
    color: white;
    position: absolute;
    top: 0;
    left: 0;
    right: auto;
    margin: -.5em 0 0 -.5em;
    font-weight: 600;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .1em;
    line-height: 3.4em;
    min-height: 3.4em;
    min-width: 3.4em;
    padding: .44em;
    font-size: 0.7em;
    border-radius: 100%;
}

.product-actions .button,
.product-actions .add_to_cart_button,
.woocommerce ul.products li.product .button {
    padding: 0.6rem 1rem;
    background: var(--orange-color);
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    text-decoration: none;
    display: inherit;
    transition: background 0.3s ease;
    font-size: .9rem;
    line-height: 1.6;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0;
    text-transform: inherit;
}

.product-actions .button:visited,
.product-actions .add_to_cart_button:visited,
.woocommerce ul.products li.product .button:visited {
    background: var(--orange-color);
    color: white !important;
    font-weight: 600;
}

.product-actions .button:hover,
.product-actions .add_to_cart_button:hover,
.woocommerce ul.products li.product .button:hover {
    background: var(--orange-color-hover);
}

@media (max-width: 768px) {
    .product-categories {
        padding: 1.5rem 0;
    }
    .product-actions .button,
    .product-actions .add_to_cart_button,
    .woocommerce ul.products li.product .button {
        padding: 0.5rem 1rem;
    }
    .products-grid {
        margin-top: 1rem;
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    }
    .product-content {
        padding: 1rem;
    }
    .product-categories-header {
        align-items: flex-start;
        gap: 1rem;
        margin-bottom: 1rem;
    }
    
    .product-categories-header .section-title {
        font-size: 1.6rem;
    }
    .woocommerce span.onsale, .woocommerce ul.products li.product .onsale {
        font-size: 0.6em;
    }

}

@media (max-width: 480px) {
    .product-title,
    .woocommerce ul.products li.product .woocommerce-loop-product__title {
        font-size: 1rem;
    }
    .product-price {
        font-size: 1rem;
    }
    .product-categories-header {
        flex-direction: column;
        align-items: flex-start;
        gap: .3rem;
        margin-bottom: 1rem;
    }
    .woocommerce ul.loops-wrapper.products>li.product,
    .loops-wrapper.grid4>.post:nth-of-type(odd), .loops-wrapper.products.grid4>.product:nth-of-type(odd) {
        width: 100%;
        margin-right: 0;
        margin-left: 0;
    }
}

/* Woocommerce buttons */
.wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button {
    background-color: var(--almostblack-color);
    color: #fff;
    padding: 10px 20px;
    text-transform: unset;
    letter-spacing: 0;
    font-weight: 600;
    border-radius: 0;
    width: 100% !important;
}

.wp-block-post-title :where(a) {
  color: var(--text-color);
}

/*--------------------------------------------------------------
# Block : Featured Product
--------------------------------------------------------------*/
.featured-product {
    padding: 2rem 0;
}

.featured-product-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
}

/* Image on right variation */
.featured-product-wrapper.image-right {
    grid-template-columns: 1fr 1fr;
}

.featured-product-wrapper.image-right .featured-product-image {
    order: 2;
}

.featured-product-wrapper.image-right .featured-product-content {
    order: 1;
}

.featured-product-image {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
}

.featured-product-image a {
    display: block;
    overflow: hidden;
}

.featured-product-image img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.featured-product-image:hover img {
    transform: scale(1.05);
}

.featured-product-content {
    padding: 2rem 0 2rem 2rem;
}

.featured-product-wrapper.image-right .featured-product-content {
    padding: 2rem 2rem 2rem 0;
}

.featured-product-title {
    margin: 0 0 1rem;
    color: var(--dark-grey-color);
}

.featured-product-description {
    font-size: 1.1rem;
    line-height: 1.6;
    margin-bottom: 1rem;
    color: var(--grey-color);
}

.featured-product-description p:last-child {
    margin-bottom: 0;
}

.featured-product-price {
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 2rem;
    color: var(--dark-grey-color);
}

.featured-product-price del {
    color: var(--grey-color);
    font-size: 1.2rem;
    margin-right: .3em;
    opacity: .8;
}

.featured-product-button {
    margin-top: 2rem;
}

.featured-btn {
    display: inline-block;
    padding: .8rem 2rem;
    background: var(--orange-color);
    color: white !important;
    text-decoration: none;
    border-radius: 6px;
    font-weight: 600;
    font-size: 1.1rem;
    transition: all 0.3s ease;
    border: 2px solid var(--orange-color);
}

.featured-btn:visited {
    background: var(--orange-color);
}

.featured-btn:hover,
.featured-btn:focus,
.featured-btn:active {
    background: var(--orange-color-hover);
    border-color: var(--orange-color-hover);
    color: white !important;
    font-weight: 600;
}

@media (max-width: 1024px) {
    .featured-product-wrapper {
        gap: 2rem;
    }
}

@media (max-width: 768px) {
    .featured-product {
        padding: 1.5rem 0;
    }
    
    .featured-product-wrapper,
    .featured-product-wrapper.image-right {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    
    /* Reset order on mobile - always show image first */
    .featured-product-wrapper.image-right .featured-product-image,
    .featured-product-wrapper.image-right .featured-product-content {
        order: unset;
        padding: 0;
    }
    
    .featured-product-content {
        padding: 0;
    }
    
    .featured-product-title {
        font-size: 1.6rem;
        margin: 0 0 .5rem;
    }
    .featured-product-description {
        font-size: 1rem;
        margin-bottom: 1rem;
    }
    
    .featured-product-price {
        font-size: 1.3rem;
        margin-bottom: 1rem;
    }
    .featured-product-price del {
        font-size: 1rem;
    }

    .featured-product-button {
        margin-top: 0;
    }
    .featured-btn {
        font-size: .9rem;
        padding: 0.5rem 1.2rem;
    }
}

@media (max-width: 480px) {
    .featured-product-price {
        font-size: 1.1rem;
    }
    .featured-btn {
        display: block;
        text-align: center;
    }
}

/*--------------------------------------------------------------
# Single Product Page
--------------------------------------------------------------*/
.woocommerce button.button, .woocommerce button.button.alt {
    padding: 0.75rem 1rem;
    background: var(--orange-color);
    border-radius: 6px;
    cursor: pointer;
    text-decoration: none;
    display: inherit;
    transition: background 0.3s ease;
    text-transform: inherit;
    letter-spacing: 0;
    transform: none !important;
}

.woocommerce button.button:visited, .woocommerce button.button.alt:visited,
.woocommerce button.button:focus, .woocommerce button.button.alt:focus,
.woocommerce button.button:active, .woocommerce button.button.alt:active,
.woocommerce button.button:hover, .woocommerce button.button.alt:hover {
    background: var(--orange-color-hover);
    color: white !important;
}

.woocommerce .quantity .qty {
    padding: 0.6em; 
    height: 40px;
}

.product_meta {
    letter-spacing: 0;
    text-transform: inherit;
}

.product_meta a {
    color: var(--grey-color);
    font-size: inherit;
    font-weight: 600;
}

.product_meta a:hover {
    color: var(--dark-grey-color);
    font-weight: 600;
}

.product_meta .sku_wrapper {
    display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    border-bottom: 2px solid var(--orange-color);
} 

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    outline: none !important;
} 

.woocommerce a.added_to_cart {
    display: none;
}

.single-product .woocommerce-error li a {
    display: none;
}

/* Related products */
.related.products {
    padding-top: 3rem;
}

.single-product ul.products {
    gap: 1.5rem;
}

.single-product ul.products:before {
    display: none;
}

.single-product ul.products li {
    margin: 0 !important;
}

.loops-wrapper .post-image {
    margin: 0;
    overflow: visible;
}

.woocommerce ul.products li.product a img {
    display: block;
    margin: 0;
}

.woocommerce ul.products li.product a {
    margin: 0;
}

.related.products ul.products li.product .button {
    padding: 0.5rem 0.8rem;
    background: var(--orange-color);
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    text-decoration: none;
    display: inherit;
    transition: background 0.3s ease;
    font-weight: 400;
    text-transform: inherit;
    letter-spacing: 0;
    line-height: 1;
    text-align: center;
    font-size: .9em;
}

.related.products ul.products li.product .button:hover {
    background: var(--orange-color-hover);
    font-weight: 400;
    font-size: .9em;
    letter-spacing: 0;
}

.woocommerce ul.loops-wrapper.products>li.product {
    background: #fff;
    border: 0.5px solid #ededed;
    box-shadow: 0px 2px 4px -2px rgba(0, 0, 0, 0.1), 0px 4px 6px -1px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    overflow: visible;
    transition: box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1);
}

.woocommerce ul.loops-wrapper.products>li.product:hover {
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
}

@media (max-width: 480px) {
    .single-product ul.products {
        flex-direction: column;
    }
    .woocommerce .related ul.products .product {
        width: 100% !important;
    }
}

.single-product .woocommerce-message {
    background-color: var(--orange-color);
    color: white;
    padding: 1rem;
    border-radius: 6px;
    margin-bottom: 2rem;
}

.single-product .products ul, 
.single-product ul.products {
    display: flex;
}

.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td,
.woocommerce table.shop_attributes tr {
    background-color: transparent !important;
    color: var(--dark-grey-color);
}

.woocommerce table.shop_attributes td p {
    padding: 8px 16px;
}

/* Grouped product table */
.single-product table.woocommerce-grouped-product-list tr:hover {
    background-color: transparent;
}

.single-product table.woocommerce-grouped-product-list tr:nth-child(even) {
    background-color: #f2f2f2;
}

.single-product table.woocommerce-grouped-product-list label a {
    color: var(--dark-grey-color);
}

.single-product .product-meta a,
.single-product .product_meta a:hover,
.single-product .product_meta a:focus,
.single-product .product_meta a:visited {
    color: var(--dark-grey-color);
}

.woocommerce.single-product span.onsale {
    margin: 5px;
}

.single-product .product_meta .tagged_as {
    display: none;
}

.single-product div.product form.cart table {
    margin-bottom: 2rem;
}

#slide-cart .cart-total #view-cart:visited {
    color: var(--dark-grey-color);
}

.woocommerce div.product form.cart .group_table .wc-grouped-product-add-to-cart-checkbox {
    width: 1em;
    height: 1em;
    min-height: 1rem;
    min-width: 1em;
    border-radius: 3px;
}

.woocommerce div.product form.cart .group_table .wc-grouped-product-add-to-cart-checkbox[type=checkbox]:before {
    height: 0.3em;
    width: .67em;
    margin-bottom: .2em;
    margin-left: 0;
    color: var(--orange-color);
}

/* Variable product */
.single-product table.variations th {
    background-color: transparent !important;
    color: var(--dark-grey-color);
}

.single-product table.variations tr:hover {
    background-color: transparent;
}

.single-product table.variations tr:nth-child(even) {
    background-color: #f2f2f2;
} 

.woocommerce div.product form.cart .variations select {
    max-width: 100%;
}

.woocommerce button.button, .woocommerce button.button.alt, .woocommerce button.button.alt.disabled, .woocommerce button.button.disabled {
    padding: 0.75rem 1rem;
    background: var(--orange-color);
    border-radius: 6px;
    cursor: pointer;
    text-decoration: none;
    display: inherit;
    transition: background 0.3s ease;
    text-transform: inherit;
    letter-spacing: 0;
    transform: none !important;
}

/*--------------------------------------------------------------
# Checkout Page
--------------------------------------------------------------*/
.wp-block-woocommerce-checkout-actions-block .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {
    display: inline-block;
    padding: .8rem 2rem !important;
    background: var(--orange-color);
    color: white !important;
    text-decoration: none;
    border-radius: 6px;
    font-weight: 600;
    font-size: 1.1rem;
    transition: all 0.3s ease;
    border: 2px solid var(--orange-color);
    text-align: center;
    width: auto !important;
    transform: none !important;
    box-shadow: none !important;
    text-transform: none;
}

.wp-block-woocommerce-checkout-actions-block .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button:visited {
    background: var(--orange-color);
}
.wp-block-woocommerce-checkout-actions-block .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button:hover,
.wp-block-woocommerce-checkout-actions-block .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button:focus,
.wp-block-woocommerce-checkout-actions-block .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button:active {
    background: var(--orange-color-hover);
    border-color: var(--orange-color-hover);
    color: white !important;
    font-weight: 600;
}

.wc-block-checkout__actions_row > a {
    display: none;
}

@media (max-width: 768px) {
    .wp-block-woocommerce-checkout-actions-block .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {
        font-size: .9rem;
        padding: 0.5rem 1.2rem !important;
    }
}

@media (max-width: 480px) {
    .wp-block-woocommerce-checkout-actions-block .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {
        display: block;
        text-align: center;
        width: 100% !important;
    }
    .wp-block-woocommerce-checkout-actions-block .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button .wc-block-components-checkout-place-order-button__text {
        justify-content: center;
    }
}

/*--------------------------------------------------------------
# Sidemenu for checkout
--------------------------------------------------------------*/
#slide-cart .checkout-button button,
#slide-cart .checkout-button button:visited,
#slide-cart .checkout-button button:hover,
#slide-cart .checkout-button button:focus,  
#slide-cart .checkout-button button:active{
    color: white !important;
    background-color: var(--orange-color);
}

/*--------------------------------------------------------------
# Cart (Varukorg)
--------------------------------------------------------------*/
.wc-block-cart__submit-button {
    display: inline-block;
    padding: .8rem 2rem !important;
    background: var(--orange-color);
    color: white !important;
    text-decoration: none;
    border-radius: 6px;
    font-weight: 600;
    font-size: 1.1rem;
    transition: all 0.3s ease;
    border: 2px solid var(--orange-color);
    text-align: center;
    width: auto !important;
}

@media (max-width: 768px) {
    .wc-block-cart__submit-button {
        font-size: .9rem;
        padding: 0.5rem 1.2rem !important;
    }
}

@media (max-width: 480px) {
    .wc-block-cart__submit-button {
        display: block;
        text-align: center;
        width: 100% !important;
    }
    .wc-block-cart__submit-button .wc-block-components-checkout-place-order-button__text {
        justify-content: center;
    }
}

/*--------------------------------------------------------------
# Order received
--------------------------------------------------------------*/
table.woocommerce-table--order-details th,
table.woocommerce-table--order-details td {
    background-color: transparent !important;
    color: var(--dark-grey-color);
}

table.woocommerce-table--order-details tr:hover {
    background-color: transparent;
}

table.woocommerce-table--order-details tr:nth-child(even) {
    background-color: #f2f2f2;
}

table.woocommerce-table--order-details .product-name > a,
table.woocommerce-table--order-details .product-name > a:hover,
table.woocommerce-table--order-details .product-name > a:focus,
table.woocommerce-table--order-details .product-name > a:visited {
    color: var(--dark-grey-color);
}

.woocommerce .woocommerce-customer-details address {
    color: var(--dark-grey-color);
}

.woocommerce .col2-set .col-1, .woocommerce-page .col2-set .col-1 {
    padding-bottom: 2rem;
}