@charset "UTF-8";
/*!
Theme Name: Garngalleriet
Theme URI: 
Description: Child theme of Storefront for Garngalleriet
Author: Stefan Bertilsson
Author URI: 
Version: 1.0
Tags: red, green, blue
Theme: storefront

License: 
License URI: 

General comments.
*/
/* 
* @include triangle within a pseudo element and add positioning properties (ie. top, left)
* $direction: up, down, left, right
*/
/**
 * Creates a hover-over tooltip that can be either above or under the content.
 * Make sure your hover-over has a data-tooltip.
 */
.v-hidden {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
  border: none; }

.box:after, .box:before {
  content: "";
  display: table; }
.box:after {
  clear: both; }

.banner_cta .cta_box {
  position: relative;
  top: 50%;
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%); }

.inspiration_section a h2, .inspiration_section_2 a h2 {
  font-size: 2.2em;
  color: #F5F2EC;
  text-shadow: 2px 2px 2px #2D2A26;
  font-family: Poppins !important; }
  @media screen and (max-width: 1100px) {
    .inspiration_section a h2, .inspiration_section_2 a h2 {
      font-size: 1.5em; } }

#main-header, .site-header, .information_bar, .site-footer, .footer_nesk, #hero_unit {
  clear: both;
  display: block;
  float: left;
  width: 100%; }

.box {
  clear: both;
  padding: 0;
  margin: 0 auto;
  max-width: 2040px;
  width: 100%; }

.col_1 {
  width: 6.8666666667% !important; }

.col_2 {
  width: 15.3333333333% !important; }

.col_3 {
  width: 23.8% !important; }

.col_4 {
  width: 32.2666666667% !important; }

.col_5 {
  width: 40.7333333333% !important; }

.col_6 {
  width: 49.2% !important; }

.col_7 {
  width: 57.6666666667% !important; }

.col_8 {
  width: 66.1333333333% !important; }

.col_9 {
  width: 74.6% !important; }

.col_10 {
  width: 83.0666666667% !important; }

.col_11 {
  width: 91.5333333333% !important; }

.col_12 {
  width: 100% !important; }

.col_1, .col_2, .col_3, .col_4, .col_5, .col_6, .col_7, .col_8, .col_9, .col_10, .col_11, .col_12 {
  display: block;
  float: left;
  margin: 1% 0 1% 1.6% !important; }
  .col_1:first-child, .col_2:first-child, .col_3:first-child, .col_4:first-child, .col_5:first-child, .col_6:first-child, .col_7:first-child, .col_8:first-child, .col_9:first-child, .col_10:first-child, .col_11:first-child, .col_12:first-child {
    margin-left: 0 !important; }
  @media screen and (max-width: 38em) {
    .col_1, .col_2, .col_3, .col_4, .col_5, .col_6, .col_7, .col_8, .col_9, .col_10, .col_11, .col_12 {
      width: 100%;
      margin-left: 0; } }

/* ==========================================================================
   Normalize.scss settings
   ========================================================================== */
/**
 * Includes legacy browser support IE6/7
 *
 * Set to false if you want to drop support for IE6 and IE7
 */
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
/*
 * Corrects `block` display not defined in IE 8/9.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block; }

/**
 * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
 */
audio,
canvas,
video {
  display: inline-block; }

/**
 * Prevents modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Address `[hidden]` styling not present in IE 8/9.
 * Hide the `template` element in IE, Safari, and Firefox < 22.
 */
[hidden], template {
  display: none; }

/* ==========================================================================
   Base
   ========================================================================== */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 * 3.Corrects text resizing oddly in IE 6/7 when body `font-size` is set using
 *    `em` units.
 */
html {
  font-family: Poppins, sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove default margin.
 * Add default font color.
 */
body {
  margin: 0;
  color: #334752; }

/* ==========================================================================
   Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background: transparent; }

/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */
/**
 * Improves readability when focused and also mouse hovered in all browsers.
 */
a:focus {
  outline: thin dotted; }
a:active, a:hover {
  outline: 0; }

/* ==========================================================================
   Typography
   ========================================================================== */
/**
 * Addresses font sizes and margins set differently in IE 6/7.
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
 * Address styling not present in IE 8/9, Safari 5, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }

/**
 * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */
b,
strong {
  font-weight: bold; }

/**
 * Address styling not present in Safari 5 and Chrome.
 */
dfn {
  font-style: italic; }

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0; }

/**
 * Addresses styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000; }

/**
 * Addresses margins set differently in IE 6/7.
 */
/**
 * Correct font family set oddly in Safari 5 and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em; }

/**
 * Improve readability of pre-formatted text in all browsers.
 */
pre {
  white-space: pre-wrap; }

/**
 *  Set consistent quote types.
 */
q {
  quotes: "\201C" "\201D" "\2018" "\2019"; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* ==========================================================================
   Embedded content
   ========================================================================== */
/**
 * 1. Remove border when inside `a` element in IE 8/9.
 * 2. Improves image quality when scaled in IE 7.
 */
img {
  border: 0; }

/**
 * Correct overflow displayed oddly in IE 9.
 */
svg:not(:root) {
  overflow: hidden; }

/* ==========================================================================
   Figures
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari 5.
 */
figure {
  margin: 0; }

/* ==========================================================================
   Forms
   ========================================================================== */
/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct `color` not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 * 3. Corrects text not wrapping in Firefox 3.
 * 4. Corrects alignment displayed oddly in IE 6/7.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * 1. Correct font family not being inherited in all browsers.
 * 2. Correct font size not being inherited in all browsers.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 * 4. Improves appearance and consistency in all browsers.
 */
button,
input,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
button,
input {
  line-height: normal; }

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */
button,
select {
  text-transform: none; }

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 * 4. Removes inner spacing in IE 7 without affecting normal text inputs.
 *    Known issue: inner spacing remains in IE 6.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 7/8/9/10.
 *    Known issue: excess padding remains in IE 6.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box; }

/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */ }

/* ==========================================================================
   Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

body {
  margin: 0;
  padding: 0; }

img {
  max-width: 100%; }

body {
  font-family: Poppins;
  color: #334752;
  font-weight: 400;
  font-size: 18px; }

h2 {
  font-size: 2em;
  color: #334752; }

h1, h2, h3, h4, h5 {
  color: #2D2A26; }

.startpage_header {
  text-transform: uppercase;
  text-align: center;
  margin: 50px 0 40px; }

.news_content .startpage_header {
  color: #fff; }

.product_information h4 {
  margin-bottom: 0;
  padding-bottom: 0.540791em; }

.product_title, h1, h2, h3, h4, h5, #menu-huvudmeny, .footer_notice {
  font-family: Poppins !important; }

/**
*	Example code for the index.html
*
*/
#main-header {
  background: #333;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  color: #334752; }

.cart-stuff {
  display: flex;
  justify-content: flex-end;
  /* Push cart to the right */
  align-items: center;
  /* Vertical alignment */ }

.cart-link {
  display: flex;
  align-items: center;
  gap: 0.3em;
  color: white;
  /* or whatever your header text color is */
  text-decoration: none;
  margin-right: 20px; }

.cart-link i.fa-shopping-cart {
  font-size: 18px; }

.cart-count {
  font-size: 14px;
  margin-left: 2px;
  color: #2D2A26; }

.header {
  width: 100%;
  float: none;
  background-color: #f8f8f8;
  text-transform: uppercase;
  margin-bottom: 0; }
  .header .header-inner {
    display: flex;
    align-items: center;
    /* vertical alignment */
    justify-content: space-between;
    /* optional: spreads nav and cart */
    height: 100px;
    /* Fixed height for consistent layout */
    min-height: 100px; }

.logo-container {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0 20px 0 30px;
  flex: 0 0 auto;
  height: 100%; }

.site-logo {
  display: inline-block;
  text-decoration: none;
  transition: opacity 0.3s ease;
  line-height: 0; }
  .site-logo:hover {
    opacity: 0.8; }

.logo-image {
  max-height: 80px;
  max-width: 300px;
  width: auto;
  height: auto;
  display: block;
  object-fit: contain; }

.menu-container {
  display: flex;
  align-items: center;
  flex: 1;
  justify-content: center;
  height: 100%;
  padding: 0 20px;
  position: relative;
  overflow: visible; }

.cart-container {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 0 0 auto;
  height: 100%;
  padding: 0 30px 0 20px; }

.information_bar {
  font-size: 0.8em;
  color: #F5F2EC;
  background: linear-gradient(135deg, #7C9C86, #3F5147);
  background-size: 200%;
  background-position: left;
  line-height: 1;
  text-align: center;
  font-style: italic;
  font-weight: bold;
  margin-top: 0; }
  .information_bar .col_3 {
    margin: 10px 0; }
    .information_bar .col_3:nth-child(n+3) {
      margin-top: 30px; }

#banner {
  height: 800px; }
  #banner .col_12 {
    margin-top: 0;
    height: 100%;
    background-image: url("https://shop.garngalleriet.se/wp-content/uploads/2025/04/312A6622.jpg");
    background-size: cover;
    background-position: center; }

#menu-huvudmeny {
  margin-bottom: 0;
  display: flex;
  align-items: center;
  gap: 0.8rem; }
  #menu-huvudmeny .menu-item {
    font-size: 1.1em;
    display: flex;
    align-items: center;
    margin: 0; }
    #menu-huvudmeny .menu-item a {
      color: #2D2A26;
      transition: all 100ms linear;
      padding: 12px 12px;
      display: block;
      white-space: nowrap;
      text-decoration: none;
      font-weight: 400; }
    #menu-huvudmeny .menu-item a:hover {
      text-decoration: underline;
      transition: all 100ms linear; }
  #menu-huvudmeny .current_page_item a {
    font-weight: 400; }

.cart-stuff {
  display: flex;
  justify-content: flex-end;
  align-items: center; }
  .cart-stuff .cart-link {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
    color: #3F5147;
    background: #7C9C86;
    padding: 0.5rem 1rem;
    border-radius: 999px;
    border: 2px solid #f8f8f8;
    transition: background 0.3s ease; }
    .cart-stuff .cart-link:hover {
      background: #f8f8f8;
      color: #7C9C86; }
      .cart-stuff .cart-link:hover i {
        color: #7C9C86; }
    .cart-stuff .cart-link i {
      font-size: 1.2rem;
      color: #f8f8f8; }
    .cart-stuff .cart-link .cart-count {
      background: #f8f8f8;
      color: #7C9C86;
      font-size: 0.75rem;
      font-weight: bold;
      padding: 0.2rem 0.5rem;
      border-radius: 999px; }
    .cart-stuff .cart-link .cart-total {
      font-size: 0.9rem;
      color: #3F5147; }

/* ==========================================================
   DESKTOP MENU — Standard dropdown menus
   ========================================================== */
@media (min-width: 992px) {
  /* Context */
  .header {
    position: relative;
    z-index: 3000; }

  .header .header-inner {
    position: relative; }

  .header .menu-container {
    position: relative;
    overflow: visible; }

  /* Top bar */
  #menu-huvudmeny {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    list-style: none; }

  #menu-huvudmeny li {
    float: none !important; }

  #menu-huvudmeny > li {
    position: relative; }

  #menu-huvudmeny > li > a {
    display: block;
    padding: 10px 8px;
    line-height: 1;
    white-space: nowrap;
    color: #2D2A26;
    text-decoration: none;
    font-weight: 400; }

  /* Current page styling for top-level menu items */
  #menu-huvudmeny > li.current-menu-item > a,
  #menu-huvudmeny > li.current-page-ancestor > a {
    color: #7C9C86;
    border-bottom: 2px solid #7C9C86; }

  .header li.menu-item-has-children > a::after {
    content: "";
    margin-left: 6px;
    border: 4px solid transparent;
    border-top-color: currentColor;
    display: inline-block;
    transform: translateY(-1px); }

  /* ---------- Base dropdown ---------- */
  #menu-huvudmeny > li > ul {
    display: block !important;
    position: absolute;
    top: 100%;
    left: 0 !important;
    min-width: 260px;
    margin: -1px 0 0 0 !important;
    padding: 8px 14px 14px 14px;
    list-style: none;
    background: #f8f8f8;
    border: 1px solid #dcdfdd;
    border-top: 0;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08), 0 2px 6px rgba(0, 0, 0, 0.05);
    font-size: 0.6em;
    z-index: 5000;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    overflow: visible; }

  /* By default, NO bridges/masks exist */
  #menu-huvudmeny > li > ul::before,
  #menu-huvudmeny > li > ul::after {
    content: none; }

  /* Show only when parent is hovered/focused */
  #menu-huvudmeny > li:hover > ul,
  #menu-huvudmeny > li:focus-within > ul {
    opacity: 1;
    visibility: visible;
    pointer-events: auto; }

  /* While open, add full-width bridge & border mask */
  #menu-huvudmeny > li:hover > ul::before,
  #menu-huvudmeny > li:focus-within > ul::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -30px;
    height: 30px;
    background: transparent;
    pointer-events: auto;
    z-index: 1; }

  #menu-huvudmeny > li:hover > ul::after,
  #menu-huvudmeny > li:focus-within > ul::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -1px;
    height: 1px;
    background: #f8f8f8;
    pointer-events: none;
    z-index: 2; }

  /* Stacked + clickable items */
  #menu-huvudmeny > li > ul > li {
    display: block;
    clear: both;
    background: transparent !important; }

  #menu-huvudmeny > li > ul > li > a {
    display: block;
    padding: 7px 10px;
    white-space: nowrap;
    color: #3F5147;
    text-decoration: none;
    border-radius: 4px;
    line-height: 1.15; }

  #menu-huvudmeny > li > ul > li > a:hover,
  #menu-huvudmeny > li > ul > li > a:focus {
    background: #e5eae7; }

  /* Third level flyout */
  #menu-huvudmeny > li > ul > li > ul {
    position: absolute;
    top: 0 !important;
    left: 100% !important; }

  /* =============================
     Enhanced Mega Menu System
     ============================= */
  /* Base mega menu container */
  #menu-huvudmeny > li.menu-item-mega {
    position: static !important; }

  #menu-huvudmeny > li.menu-item-mega > ul {
    left: 0 !important;
    right: 0;
    min-width: 0;
    min-height: 400px;
    max-height: none;
    overflow: visible;
    border-top: 2px solid #7C9C86;
    padding: 0;
    margin: 0;
    background: #fff; }

  /* Mega menu content wrapper */
  .mega-menu {
    position: relative;
    width: 100%;
    min-height: 400px;
    background: #fff;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }

  .mega-menu-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 30px 20px;
    min-height: 400px; }

  /* Multi-column layouts - Force all to 5 columns (20% each) */
  .mega-columns-1 .mega-column,
  .mega-columns-2 .mega-column,
  .mega-columns-3 .mega-column,
  .mega-columns-4 .mega-column,
  .mega-columns-5 .mega-column {
    width: 20%;
    padding: 0 20px; }

  /* Column content styling */
  .mega-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-height: 280px; }

  .mega-column > li {
    width: 100%;
    margin-bottom: 0; }

  .mega-column > li:last-child {
    margin-bottom: 0; }

  /* Column headers (2nd level items) - only for non-section-header items */
  .mega-column > li:not(.mega-section-header) > a {
    position: relative;
    z-index: 2;
    display: block !important;
    width: 100% !important;
    padding: 0.5rem 0.5rem !important;
    margin-bottom: 0rem;
    border-radius: 6px;
    color: #3F5147;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    background: transparent;
    cursor: pointer;
    font-size: 0.8rem; }

  /* Section headers (like "Varumärken", "Material", "Grovlek") */
  .mega-column .mega-section-header > a {
    position: relative;
    z-index: 2;
    display: block !important;
    width: 100% !important;
    padding: 1rem 0 1rem 1rem !important;
    margin-bottom: 1.125rem;
    border-radius: 6px;
    color: #2c2c2c;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    background: transparent;
    cursor: pointer;
    border-bottom: 2px solid #7C9C86;
    pointer-events: auto;
    text-decoration: none;
    transition: all 0.2s ease;
    line-height: 1.2;
    font-size: 1.2rem; }
    .mega-column .mega-section-header > a:hover {
      color: #3F5147;
      border-bottom-color: #99b2a1; }
    .mega-column .mega-section-header > a:focus {
      outline: 2px solid rgba(124, 156, 134, 0.3);
      outline-offset: 2px; }

  /* Current page styling for section headers */
  .mega-column .mega-section-header.current-menu-item > a,
  .mega-column .mega-section-header.current-page-ancestor > a,
  .mega-column .mega-section-header.current-menu-ancestor > a {
    color: #7C9C86;
    border-bottom-color: #7C9C86;
    background: rgba(124, 156, 134, 0.05);
    font-weight: 500; }

  .mega-column > li > a:hover,
  .mega-column > li > a:focus {
    background: #e5eae7;
    color: #3F5147; }

  /* Non-clickable headings */
  .mega-column > li.menu-heading > a {
    cursor: default;
    pointer-events: none;
    opacity: 0.95;
    border-bottom: 1px solid #d3d7d5; }

  /* Sub-items (3rd level) */
  .mega-column > li > ul {
    position: static !important;
    display: block !important;
    padding: 0;
    margin: 0;
    list-style: none;
    border: 0;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    width: 100%; }

  .mega-column > li > ul > li {
    display: block;
    margin-bottom: 5px; }

  .mega-column > li > ul > li:last-child {
    margin-bottom: 0; }

  .mega-column > li > ul > li > a {
    display: block !important;
    width: 100% !important;
    padding: 0.375rem 0;
    margin-left: 0;
    border-radius: 0;
    color: #2c2c2c;
    font-weight: 400;
    white-space: nowrap;
    text-decoration: none;
    transition: all 0.2s ease;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: 0.02em; }

  .mega-column > li > ul > li > a:hover,
  .mega-column > li > ul > li > a:focus {
    background: rgba(124, 156, 134, 0.1);
    color: #3F5147;
    padding-left: 8px; }

  /* Current page styling for mega menu items */
  .mega-column > li > ul > li.current-menu-item > a,
  .mega-column > li > ul > li.current-page-ancestor > a,
  .mega-column > li > ul > li.current-menu-ancestor > a,
  .mega-column > li > ul > li.current-menu-parent > a {
    color: #7C9C86;
    background: rgba(124, 156, 134, 0.08);
    border-left: 3px solid #7C9C86;
    padding-left: 0.75rem;
    font-weight: 500; }

  /* Background image support */
  .mega-with-image {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }

  .mega-with-image .mega-menu-content {
    background: linear-gradient(to right, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.9) 30%, rgba(255, 255, 255, 0.7) 60%, rgba(255, 255, 255, 0.3) 80%, transparent 100%); }

  /* Dynamic styling classes */
  .mega-style-minimal .mega-menu-content {
    background: #fff;
    border: 1px solid #dcdfdd; }

  .mega-style-dark .mega-menu-content {
    background: #3F5147;
    color: #fff; }

  .mega-style-dark .mega-column > li > a,
  .mega-style-dark .mega-column > li > ul > li > a {
    color: #fff; }

  .mega-style-dark .mega-column > li > a:hover,
  .mega-style-dark .mega-column > li > a:focus,
  .mega-style-dark .mega-column > li > ul > li > a:hover,
  .mega-style-dark .mega-column > li > ul > li > a:focus {
    background: rgba(255, 255, 255, 0.1); }

  /* Responsive adjustments within desktop context */ }
@media (min-width: 992px) and (max-width: 1200px) and (min-width: 992px) {
  .mega-columns-4 .mega-column,
  .mega-columns-5 .mega-column {
    width: 33.333%; } }
@media (min-width: 992px) {
  /* Legacy support for old mega menu structure */
  #menu-huvudmeny > li.menu-item-mega > ul > li:not(.mega-column) {
    margin: 0 0 12px; }

  #menu-huvudmeny > li.menu-item-mega > ul > li:not(.mega-column) > a {
    position: relative;
    z-index: 2;
    display: inline-block !important;
    width: auto !important;
    padding: 6px 10px;
    border-radius: 6px;
    color: #3F5147;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    background: transparent;
    cursor: pointer; }

  #menu-huvudmeny > li.menu-item-mega > ul > li:not(.mega-column) > a:hover,
  #menu-huvudmeny > li.menu-item-mega > ul > li:not(.mega-column) > a:focus {
    background: #e5eae7; }

  #menu-huvudmeny > li.menu-item-mega > ul > li:not(.mega-column) > ul {
    position: static !important;
    display: block !important;
    padding: 6px 0 0;
    margin: 0 0 6px;
    list-style: none;
    border: 0;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto; }

  #menu-huvudmeny > li.menu-item-mega > ul > li:not(.mega-column) > ul > li {
    display: block; }

  #menu-huvudmeny > li.menu-item-mega > ul > li:not(.mega-column) > ul > li > a {
    display: inline-block !important;
    width: auto !important;
    font-size: 0.6em;
    padding: 5px 8px;
    margin-left: 10px;
    border-radius: 6px;
    color: #3F5147;
    font-weight: 500;
    white-space: nowrap; }

  #menu-huvudmeny > li.menu-item-mega > ul > li:not(.mega-column) > ul > li > a:hover,
  #menu-huvudmeny > li.menu-item-mega > ul > li:not(.mega-column) > ul > li > a:focus {
    background: #e9edea; }

  /* Accessibility focus */
  #menu-huvudmeny a:focus {
    outline: 2px solid rgba(124, 156, 134, 0.35);
    outline-offset: 2px; } }
/* =========================
   DESKTOP BASELINE (unchanged look)
   ========================= */
@media (min-width: 992px) {
  #menu-huvudmeny {
    display: flex !important; }

  .menu-toggle {
    display: none; } }
/* =========================
   MOBILE (≤ 991.98px)
   ========================= */
@media (max-width: 991.98px) {
  .header {
    position: relative;
    z-index: 3000; }

  /* Header bar layout - mobile */
  .header .header-inner {
    height: 70px;
    min-height: 70px; }

  /* Compact logo on mobile */
  .logo-container {
    padding: 0 15px 0 20px; }

  .logo-image {
    max-height: 50px;
    max-width: 200px; }

  /* Menu container on mobile */
  .menu-container {
    padding: 0 10px; }

  /* Cart container on mobile */
  .cart-container {
    padding: 0 20px 0 10px; }

  /* Compact menu on mobile */
  #menu-huvudmeny {
    gap: 0.5rem; }
    #menu-huvudmeny .menu-item {
      font-size: 0.9em; }
      #menu-huvudmeny .menu-item a {
        padding: 10px 6px; }

  /* Keep WP menu container to the right of the toggle */
  .menu-huvudmeny-container {
    order: 2;
    flex: 1 1 auto;
    min-width: 0; }

  /* =============================
     Toggle button
     ============================= */
  .header .menu-toggle {
    order: 1;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border-radius: 8px;
    border: 2px solid rgba(0, 0, 0, 0.85);
    background: rgba(248, 248, 248, 0.08);
    color: #222;
    cursor: pointer;
    line-height: 0;
    font-size: 0;
    appearance: none;
    -webkit-appearance: none;
    /* Surgical: prevent theme glyphs on THIS button only */
    background-image: none;
    box-shadow: none;
    -webkit-mask: none;
    mask: none; }
    .header .menu-toggle::before, .header .menu-toggle::after,
    .header .menu-toggle > *::before, .header .menu-toggle > *::after {
      content: none; }
    .header .menu-toggle > i, .header .menu-toggle > svg {
      display: none; }

  /* Accessible label — visually hidden */
  .header .menu-toggle .screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    overflow: hidden;
    white-space: nowrap; }

  /* Hamburger bars (explicit classes) */
  .header .menu-toggle .icon-bar {
    position: absolute;
    left: 50%;
    width: 24px;
    height: 2px;
    background: currentColor;
    border: 0;
    box-shadow: none;
    /* Key bits for perfect X */
    transform-origin: center center;
    transform: translateX(-50%);
    transition: transform .25s ease, opacity .25s ease, top .25s ease; }

  .header .menu-toggle .icon-bar.bar--top {
    top: calc(50% - 7px); }

  .header .menu-toggle .icon-bar.bar--mid {
    top: 50%;
    transform: translate(-50%, -50%); }

  .header .menu-toggle .icon-bar.bar--bot {
    top: calc(50% + 7px); }

  /* Open -> X (re-center both arms, rotate at center) */
  .header .menu-toggle[aria-expanded="true"] .icon-bar.bar--top {
    top: 50%;
    transform: translate(-50%, -50%) rotate(45deg); }

  .header .menu-toggle[aria-expanded="true"] .icon-bar.bar--mid {
    opacity: 0; }

  .header .menu-toggle[aria-expanded="true"] .icon-bar.bar--bot {
    top: 50%;
    transform: translate(-50%, -50%) rotate(-45deg); }

  /* =============================
     Collapsible panel (closed by default)
     ============================= */
  #menu-huvudmeny {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    display: none !important;
    list-style: none;
    margin: 0;
    padding: 8px 0;
    background: #f8f8f8;
    border-top: 1px solid #dcdfdd;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08), 0 2px 6px rgba(0, 0, 0, 0.05);
    z-index: 3500; }

  body.nav-open #menu-huvudmeny {
    display: block !important; }

  /* Top-level links */
  #menu-huvudmeny > li {
    border-bottom: 1px solid #e2e4e3; }

  #menu-huvudmeny > li > a {
    display: block;
    padding: 14px 16px;
    color: #fff;
    font-weight: 400;
    text-decoration: none; }

  /* =============================
     Accordion submenus (2nd & 3rd levels)
     ============================= */
  #menu-huvudmeny > li > ul,
  #menu-huvudmeny > li > ul > li > ul {
    display: block;
    overflow: hidden;
    max-height: 0;
    transition: max-height .25s ease;
    margin: 0;
    padding: 0;
    border: 0;
    box-shadow: none;
    background: #f8f8f8; }

  #menu-huvudmeny > li.open > ul,
  #menu-huvudmeny > li > ul > li.open > ul {
    max-height: 1000px; }

  #menu-huvudmeny > li > ul > li > a {
    display: block;
    padding: 12px 16px 12px 24px;
    color: #3F5147;
    text-decoration: none; }

  #menu-huvudmeny > li > ul > li > ul > li > a {
    display: block;
    padding: 10px 16px 10px 34px;
    font-size: 0.6em;
    text-decoration: none; }

  /* =============================
     Mobile Mega Menu Styles
     ============================= */
  .mega-columns-1 .mega-column,
  .mega-columns-2 .mega-column,
  .mega-columns-3 .mega-column,
  .mega-columns-4 .mega-column,
  .mega-columns-5 .mega-column {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid #e6e7e6;
    padding: 15px 20px;
    margin-bottom: 10px; }
    .mega-columns-1 .mega-column:last-child,
    .mega-columns-2 .mega-column:last-child,
    .mega-columns-3 .mega-column:last-child,
    .mega-columns-4 .mega-column:last-child,
    .mega-columns-5 .mega-column:last-child {
      border-bottom: none;
      margin-bottom: 0; }

  .mega-columns-1 .mega-column,
  .mega-columns-2 .mega-column,
  .mega-columns-3 .mega-column,
  .mega-columns-4 .mega-column,
  .mega-columns-5 .mega-column {
    min-height: auto; } }
@media (max-width: 1200px) {
  #content {
    padding: 0; } }
.news_section {
  position: relative;
  overflow: hidden;
  padding: 0; }
  .news_section .news_section-inner {
    position: relative;
    width: 100%;
    height: 500px;
    background-image: url("https://shop.garngalleriet.se/wp-content/uploads/2023/01/IMG_4108.jpg");
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0; }
    .news_section .news_section-inner::before {
      content: "";
      position: absolute;
      inset: 0;
      background: rgba(0, 0, 0, 0.4);
      backdrop-filter: blur(3px);
      z-index: 1; }
    .news_section .news_section-inner .news_content {
      position: relative;
      z-index: 2;
      max-width: 700px;
      text-align: center;
      padding: 30px;
      border-radius: 12px;
      background-color: rgba(255, 255, 255, 0.1);
      backdrop-filter: blur(5px);
      color: #fff;
      text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.6); }
      .news_section .news_section-inner .news_content h3 {
        font-size: 2rem;
        margin-bottom: 15px; }
      .news_section .news_section-inner .news_content p {
        font-size: 1.1rem;
        line-height: 1.6;
        margin: 0; }
  @media (max-width: 768px) {
    .news_section .news_section-inner {
      height: auto;
      padding: 40px 20px; }
      .news_section .news_section-inner .news_content {
        padding: 20px; }
        .news_section .news_section-inner .news_content h3 {
          font-size: 1.6rem; }
        .news_section .news_section-inner .news_content p {
          font-size: 1rem; } }

.inspiration_section {
  height: 500px;
  margin-top: 60px;
  margin-bottom: 120px; }
  .inspiration_section .inspiration_left,
  .inspiration_section .inspiration_right,
  .inspiration_section .inspiration_right .box {
    height: 100%; }
  .inspiration_section a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    text-decoration: none;
    padding: 30px 20px;
    color: #fff;
    transition: all 300ms ease;
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    background-size: cover;
    background-position: center; }
    .inspiration_section a section {
      width: 100%;
      height: 100%;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      position: relative;
      z-index: 1; }
    .inspiration_section a .icon {
      font-size: 2.8em;
      margin-bottom: 10px; }
    .inspiration_section a h2 {
      font-size: 1.6em;
      margin-bottom: 0.4em;
      max-width: 80%; }
    .inspiration_section a p {
      font-size: 0.9em;
      line-height: 1.4;
      max-width: 90%;
      margin: 0 auto 1em; }
    .inspiration_section a .cta {
      font-weight: bold;
      text-transform: uppercase;
      color: #F5F2EC;
      margin-top: 0.5em; }
    .inspiration_section a:hover {
      transform: translateY(-3px);
      box-shadow: 0 6px 18px rgba(0, 0, 0, 0.15); }
  .inspiration_section .inspiration_left {
    background-image: radial-gradient(circle at 100% 50%, rgba(255, 255, 255, 0.12), #85a38e 35%, #627868 55%, #29342e 100%); }
  .inspiration_section .inspiration_right .box {
    padding: 0; }
  .inspiration_section .inspiration_right .inspiration_right_top,
  .inspiration_section .inspiration_right .inspiration_right_bottom {
    height: 48%;
    box-sizing: border-box; }
  .inspiration_section .inspiration_right .inspiration_right_top {
    background-image: radial-gradient(circle at 0% 50%, rgba(255, 255, 255, 0.12), #8ba793 30%, #7C9C86 50%, #627868 75%, #2d3a33 100%);
    margin: 0 0 10px 0 !important;
    border-radius: 8px; }
  .inspiration_section .inspiration_right .inspiration_right_bottom {
    background-image: radial-gradient(circle at 0% 50%, rgba(255, 255, 255, 0.12), #8ba793 30%, #7C9C86 50%, #627868 75%, #2d3a33 100%);
    margin: 10px 0 0 0 !important;
    border-radius: 8px; }

.inspiration_section_2 {
  display: flex;
  flex-wrap: nowrap;
  height: 400px;
  margin-top: 40px;
  margin-bottom: 80px; }
  .inspiration_section_2 a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    text-decoration: none;
    padding: 30px 0;
    border-radius: 16px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    color: #fff;
    transition: all 300ms ease;
    position: relative;
    overflow: hidden;
    background-size: cover;
    background-position: center; }
    .inspiration_section_2 a section {
      position: relative;
      z-index: 1; }
    .inspiration_section_2 a .icon {
      font-size: 2.8em;
      margin-bottom: 10px; }
    .inspiration_section_2 a h2 {
      font-size: 1.6em;
      margin-bottom: 0.4em; }
    .inspiration_section_2 a p {
      font-size: 0.9em;
      line-height: 1.4;
      max-width: 90%;
      margin: 0 auto 1em; }
    .inspiration_section_2 a .cta {
      font-weight: bold;
      text-transform: uppercase;
      color: #F5F2EC; }
    .inspiration_section_2 a:hover {
      transform: translateY(-3px);
      box-shadow: 0 6px 18px rgba(0, 0, 0, 0.15); }
  .inspiration_section_2 .inspiration_left_2 {
    background-image: radial-gradient(circle at 100% 50%, rgba(255, 255, 255, 0.12), #85a38e 35%, #627868 55%, #29342e 100%); }
  .inspiration_section_2 .inspiration_right_2 {
    background-image: radial-gradient(circle at 0% 50%, rgba(255, 255, 255, 0.12), #8ba793 30%, #7C9C86 50%, #627868 75%, #2d3a33 100%); }

.frontpage_announcements {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin-bottom: 60px;
  padding: 0;
  width: 100%;
  clear: both; }
  .frontpage_announcements .frontpage-announcement-wrapper {
    margin: 0;
    padding: 0;
    flex: 1 1 auto;
    max-width: 100%;
    float: none;
    display: flex; }
    .frontpage_announcements .frontpage-announcement-wrapper:only-child {
      max-width: 600px;
      flex: 0 1 600px; }
    .frontpage_announcements .frontpage-announcement-wrapper:first-child:nth-last-child(2), .frontpage_announcements .frontpage-announcement-wrapper:first-child:nth-last-child(2) ~ .frontpage-announcement-wrapper {
      flex: 1 1 calc(50% - 10px);
      max-width: calc(50% - 10px);
      min-width: 0; }
    .frontpage_announcements .frontpage-announcement-wrapper:first-child:nth-last-child(3), .frontpage_announcements .frontpage-announcement-wrapper:first-child:nth-last-child(3) ~ .frontpage-announcement-wrapper {
      flex: 1 1 calc(33.333% - 14px);
      max-width: calc(33.333% - 14px);
      min-width: 0; }
    .frontpage_announcements .frontpage-announcement-wrapper:first-child:nth-last-child(n+4), .frontpage_announcements .frontpage-announcement-wrapper:first-child:nth-last-child(n+4) ~ .frontpage-announcement-wrapper {
      flex: 1 1 calc(33.333% - 14px);
      max-width: calc(33.333% - 14px);
      min-width: 0; }
  .frontpage_announcements .frontpage-announcement-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column; }
    .frontpage_announcements .frontpage-announcement-card:hover {
      transform: translateY(-5px);
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15); }
    .frontpage_announcements .frontpage-announcement-card .announcement-image {
      width: 100%;
      height: 200px;
      overflow: hidden; }
      .frontpage_announcements .frontpage-announcement-card .announcement-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.3s ease; }
    .frontpage_announcements .frontpage-announcement-card:hover .announcement-image img {
      transform: scale(1.05); }
    .frontpage_announcements .frontpage-announcement-card .announcement-content {
      padding: 20px;
      flex: 1;
      display: flex;
      flex-direction: column; }
    .frontpage_announcements .frontpage-announcement-card .announcement-header {
      margin-bottom: 12px; }
    .frontpage_announcements .frontpage-announcement-card .announcement-type-badge {
      display: inline-block;
      padding: 6px 12px;
      border-radius: 20px;
      font-size: 0.75rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      margin-bottom: 10px;
      white-space: nowrap; }
      .frontpage_announcements .frontpage-announcement-card .announcement-type-badge.type-event {
        background: #e74c3c;
        color: white; }
      .frontpage_announcements .frontpage-announcement-card .announcement-type-badge.type-course {
        background: #3498db;
        color: white; }
      .frontpage_announcements .frontpage-announcement-card .announcement-type-badge.type-sale {
        background: #f39c12;
        color: white; }
      .frontpage_announcements .frontpage-announcement-card .announcement-type-badge.type-info {
        background: #2ecc71;
        color: white; }
      .frontpage_announcements .frontpage-announcement-card .announcement-type-badge.type-news {
        background: #9b59b6;
        color: white; }
    .frontpage_announcements .frontpage-announcement-card .announcement-title {
      font-size: 1.25rem;
      font-weight: 700;
      color: #334752;
      margin: 0 0 12px 0;
      line-height: 1.4; }
    .frontpage_announcements .frontpage-announcement-card .announcement-excerpt {
      color: #666;
      font-size: 0.9rem;
      line-height: 1.6;
      margin-bottom: 15px;
      flex: 1; }
    .frontpage_announcements .frontpage-announcement-card .announcement-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 15px;
      margin-bottom: 15px;
      font-size: 0.85rem;
      color: #888; }
      .frontpage_announcements .frontpage-announcement-card .announcement-meta .announcement-date,
      .frontpage_announcements .frontpage-announcement-card .announcement-meta .announcement-time {
        display: flex;
        align-items: center;
        gap: 6px; }
        .frontpage_announcements .frontpage-announcement-card .announcement-meta .announcement-date i,
        .frontpage_announcements .frontpage-announcement-card .announcement-meta .announcement-time i {
          color: #7C9C86; }
    .frontpage_announcements .frontpage-announcement-card .announcement-link {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 10px 20px;
      background: #7C9C86;
      color: #fff;
      text-decoration: none;
      border-radius: 25px;
      font-weight: 600;
      font-size: 0.9rem;
      transition: all 0.3s ease;
      align-self: flex-start; }
      .frontpage_announcements .frontpage-announcement-card .announcement-link:hover {
        background: #627868;
        transform: translateX(3px); }
    .frontpage_announcements .frontpage-announcement-card.announcement-featured {
      border: 2px solid #7C9C86; }
      .frontpage_announcements .frontpage-announcement-card.announcement-featured .announcement-title {
        color: #627868; }
  .frontpage_announcements .no-announcements {
    text-align: center;
    padding: 60px 20px;
    color: #999;
    font-size: 1.1rem;
    width: 100%; }

.view-all-announcements {
  text-align: center;
  margin: 30px 0 50px; }
  .view-all-announcements .view-all-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 15px 35px;
    background: #7C9C86;
    color: #fff;
    text-decoration: none;
    border-radius: 30px;
    font-weight: 700;
    font-size: 1rem;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); }
    .view-all-announcements .view-all-link:hover {
      background: #627868;
      transform: translateY(-2px);
      box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15); }

.product_news {
  margin-bottom: 80px; }

@media (max-width: 900px) {
  .inspiration_section,
  .inspiration_section_2 {
    flex-direction: column;
    height: auto; }
    .inspiration_section .col_7,
    .inspiration_section .col_5,
    .inspiration_section .col_9,
    .inspiration_section .col_3,
    .inspiration_section_2 .col_7,
    .inspiration_section_2 .col_5,
    .inspiration_section_2 .col_9,
    .inspiration_section_2 .col_3 {
      width: 100% !important;
      margin-left: 0 !important; }
    .inspiration_section .inspiration_left,
    .inspiration_section .inspiration_right,
    .inspiration_section .inspiration_left_2,
    .inspiration_section .inspiration_right_2,
    .inspiration_section_2 .inspiration_left,
    .inspiration_section_2 .inspiration_right,
    .inspiration_section_2 .inspiration_left_2,
    .inspiration_section_2 .inspiration_right_2 {
      height: 300px; }

  .frontpage_announcements .frontpage-announcement-wrapper {
    width: 100% !important;
    margin-left: 0 !important;
    max-width: 100% !important;
    flex: 1 1 100% !important; } }
@media (max-width: 768px) {
  .frontpage_announcements .frontpage-announcement-wrapper {
    flex: 1 1 100% !important;
    max-width: 100% !important; } }
@media (min-width: 769px) and (max-width: 900px) {
  .frontpage_announcements .frontpage-announcement-wrapper:first-child:nth-last-child(2), .frontpage_announcements .frontpage-announcement-wrapper:first-child:nth-last-child(2) ~ .frontpage-announcement-wrapper {
    flex: 1 1 100% !important;
    max-width: 100% !important; }
  .frontpage_announcements .frontpage-announcement-wrapper:first-child:nth-last-child(n+3), .frontpage_announcements .frontpage-announcement-wrapper:first-child:nth-last-child(n+3) ~ .frontpage-announcement-wrapper {
    flex: 1 1 calc(50% - 10px) !important;
    max-width: calc(50% - 10px) !important; } }
.site-footer {
  background-color: #405449;
  margin-top: 60px; }

.footer_section {
  margin-top: 0; }

.footer_notice {
  text-align: center;
  color: #f8f8f8;
  margin-top: 40px;
  margin-bottom: 40px;
  font-size: 1.2em; }

.footer_logo {
  width: 375px;
  margin: 50px auto; }

.footer_nesk {
  background-color: #394b42;
  text-transform: uppercase;
  text-align: center;
  margin: 0; }
  .footer_nesk .nesk_title {
    font-size: 0.7em;
    margin: 3px;
    color: #f2f2f2; }

#hero_unit {
  background: url("/wp-content/uploads/2025/04/312A6622_cut.jpg") center/cover no-repeat;
  color: #fff;
  padding: 250px 0;
  text-align: center;
  margin-bottom: 40px;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  position: relative;
  overflow: hidden; }
  #hero_unit .hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1; }
  #hero_unit .hero-content {
    margin: 0 15%;
    padding: 20px;
    background: rgba(255, 255, 255, 0.3);
    position: relative;
    z-index: 2; }
  #hero_unit .hero-title {
    font-size: 3rem;
    margin-bottom: 10px;
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.5); }
  #hero_unit .hero-subtitle {
    color: #2D2A26;
    font-size: 1.5rem;
    margin-bottom: 30px;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4); }
  #hero_unit .hero-button {
    position: relative;
    display: inline-block;
    padding: 12px 30px;
    font-weight: bold;
    color: #fff;
    text-decoration: none;
    border-radius: 8px;
    overflow: hidden;
    z-index: 1;
    background: linear-gradient(135deg, #7C9C86, #3F5147);
    background-size: 200%;
    background-position: left;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    transition: background-position 0.5s ease, box-shadow 0.3s ease; }
    #hero_unit .hero-button::before {
      content: "";
      position: absolute;
      inset: 0;
      background: inherit;
      z-index: -1;
      transform: scale(1);
      transition: transform 0.4s ease;
      border-radius: inherit; }
    #hero_unit .hero-button:hover {
      background-position: right;
      box-shadow: 0 6px 14px rgba(0, 0, 0, 0.3); }
    #hero_unit .hero-button::after {
      content: "→";
      display: inline-block;
      margin-left: 10px;
      transition: transform 0.3s ease; }
    #hero_unit .hero-button:hover::after {
      transform: translateX(5px); }

.product-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  max-height: 400px;
  box-sizing: border-box;
  border-radius: 10px;
  background-color: #fff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
  overflow: hidden;
  transition: box-shadow .3s ease, transform .3s ease; }
  .product-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.1); }
  .product-card a {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit;
    text-decoration: none; }
    .product-card a:hover .product_info {
      background-color: #c1ccc4; }
    .product-card a:hover .product_hover_info {
      opacity: 1;
      pointer-events: auto; }
  .product-card .product_image {
    position: relative;
    width: 100%;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    border-radius: 10px 10px 0 0;
    flex-shrink: 0;
    max-height: 280px;
    /* Sale banner for product cards */ }
    .product-card .product_image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform .3s ease; }
    .product-card .product_image .product_hover_info {
      position: absolute;
      inset: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      background-color: rgba(255, 255, 255, 0.85);
      color: #334752;
      text-align: center;
      font-size: .8em;
      opacity: 0;
      transition: opacity .3s ease;
      pointer-events: none;
      border-radius: inherit;
      margin: 5% 12%;
      overflow-y: auto; }
      .product-card .product_image .product_hover_info ul {
        margin: 0;
        padding: 0;
        text-align: center;
        list-style: none;
        width: 100%;
        max-height: 100%; }
        .product-card .product_image .product_hover_info ul li {
          list-style: none;
          margin: 0.3em 0;
          line-height: 1.3;
          display: block; }
          .product-card .product_image .product_hover_info ul li strong {
            display: block;
            font-weight: 600;
            margin-top: 1em;
            margin-bottom: 0.2em;
            font-size: 0.85em;
            text-transform: uppercase;
            letter-spacing: 0.5px; }
    .product-card .product_image .product-sale-badge {
      position: absolute;
      top: 8px;
      right: 8px;
      z-index: 5;
      pointer-events: none;
      padding: 4px 8px;
      border-radius: 4px;
      font-weight: 900;
      font-size: 0.75rem;
      color: #fff;
      background: #dc2626;
      /* Red color to match swatch banners */
      box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
      text-transform: uppercase;
      letter-spacing: 0.05em; }
  .product-card .product_info {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex-grow: 1;
    padding: 10px 12px;
    border-radius: 0 0 10px 10px;
    background-color: #f8f8f8;
    transition: background-color .3s ease; }
    .product-card .product_info .product_title .product__title {
      font-size: 0.9em;
      font-weight: 600;
      line-height: 1.3;
      text-align: left;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden; }
    .product-card .product_info .product_price {
      text-align: left;
      font-weight: bold;
      font-size: 0.9em;
      color: #7C9C86;
      margin-top: auto;
      flex-shrink: 0; }

.selected-color-heading {
  margin-top: .25rem;
  font-size: clamp(1.25rem, 2.4vw, 2rem);
  font-weight: 800;
  line-height: 1.2;
  color: #334752; }

/* small corner badges used on various cards */
.badge {
  position: absolute;
  top: 10px;
  color: #fff;
  font-size: .75em;
  font-weight: bold;
  padding: 4px 8px;
  border-radius: 4px;
  text-transform: uppercase;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
  z-index: 2;
  pointer-events: none; }

.badge--new {
  left: 10px;
  background-color: #7C9C86; }

.badge--bestseller {
  right: 10px;
  background-color: #63826d; }

.badge--sale {
  top: 10px;
  right: 10px;
  background-color: #dc2626;
  color: #fff; }

.product_image .badge--new + .badge--bestseller,
.product_image .badge--bestseller + .badge--new {
  top: 40px; }
.product_image .badge--sale + .badge--bestseller,
.product_image .badge--bestseller + .badge--sale {
  top: 40px; }
.product_image .badge--sale + .badge--new,
.product_image .badge--new + .badge--sale {
  top: 40px; }

/* Optional “news” cap on lists */
.product_news .product-card-wrapper {
  display: block; }

.product_news .product-card-wrapper:nth-child(n + 5) {
  display: none; }

.archive-page {
  padding: 0 2rem;
  display: flex;
  flex-direction: row; }
  @media (max-width: 768px) {
    .archive-page {
      padding: 0 1rem; } }
  @media (max-width: 900px) {
    .archive-page {
      flex-direction: column; } }
  .archive-page .filter-container {
    order: 1;
    margin-right: 2rem; }
    @media (max-width: 900px) {
      .archive-page .filter-container {
        order: 2;
        margin-right: 0;
        margin-bottom: 2rem; } }
  .archive-page .content-area {
    order: 2; }
    @media (max-width: 900px) {
      .archive-page .content-area {
        order: 1; } }

/* clearfix for grid containers */
body.archive #primary .content-area.col_9 #main::after,
body.archive #primary .content-area.col_9 #main .products-grid::after {
  content: "";
  display: block;
  clear: both; }

body.archive #primary .content-area.col_10 #main::after,
body.archive #primary .content-area.col_10 #main .products-grid::after {
  content: "";
  display: block;
  clear: both; }

body.page-template-page-rea #primary .content-area.col_12 #main::after,
body.page-template-page-rea #primary .content-area.col_12 #main .products-grid::after {
  content: "";
  display: block;
  clear: both; }

/* Force grid layout for all product grids */
.products-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1.6% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important; }
  .products-grid .col_3 {
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
    display: block !important;
    box-sizing: border-box !important; }

/* Responsive grid breakpoints */
@media (min-width: 1401px) {
  .products-grid {
    grid-template-columns: repeat(4, 1fr) !important; } }
@media (min-width: 901px) and (max-width: 1400px) {
  .products-grid {
    grid-template-columns: repeat(3, 1fr) !important; } }
@media (min-width: 601px) and (max-width: 900px) {
  .products-grid {
    grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 600px) {
  .products-grid {
    grid-template-columns: 1fr !important;
    gap: 2% !important;
    padding: 0 2% !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important; }

  .col_3 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important; }

  /* Ensure no horizontal scroll on mobile */
  body {
    overflow-x: hidden !important; }

  #primary, .content-area, .site-main {
    overflow-x: hidden !important;
    max-width: 100% !important; } }
/* Ensure products grid has proper layout using CSS Grid */
body.archive #primary .content-area.col_9 #main .products-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.6%;
  width: 100%;
  margin: 0;
  padding: 0;
  /* Fallback for older browsers */ }
  @supports not (display: grid) {
    body.archive #primary .content-area.col_9 #main .products-grid {
      display: block;
      overflow: hidden; }
      body.archive #primary .content-area.col_9 #main .products-grid .col_3 {
        float: left;
        width: calc((100% - (3 * 1.6%)) / 4);
        margin-left: 1.6%;
        margin-bottom: 2%; }
        body.archive #primary .content-area.col_9 #main .products-grid .col_3:nth-child(4n+1) {
          margin-left: 0;
          clear: left; } }
  body.archive #primary .content-area.col_9 #main .products-grid .col_3 {
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    float: none;
    display: block; }

body.archive #primary .content-area.col_10 #main .products-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.6%;
  width: 100%;
  margin: 0;
  padding: 0;
  /* Fallback for older browsers */ }
  @supports not (display: grid) {
    body.archive #primary .content-area.col_10 #main .products-grid {
      display: block;
      overflow: hidden; }
      body.archive #primary .content-area.col_10 #main .products-grid .col_3 {
        float: left;
        width: calc((100% - (3 * 1.6%)) / 4);
        margin-left: 1.6%;
        margin-bottom: 2%; }
        body.archive #primary .content-area.col_10 #main .products-grid .col_3:nth-child(4n+1) {
          margin-left: 0;
          clear: left; } }
  body.archive #primary .content-area.col_10 #main .products-grid .col_3 {
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    float: none;
    display: block; }

body.page-template-page-rea #primary .content-area.col_12 #main .products-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.6%;
  width: 100%;
  margin: 0;
  padding: 0;
  /* Fallback for older browsers */ }
  @supports not (display: grid) {
    body.page-template-page-rea #primary .content-area.col_12 #main .products-grid {
      display: block;
      overflow: hidden; }
      body.page-template-page-rea #primary .content-area.col_12 #main .products-grid .col_3 {
        float: left;
        width: calc((100% - (3 * 1.6%)) / 4);
        margin-left: 1.6%;
        margin-bottom: 2%; }
        body.page-template-page-rea #primary .content-area.col_12 #main .products-grid .col_3:nth-child(4n+1) {
          margin-left: 0;
          clear: left; } }
  body.page-template-page-rea #primary .content-area.col_12 #main .products-grid .col_3 {
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    float: none;
    display: block; }

/* 4 per row (≥1401px) */
@media (min-width: 1401px) {
  body.archive #primary .content-area.col_9 #main .products-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 1.6%; }

  body.archive #primary .content-area.col_10 #main .products-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 1.6%; }

  body.page-template-page-rea #primary .content-area.col_12 #main .products-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 1.6%; } }
/* 3 per row (901–1400px) */
@media (min-width: 901px) and (max-width: 1400px) {
  body.archive #primary .content-area.col_9 #main .products-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.6%; }

  body.archive #primary .content-area.col_10 #main .products-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.6%; }

  body.page-template-page-rea #primary .content-area.col_12 #main .products-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.6%; }

  .product_news .product-card-wrapper:nth-child(n + 5) {
    display: none; } }
/* 2 per row (601–900px) */
@media (min-width: 601px) and (max-width: 900px) {
  body.archive #primary .content-area.col_9,
  body.archive #primary .content-area.col_10 {
    width: 98.4% !important; }

  body.archive #primary .content-area.col_9 #main .products-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.6%; }

  body.archive #primary .content-area.col_10 #main .products-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.6%; }

  body.page-template-page-rea #primary .content-area.col_12 #main .products-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.6%; }

  .product_news .product-card-wrapper:nth-child(n + 4) {
    display: none; } }
/* 1 per row (≤600px) */
@media (max-width: 600px) {
  body.archive #primary .content-area.col_9,
  body.archive #primary .content-area.col_10 {
    width: 98.4% !important; }

  body.archive #primary .content-area.col_9 #main .products-grid {
    grid-template-columns: 1fr;
    gap: 1.6%; }

  body.archive #primary .content-area.col_10 #main .products-grid {
    grid-template-columns: 1fr;
    gap: 1.6%; }

  body.page-template-page-rea #primary .content-area.col_12 #main .products-grid {
    grid-template-columns: 1fr;
    gap: 1.6%; }

  .product_news .product-card-wrapper:nth-child(n + 3) {
    display: none; } }
body.archive #primary .content-area.col_9 #main .woocommerce-pagination,
body.archive #primary .content-area.col_9 #main .pagination,
body.archive #primary .content-area.col_9 #main .archive-load-more-wrap {
  clear: both;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: calc(1.6% * 2) 0 calc(1.6% * 3);
  padding: 12px 0; }

body.archive #primary .content-area.col_9 #main .woocommerce-pagination ul.page-numbers {
  display: flex;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0; }
body.archive #primary .content-area.col_9 #main .woocommerce-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 12px;
  border-radius: 999px;
  background: #f8f8f8;
  color: #334752;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
  transition: transform .15s ease, box-shadow .15s ease, background .2s; }
  body.archive #primary .content-area.col_9 #main .woocommerce-pagination .page-numbers:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12); }
  body.archive #primary .content-area.col_9 #main .woocommerce-pagination .page-numbers.dots {
    background: transparent;
    box-shadow: none; }
  body.archive #primary .content-area.col_9 #main .woocommerce-pagination .page-numbers.current {
    background: #7C9C86;
    color: #F5F2EC;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.16); }

body.archive #primary .content-area.col_9 #main .garngalleriet-pagination {
  clear: both;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: calc(1.6% * 2) 0 calc(1.6% * 3);
  padding: 20px 0; }
  body.archive #primary .content-area.col_9 #main .garngalleriet-pagination .pagination-container {
    display: flex;
    align-items: center;
    gap: 16px;
    background: rgba(255, 255, 255, 0.95);
    padding: 16px 24px;
    border-radius: 50px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2); }
  body.archive #primary .content-area.col_9 #main .garngalleriet-pagination .pagination-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    border-radius: 25px;
    background: #f8f8f8;
    color: #334752;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); }
    body.archive #primary .content-area.col_9 #main .garngalleriet-pagination .pagination-btn:hover:not(.disabled) {
      background: #7C9C86;
      color: #F5F2EC;
      transform: translateY(-2px);
      box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15); }
    body.archive #primary .content-area.col_9 #main .garngalleriet-pagination .pagination-btn.disabled {
      opacity: 0.4;
      cursor: not-allowed;
      background: #f5f5f5;
      color: #999; }
    body.archive #primary .content-area.col_9 #main .garngalleriet-pagination .pagination-btn .pagination-icon {
      font-size: 18px;
      font-weight: bold; }
    @media (max-width: 768px) {
      body.archive #primary .content-area.col_9 #main .garngalleriet-pagination .pagination-btn .pagination-text {
        display: none; } }
  body.archive #primary .content-area.col_9 #main .garngalleriet-pagination .pagination-numbers {
    display: flex;
    align-items: center;
    gap: 8px; }
  body.archive #primary .content-area.col_9 #main .garngalleriet-pagination .pagination-number {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    padding: 0 8px;
    border-radius: 22px;
    background: #f8f8f8;
    color: #334752;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08); }
    body.archive #primary .content-area.col_9 #main .garngalleriet-pagination .pagination-number:hover {
      background: #7C9C86;
      color: #F5F2EC;
      transform: translateY(-2px);
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); }
    body.archive #primary .content-area.col_9 #main .garngalleriet-pagination .pagination-number.current {
      background: #7C9C86;
      color: #F5F2EC;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
      transform: scale(1.05); }
  body.archive #primary .content-area.col_9 #main .garngalleriet-pagination .pagination-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    color: #999;
    font-weight: bold;
    font-size: 16px; }
  @media (max-width: 768px) {
    body.archive #primary .content-area.col_9 #main .garngalleriet-pagination .pagination-container {
      padding: 12px 16px;
      gap: 8px; }
    body.archive #primary .content-area.col_9 #main .garngalleriet-pagination .pagination-btn {
      padding: 10px 16px;
      font-size: 13px; }
    body.archive #primary .content-area.col_9 #main .garngalleriet-pagination .pagination-number {
      min-width: 36px;
      height: 36px;
      font-size: 13px; }
    body.archive #primary .content-area.col_9 #main .garngalleriet-pagination .pagination-dots {
      width: 36px;
      height: 36px;
      font-size: 14px; } }
  @media (max-width: 480px) {
    body.archive #primary .content-area.col_9 #main .garngalleriet-pagination .pagination-container {
      flex-wrap: wrap;
      gap: 6px;
      padding: 10px 12px; }
    body.archive #primary .content-area.col_9 #main .garngalleriet-pagination .pagination-numbers {
      gap: 4px; } }

body.archive #primary .content-area.col_9 #main .archive-load-more-wrap {
  gap: 12px; }
  body.archive #primary .content-area.col_9 #main .archive-load-more-wrap .load-more {
    border: 0;
    border-radius: 999px;
    padding: .7rem 1.2rem;
    font-weight: 900;
    background: #7C9C86;
    color: #F5F2EC;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    transition: transform .15s ease, box-shadow .15s ease, background .2s; }
    body.archive #primary .content-area.col_9 #main .archive-load-more-wrap .load-more:hover {
      transform: translateY(-1px);
      box-shadow: 0 6px 16px rgba(0, 0, 0, 0.16); }
    body.archive #primary .content-area.col_9 #main .archive-load-more-wrap .load-more:disabled {
      opacity: .6;
      cursor: not-allowed; }
  body.archive #primary .content-area.col_9 #main .archive-load-more-wrap .load-more-status {
    font-size: .95rem;
    color: #334752; }

body.archive #primary .content-area.col_10 #main .woocommerce-pagination,
body.archive #primary .content-area.col_10 #main .pagination,
body.archive #primary .content-area.col_10 #main .archive-load-more-wrap {
  clear: both;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: calc(1.6% * 2) 0 calc(1.6% * 3);
  padding: 12px 0; }

body.archive #primary .content-area.col_10 #main .woocommerce-pagination ul.page-numbers {
  display: flex;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0; }
body.archive #primary .content-area.col_10 #main .woocommerce-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 12px;
  border-radius: 999px;
  background: #f8f8f8;
  color: #334752;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
  transition: transform .15s ease, box-shadow .15s ease, background .2s; }
  body.archive #primary .content-area.col_10 #main .woocommerce-pagination .page-numbers:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12); }
  body.archive #primary .content-area.col_10 #main .woocommerce-pagination .page-numbers.dots {
    background: transparent;
    box-shadow: none; }
  body.archive #primary .content-area.col_10 #main .woocommerce-pagination .page-numbers.current {
    background: #7C9C86;
    color: #F5F2EC;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.16); }

body.archive #primary .content-area.col_10 #main .garngalleriet-pagination {
  clear: both;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: calc(1.6% * 2) 0 calc(1.6% * 3);
  padding: 20px 0; }
  body.archive #primary .content-area.col_10 #main .garngalleriet-pagination .pagination-container {
    display: flex;
    align-items: center;
    gap: 16px;
    background: rgba(255, 255, 255, 0.95);
    padding: 16px 24px;
    border-radius: 50px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2); }
  body.archive #primary .content-area.col_10 #main .garngalleriet-pagination .pagination-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    border-radius: 25px;
    background: #f8f8f8;
    color: #334752;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); }
    body.archive #primary .content-area.col_10 #main .garngalleriet-pagination .pagination-btn:hover:not(.disabled) {
      background: #7C9C86;
      color: #F5F2EC;
      transform: translateY(-2px);
      box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15); }
    body.archive #primary .content-area.col_10 #main .garngalleriet-pagination .pagination-btn.disabled {
      opacity: 0.4;
      cursor: not-allowed;
      background: #f5f5f5;
      color: #999; }
    body.archive #primary .content-area.col_10 #main .garngalleriet-pagination .pagination-btn .pagination-icon {
      font-size: 18px;
      font-weight: bold; }
    @media (max-width: 768px) {
      body.archive #primary .content-area.col_10 #main .garngalleriet-pagination .pagination-btn .pagination-text {
        display: none; } }
  body.archive #primary .content-area.col_10 #main .garngalleriet-pagination .pagination-numbers {
    display: flex;
    align-items: center;
    gap: 8px; }
  body.archive #primary .content-area.col_10 #main .garngalleriet-pagination .pagination-number {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    padding: 0 8px;
    border-radius: 22px;
    background: #f8f8f8;
    color: #334752;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08); }
    body.archive #primary .content-area.col_10 #main .garngalleriet-pagination .pagination-number:hover {
      background: #7C9C86;
      color: #F5F2EC;
      transform: translateY(-2px);
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); }
    body.archive #primary .content-area.col_10 #main .garngalleriet-pagination .pagination-number.current {
      background: #7C9C86;
      color: #F5F2EC;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
      transform: scale(1.05); }
  body.archive #primary .content-area.col_10 #main .garngalleriet-pagination .pagination-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    color: #999;
    font-weight: bold;
    font-size: 16px; }
  @media (max-width: 768px) {
    body.archive #primary .content-area.col_10 #main .garngalleriet-pagination .pagination-container {
      padding: 12px 16px;
      gap: 8px; }
    body.archive #primary .content-area.col_10 #main .garngalleriet-pagination .pagination-btn {
      padding: 10px 16px;
      font-size: 13px; }
    body.archive #primary .content-area.col_10 #main .garngalleriet-pagination .pagination-number {
      min-width: 36px;
      height: 36px;
      font-size: 13px; }
    body.archive #primary .content-area.col_10 #main .garngalleriet-pagination .pagination-dots {
      width: 36px;
      height: 36px;
      font-size: 14px; } }
  @media (max-width: 480px) {
    body.archive #primary .content-area.col_10 #main .garngalleriet-pagination .pagination-container {
      flex-wrap: wrap;
      gap: 6px;
      padding: 10px 12px; }
    body.archive #primary .content-area.col_10 #main .garngalleriet-pagination .pagination-numbers {
      gap: 4px; } }

body.archive #primary .content-area.col_10 #main .archive-load-more-wrap {
  gap: 12px; }
  body.archive #primary .content-area.col_10 #main .archive-load-more-wrap .load-more {
    border: 0;
    border-radius: 999px;
    padding: .7rem 1.2rem;
    font-weight: 900;
    background: #7C9C86;
    color: #F5F2EC;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    transition: transform .15s ease, box-shadow .15s ease, background .2s; }
    body.archive #primary .content-area.col_10 #main .archive-load-more-wrap .load-more:hover {
      transform: translateY(-1px);
      box-shadow: 0 6px 16px rgba(0, 0, 0, 0.16); }
    body.archive #primary .content-area.col_10 #main .archive-load-more-wrap .load-more:disabled {
      opacity: .6;
      cursor: not-allowed; }
  body.archive #primary .content-area.col_10 #main .archive-load-more-wrap .load-more-status {
    font-size: .95rem;
    color: #334752; }

body.page-template-page-rea #primary .content-area.col_12 #main .woocommerce-pagination,
body.page-template-page-rea #primary .content-area.col_12 #main .pagination,
body.page-template-page-rea #primary .content-area.col_12 #main .archive-load-more-wrap {
  clear: both;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: calc(1.6% * 2) 0 calc(1.6% * 3);
  padding: 12px 0; }

body.page-template-page-rea #primary .content-area.col_12 #main .woocommerce-pagination ul.page-numbers {
  display: flex;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0; }
body.page-template-page-rea #primary .content-area.col_12 #main .woocommerce-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 12px;
  border-radius: 999px;
  background: #f8f8f8;
  color: #334752;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
  transition: transform .15s ease, box-shadow .15s ease, background .2s; }
  body.page-template-page-rea #primary .content-area.col_12 #main .woocommerce-pagination .page-numbers:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12); }
  body.page-template-page-rea #primary .content-area.col_12 #main .woocommerce-pagination .page-numbers.dots {
    background: transparent;
    box-shadow: none; }
  body.page-template-page-rea #primary .content-area.col_12 #main .woocommerce-pagination .page-numbers.current {
    background: #7C9C86;
    color: #F5F2EC;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.16); }

body.page-template-page-rea #primary .content-area.col_12 #main .garngalleriet-pagination {
  clear: both;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: calc(1.6% * 2) 0 calc(1.6% * 3);
  padding: 20px 0; }
  body.page-template-page-rea #primary .content-area.col_12 #main .garngalleriet-pagination .pagination-container {
    display: flex;
    align-items: center;
    gap: 16px;
    background: rgba(255, 255, 255, 0.95);
    padding: 16px 24px;
    border-radius: 50px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2); }
  body.page-template-page-rea #primary .content-area.col_12 #main .garngalleriet-pagination .pagination-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    border-radius: 25px;
    background: #f8f8f8;
    color: #334752;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); }
    body.page-template-page-rea #primary .content-area.col_12 #main .garngalleriet-pagination .pagination-btn:hover:not(.disabled) {
      background: #7C9C86;
      color: #F5F2EC;
      transform: translateY(-2px);
      box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15); }
    body.page-template-page-rea #primary .content-area.col_12 #main .garngalleriet-pagination .pagination-btn.disabled {
      opacity: 0.4;
      cursor: not-allowed;
      background: #f5f5f5;
      color: #999; }
    body.page-template-page-rea #primary .content-area.col_12 #main .garngalleriet-pagination .pagination-btn .pagination-icon {
      font-size: 18px;
      font-weight: bold; }
    @media (max-width: 768px) {
      body.page-template-page-rea #primary .content-area.col_12 #main .garngalleriet-pagination .pagination-btn .pagination-text {
        display: none; } }
  body.page-template-page-rea #primary .content-area.col_12 #main .garngalleriet-pagination .pagination-numbers {
    display: flex;
    align-items: center;
    gap: 8px; }
  body.page-template-page-rea #primary .content-area.col_12 #main .garngalleriet-pagination .pagination-number {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    padding: 0 8px;
    border-radius: 22px;
    background: #f8f8f8;
    color: #334752;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08); }
    body.page-template-page-rea #primary .content-area.col_12 #main .garngalleriet-pagination .pagination-number:hover {
      background: #7C9C86;
      color: #F5F2EC;
      transform: translateY(-2px);
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); }
    body.page-template-page-rea #primary .content-area.col_12 #main .garngalleriet-pagination .pagination-number.current {
      background: #7C9C86;
      color: #F5F2EC;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
      transform: scale(1.05); }
  body.page-template-page-rea #primary .content-area.col_12 #main .garngalleriet-pagination .pagination-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    color: #999;
    font-weight: bold;
    font-size: 16px; }
  @media (max-width: 768px) {
    body.page-template-page-rea #primary .content-area.col_12 #main .garngalleriet-pagination .pagination-container {
      padding: 12px 16px;
      gap: 8px; }
    body.page-template-page-rea #primary .content-area.col_12 #main .garngalleriet-pagination .pagination-btn {
      padding: 10px 16px;
      font-size: 13px; }
    body.page-template-page-rea #primary .content-area.col_12 #main .garngalleriet-pagination .pagination-number {
      min-width: 36px;
      height: 36px;
      font-size: 13px; }
    body.page-template-page-rea #primary .content-area.col_12 #main .garngalleriet-pagination .pagination-dots {
      width: 36px;
      height: 36px;
      font-size: 14px; } }
  @media (max-width: 480px) {
    body.page-template-page-rea #primary .content-area.col_12 #main .garngalleriet-pagination .pagination-container {
      flex-wrap: wrap;
      gap: 6px;
      padding: 10px 12px; }
    body.page-template-page-rea #primary .content-area.col_12 #main .garngalleriet-pagination .pagination-numbers {
      gap: 4px; } }

body.page-template-page-rea #primary .content-area.col_12 #main .archive-load-more-wrap {
  gap: 12px; }
  body.page-template-page-rea #primary .content-area.col_12 #main .archive-load-more-wrap .load-more {
    border: 0;
    border-radius: 999px;
    padding: .7rem 1.2rem;
    font-weight: 900;
    background: #7C9C86;
    color: #F5F2EC;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    transition: transform .15s ease, box-shadow .15s ease, background .2s; }
    body.page-template-page-rea #primary .content-area.col_12 #main .archive-load-more-wrap .load-more:hover {
      transform: translateY(-1px);
      box-shadow: 0 6px 16px rgba(0, 0, 0, 0.16); }
    body.page-template-page-rea #primary .content-area.col_12 #main .archive-load-more-wrap .load-more:disabled {
      opacity: .6;
      cursor: not-allowed; }
  body.page-template-page-rea #primary .content-area.col_12 #main .archive-load-more-wrap .load-more-status {
    font-size: .95rem;
    color: #334752; }

#product-main {
  width: 100%;
  margin: 0 auto; }

/* Specs as a table-like grid */
.product-specs {
  display: grid;
  grid-template-columns: minmax(8ch, clamp(120px, 22vw, 160px)) 1fr;
  column-gap: 14px;
  row-gap: 6px;
  align-items: start; }
  .product-specs > .attribute_slug, .product-specs > .attribute_value {
    margin: 0;
    display: block; }
  .product-specs > .attribute_slug {
    font-size: 18px;
    color: #334752; }
  .product-specs > .attribute_value {
    font-size: 0.8em;
    color: #334752;
    overflow-wrap: anywhere; }

/* Swatches row spans both columns in specs grid */
.product-specs > .color-swatches {
  grid-column: 1 / -1;
  width: auto;
  max-width: 650px;
  justify-self: start; }

/* Add-to-cart button theme */
.variations_button button.single_add_to_cart_button {
  background: #7C9C86;
  color: #F5F2EC; }
  .variations_button button.single_add_to_cart_button:hover {
    background: #3F5147; }

/* Gallery */
.single-product div.product .woocommerce-product-gallery {
  width: 100%;
  position: relative; }

.storefront-full-width-content.single-product div.product .woocommerce-product-gallery {
  width: 100% !important; }

.woocommerce-product-gallery__image {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
  overflow: hidden; }

.woocommerce-product-gallery__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block; }

/* Thumbnails */
.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs {
  gap: 5px; }

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li {
  margin-right: 5px; }

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n+1) {
  clear: none; }

/* =========================
   Color swatches (bigger)
   ========================= */
.color-swatches {
  /* knobs */
  --swatch-size: 75px;
  --swatch-gap: 3px;
  margin: 15px 0;
  max-width: 650px; }
  .color-swatches .swatch {
    position: relative;
    width: var(--swatch-size);
    height: var(--swatch-size);
    margin: var(--swatch-gap);
    display: inline-block;
    background-size: cover;
    background-position: center;
    border: 1px solid #fff;
    cursor: pointer;
    transition: border .2s, opacity .2s, filter .2s;
    overflow: hidden;
    /* clip ribbons to the square */
    /* Out of stock styling */ }
    .color-swatches .swatch.selected {
      border: 2px solid #2D2A26; }
    .color-swatches .swatch.out-of-stock {
      opacity: 0.4;
      cursor: not-allowed;
      position: relative;
      /* Apply grayscale to the swatch image, not the pseudo-elements */
      /* Red X overlay - above the grayscale layer */
      /* Prevent selection of out-of-stock swatches */ }
      .color-swatches .swatch.out-of-stock::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: inherit;
        filter: grayscale(100%);
        z-index: 1;
        pointer-events: none; }
      .color-swatches .swatch.out-of-stock::before {
        content: "✕" !important;
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
        color: #dc2626 !important;
        font-size: calc(var(--swatch-size) * 0.4) !important;
        font-weight: 900 !important;
        text-shadow: 0 0 4px rgba(255, 255, 255, 0.8) !important;
        z-index: 3 !important;
        pointer-events: none !important;
        display: block !important;
        line-height: 1 !important; }
      .color-swatches .swatch.out-of-stock:hover {
        border-color: #fff !important;
        transform: none !important; }

/* SALE ribbon (diagonal band) — responsive to --swatch-size.
   These ratios reproduce: top:47px; right:-35px; width:114px; height:12px; font:10px @ 75px */
.color-swatches .swatch.on-sale::before {
  content: none !important;
  border: 0 !important; }

/* kill any old triangle */
.color-swatches .swatch.on-sale::after {
  content: "REA" !important;
  position: absolute;
  top: calc(var(--swatch-size) * 0.63);
  right: calc(var(--swatch-size) * -0.47);
  width: calc(var(--swatch-size) * 1.52);
  height: calc(var(--swatch-size) * 0.16);
  transform: rotate(45deg);
  transform-origin: top right;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #dc2626;
  color: #fff;
  /* Changed from $color-3 to red */
  font-weight: 800;
  font-size: calc(var(--swatch-size) * 0.133);
  letter-spacing: .04em;
  text-transform: uppercase;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.22);
  pointer-events: none;
  z-index: 2; }

/* Override out-of-stock X for sale items - show both sale ribbon and out-of-stock X */
.color-swatches .swatch.out-of-stock.on-sale::before {
  content: "✕" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  color: #dc2626 !important;
  font-size: calc(var(--swatch-size) * 0.4) !important;
  font-weight: 900 !important;
  text-shadow: 0 0 4px rgba(255, 255, 255, 0.8) !important;
  z-index: 5 !important;
  /* Above both grayscale and sale ribbon */
  pointer-events: none !important;
  display: block !important;
  line-height: 1 !important; }

/* optional: nudge size down on very small phones */
@media (max-width: 380px) {
  .color-swatches {
    --swatch-size: 44px;
    --swatch-gap: 5px; } }
/* =========================
   Single product – hide native color dropdown (keep "Rensa")
   Koala-safe: no @supports / selector()
   ========================= */
.single-product table.variations {
  /* Fallback (if :has isn’t supported) */
  /* tidy the reset link */ }
  .single-product table.variations tr:has(select[name="attribute_pa_farg"]),
  .single-product table.variations tr:has(select[id^="pa_farg"]) {
    /* hide "Färg" */
    /* hide dropdown */
    /* tighten label cell */
    /* pull "Rensa" left */ }
    .single-product table.variations tr:has(select[name="attribute_pa_farg"]) th label,
    .single-product table.variations tr:has(select[id^="pa_farg"]) th label {
      display: none !important; }
    .single-product table.variations tr:has(select[name="attribute_pa_farg"]) select,
    .single-product table.variations tr:has(select[id^="pa_farg"]) select {
      display: none !important; }
    .single-product table.variations tr:has(select[name="attribute_pa_farg"]) th,
    .single-product table.variations tr:has(select[id^="pa_farg"]) th {
      padding: 0 !important; }
    .single-product table.variations tr:has(select[name="attribute_pa_farg"]) td,
    .single-product table.variations tr:has(select[id^="pa_farg"]) td {
      padding-left: 0 !important; }
  .single-product table.variations th label[for^="pa_farg"] {
    display: none !important; }
  .single-product table.variations td select[name="attribute_pa_farg"],
  .single-product table.variations td select[id^="pa_farg"] {
    display: none !important; }
  .single-product table.variations .reset_variations {
    display: inline-flex;
    align-items: center;
    gap: .35ch;
    margin-left: 0; }

/* =========================
   Price block (quieter + aligned currency)
   ========================= */
.single-product .product-summary {
  /* spacing between color heading and price */ }
  .single-product .product-summary .selected-color-heading {
    margin-bottom: clamp(3rem, 8vh, 6rem); }
  .single-product .product-summary .product-price {
    margin: .25rem 0 .35rem;
    line-height: 1.2;
    color: #334752; }
    .single-product .product-summary .product-price del {
      font-weight: 400;
      font-size: clamp(0.85rem, 1.1vw, 0.95rem);
      opacity: .6;
      text-decoration-thickness: 1px; }
      .single-product .product-summary .product-price del .amount, .single-product .product-summary .product-price del .amount *, .single-product .product-summary .product-price del bdi, .single-product .product-summary .product-price del bdi * {
        text-decoration: inherit !important; }
    .single-product .product-summary .product-price ins,
    .single-product .product-summary .product-price .amount {
      display: inline-flex;
      align-items: baseline;
      gap: .1rem;
      font-weight: 400;
      font-size: clamp(1rem, 1.4vw, 1.2rem);
      letter-spacing: 0;
      background: none;
      padding: 0;
      border-radius: 0;
      color: #334752; }
      .single-product .product-summary .product-price ins .woocommerce-Price-currencySymbol,
      .single-product .product-summary .product-price .amount .woocommerce-Price-currencySymbol {
        font-size: .75em;
        font-weight: 500;
        opacity: 1;
        margin-left: 0;
        line-height: 1;
        color: inherit; }
  .single-product .product-summary .price-savings {
    margin-top: .2rem;
    font-size: .85rem;
    font-weight: 500; }

/* Hide Woo’s built-in variation price (we render our own) */
.single-product .single_variation .price,
.single-product .woocommerce-variation-price,
.single-product .single_variation_wrap .price {
  display: none !important; }

/* Gallery badges */
.single-product div.product .onsale {
  display: none !important; }

.variant-sale-badge {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 5;
  pointer-events: none;
  padding: 6px 10px;
  border-radius: 6px;
  font-weight: 900;
  font-size: .9rem;
  color: #fff;
  background: #dc2626;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  /* Changed to red to match other sale badges */ }

.price-sale-badge {
  display: inline-block;
  padding: 4px 8px;
  border-radius: 4px;
  font-weight: 900;
  font-size: 0.75rem;
  color: #fff;
  background: #dc2626;
  /* Red color to match other sale badges */
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-left: 8px; }

.price-sale-badge[hidden] {
  display: none !important; }

/* Single page: collapse side gutters <1200px but keep outer padding */
@media (max-width: 1200px) {
  .single-product #product-main .custom-product-layout {
    padding-left: 1.6%;
    padding-right: 1.6%; }
    .single-product #product-main .custom-product-layout > .col_2:first-child, .single-product #product-main .custom-product-layout > .col_2:last-child {
      display: none !important; }
    .single-product #product-main .custom-product-layout > .product-images.col_4, .single-product #product-main .custom-product-layout > .col_4:not(.product-images) {
      width: 49.2% !important;
      float: left; }
    .single-product #product-main .custom-product-layout > .product-images.col_4 {
      margin-left: 0 !important; } }
@media (max-width: 880px) {
  .single-product #product-main .custom-product-layout {
    padding-left: 1.6%;
    padding-right: 1.6%; }
    .single-product #product-main .custom-product-layout > .product-images.col_4, .single-product #product-main .custom-product-layout > .col_4:not(.product-images) {
      width: 100% !important;
      margin-left: 0 !important;
      float: none !important;
      clear: both; } }

.widget-woof h4, .widget-woof h2 {
  font-size: 0.9rem !important;
  text-transform: uppercase;
  font-weight: 600;
  color: #7597a9; }
.widget-woof label {
  font-size: 0.85em !important;
  color: #5a7d91;
  font-weight: 400; }
.widget-woof input[type="text"],
.widget-woof input[type="search"],
.widget-woof select {
  border: 1px solid white;
  background: #fff;
  font-size: 0.85em;
  padding: 0.5rem;
  border-radius: 4px; }
  .widget-woof input[type="text"]:focus,
  .widget-woof input[type="search"]:focus,
  .widget-woof select:focus {
    border-color: #7C9C86;
    outline: none;
    box-shadow: 0 0 0 2px rgba(124, 156, 134, 0.1); }

#filter-container .widget {
  margin-right: 10px;
  margin-bottom: 1rem; }

.archive-page #filter-container {
  background: transparent;
  padding: 0;
  border-radius: 0;
  box-shadow: none;
  height: fit-content;
  position: sticky;
  top: 2rem;
  border-left: 1px solid white;
  padding-left: 1rem; }
  @media (max-width: 900px) {
    .archive-page #filter-container {
      position: static;
      margin-bottom: 2rem;
      border-left: none;
      border-top: 1px solid white;
      padding-left: 0;
      padding-top: 1rem; } }
  .archive-page #filter-container .widget {
    background: transparent;
    border: none;
    box-shadow: none;
    margin-bottom: 1.5rem; }
    .archive-page #filter-container .widget h4, .archive-page #filter-container .widget h2 {
      font-size: 0.9rem !important;
      font-weight: 600;
      color: #7597a9;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      margin-bottom: 0.8rem;
      border-bottom: 1px solid white;
      padding-bottom: 0.5rem; }

.woof_container .woof_container_inner input[type="search"] {
  box-sizing: border-box; }

.iCheck-helper {
  border-color: #2D2A26 !important; }

.irs--round .irs-grid-text {
  color: #2D2A26 !important; }

.woof_submit_search_form,
.woof_reset_search_form {
  border-radius: 4px;
  background-color: white;
  color: #334752;
  border: 1px solid white;
  font-size: 0.85em;
  padding: 0.6rem 1rem;
  transition: all .3s; }
  .woof_submit_search_form:hover,
  .woof_reset_search_form:hover {
    background-color: #7C9C86;
    color: #F5F2EC;
    border-color: #7C9C86; }

.irs--round .irs-handle {
  border-color: #7C9C86 !important; }

.irs--round .irs-bar, .irs--round .irs-from, .irs--round .irs-to, .irs--round .irs-single {
  background-color: #2D2A26 !important; }

/* Collapsible controls */
.gg-filter-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .6rem;
  padding: .6rem .4rem;
  background: transparent;
  border: 0;
  cursor: pointer;
  font: inherit;
  text-align: left; }
  .gg-filter-toggle .gg-filter-toggle__label {
    font-weight: inherit;
    text-transform: uppercase;
    letter-spacing: .02em; }
  .gg-filter-toggle .gg-filter-toggle__chevron {
    inline-size: 1em;
    block-size: 1em;
    flex: 0 0 auto;
    position: relative; }
  .gg-filter-toggle .gg-filter-toggle__chevron::before {
    content: "";
    position: absolute;
    inset: 0;
    /* simple chevron via borders */
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(-45deg);
    transform-origin: 50% 50%;
    margin-top: .1em; }
  .gg-filter-toggle[aria-expanded="true"] .gg-filter-toggle__chevron::before {
    transform: rotate(45deg);
    margin-top: -.2em; }

/* Hide original <h4> if present (we replace it with the button) */
.gg-filter-original-heading {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap; }

/* Collapsible content animation (max-height works broadly) */
.gg-collapsible {
  display: block;
  overflow: hidden;
  transition: max-height .25s ease; }

.gg-collapsible-open {
  max-height: 1000px; }

/* big enough for lists */
.gg-collapsible-closed {
  max-height: 0; }

/* Optional: give blocks a subtle divider */
.widget-woof .woof_container,
.widget-woof .woof_text_search_container,
.widget-woof .woof_price3_search_container {
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  padding-bottom: .4rem;
  margin-bottom: .4rem; }

/* Let clicks reach the toggle */
.woof_container_overlay_item {
  pointer-events: none; }

/* Make sure the toggle is always clickable above any skins */
.gg-filter-toggle {
  position: relative;
  z-index: 2; }

/* ensure clicks reach the toggle & it sits above skins */
.woof_container_overlay_item {
  pointer-events: none; }

.gg-filter-toggle {
  position: relative;
  z-index: 2; }

/* Clicks must reach the toggle (WOOF overlay sometimes sits on top) */
.woof_container_overlay_item {
  pointer-events: none; }

/* Toggle above any skins */
.gg-filter-toggle {
  position: relative;
  z-index: 2; }

/* Close ONLY taxonomy filters (checkbox containers) by default. 
   Do NOT touch text search or price. */
.woof_redraw_zone .woof_container.woof_container_checkbox .woof_container_inner {
  display: none !important; }

/* Opened state (we toggle this class in JS) */
.woof_redraw_zone .woof_container.woof_container_checkbox .woof_container_inner.gg-open {
  display: block !important; }

/* Your height animation (optional) */
.gg-collapsible {
  overflow: hidden;
  transition: max-height .25s ease; }

.gg-collapsible.gg-open {
  max-height: 1000px; }

.gg-collapsible:not(.gg-open) {
  max-height: 0; }

/* Make sure clicks reach the toggle */
.woof_container_overlay_item {
  pointer-events: none; }

/* Toggle sits above any skins */
.gg-filter-toggle {
  position: relative;
  z-index: 2; }

/* Collapsible animation (NO display:none here) */
.gg-collapsible {
  overflow: hidden;
  transition: max-height .25s ease; }

.gg-collapsible.gg-open {
  max-height: 1000px; }

.gg-collapsible:not(.gg-open) {
  max-height: 0; }

/* TAXONOMY-ONLY visibility clamp (leave Text & Price alone) */
.woof_redraw_zone .woof_container.woof_container_checkbox .woof_container_inner {
  /* default: closed; actual opening is done by adding .gg-open via JS */
  display: block !important;
  /* always block to allow height animation */
  max-height: 0 !important;
  /* closed by default */
  overflow: hidden; }

.woof_redraw_zone .woof_container.woof_container_checkbox .woof_container_inner.gg-open {
  max-height: 1000px !important;
  /* opened */ }

/* Keep overlay from eating clicks + keep our button on top */
.woof_container_overlay_item {
  pointer-events: none; }

.gg-filter-toggle {
  position: relative;
  z-index: 2; }

/* Collapsible animation (no display:none anywhere) */
.gg-collapsible {
  overflow: hidden;
  transition: max-height .25s ease; }

.gg-collapsible.gg-open {
  max-height: 1000px; }

.gg-collapsible:not(.gg-open) {
  max-height: 0; }

/* TAXONOMY CHECKBOX BLOCKS: closed by default via height (price/text untouched) */
.woof_redraw_zone .woof_container.woof_container_checkbox .woof_container_inner {
  display: block !important;
  /* allow height animation */
  max-height: 0 !important;
  /* closed by default */
  overflow: hidden; }

.woof_redraw_zone .woof_container.woof_container_checkbox .woof_container_inner.gg-open {
  max-height: 1000px !important;
  /* opened */ }

/* PRICE/TEXT: never hidden */
.woof_redraw_zone .woof_price3_search_container .woof_container_inner,
.woof_redraw_zone .woof_price_filter .woof_container_inner,
.woof_redraw_zone .woof_text_search_container .woof_container_inner {
  display: block !important;
  max-height: none !important;
  overflow: visible !important; }

/* Hide the original <h4> when we’ve inserted our toggle */
.gg-filter-original-heading {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap; }

/* PRICE is always visible, even if WOOF adds extra classes like .woof_container_checkbox */
.woof_redraw_zone .woof_price3_search_container,
.woof_redraw_zone .woof_price_filter {
  display: block !important; }

.woof_redraw_zone .woof_price3_search_container .woof_container_inner,
.woof_redraw_zone .woof_price_filter .woof_container_inner {
  display: block !important;
  max-height: none !important;
  overflow: visible !important; }

/* If some builds put the price block *also* in .woof_container_checkbox, neutralize the clamp */
.woof_redraw_zone .woof_container.woof_price_filter.woof_container_checkbox .woof_container_inner,
.woof_redraw_zone .woof_container.woof_price3_search_container.woof_container_checkbox .woof_container_inner {
  display: block !important;
  max-height: none !important; }

#primary.full-width-cart, #primary.full-width-checkout {
  padding: 0; }

.cart_item:nth-child(odd) {
  background-color: #e6e6e6; }

.actions {
  /* fixed: inline-block */ }
  .actions .coupon {
    padding: 10px;
    width: 100%; }
  .actions > button {
    margin-top: 10px;
    display: inline-block; }

@media (max-width: 768px) {
  #primary.full-width-cart, #primary.full-width-checkout {
    padding: 20px; }

  #coupon_code {
    width: 50%;
    display: inline-block; } }
a.showcoupon {
  color: #2D2A26; }

.brands-page-header {
  text-align: center;
  margin-bottom: 3rem;
  padding: 2rem 0; }
  .brands-page-header .page-title {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    color: #334752;
    margin-bottom: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.02em; }
  .brands-page-header .page-description {
    font-size: 1.1rem;
    color: #5a7d91;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6; }

.brands-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
  margin-bottom: 3rem; }
  @media (min-width: 1401px) {
    .brands-grid {
      grid-template-columns: repeat(4, 1fr); } }
  @media (min-width: 901px) and (max-width: 1400px) {
    .brands-grid {
      grid-template-columns: repeat(3, 1fr); } }
  @media (min-width: 601px) and (max-width: 900px) {
    .brands-grid {
      grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 600px) {
    .brands-grid {
      grid-template-columns: 1fr;
      gap: 1.5rem; } }

.brand-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  transition: all 0.3s ease; }
  .brand-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15); }
  .brand-card .brand-link {
    display: block;
    text-decoration: none;
    color: inherit;
    height: 100%;
    display: flex;
    flex-direction: column; }
  .brand-card .brand-image {
    position: relative;
    width: 100%;
    height: 200px;
    overflow: hidden;
    background: linear-gradient(135deg, #f8f8f8, white); }
    .brand-card .brand-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.3s ease; }
    .brand-card .brand-image .brand-placeholder {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      height: 100%;
      color: #94aebd;
      font-size: 0.9rem; }
      .brand-card .brand-image .brand-placeholder i {
        font-size: 2rem;
        margin-bottom: 0.5rem;
        opacity: 0.6; }
      .brand-card .brand-image .brand-placeholder span {
        font-weight: 500; }
  .brand-card:hover .brand-image img {
    transform: scale(1.05); }
  .brand-card .brand-info {
    padding: 1.5rem;
    flex-grow: 1;
    display: flex;
    flex-direction: column; }
    .brand-card .brand-info .brand-name {
      font-size: 1.25rem;
      font-weight: 700;
      color: #334752;
      margin: 0 0 0.75rem 0;
      line-height: 1.3;
      text-transform: uppercase;
      letter-spacing: 0.02em; }
    .brand-card .brand-info .brand-description {
      font-size: 0.9rem;
      color: #5a7d91;
      line-height: 1.5;
      margin: 0 0 1rem 0;
      display: -webkit-box;
      -webkit-line-clamp: 3;
      line-clamp: 3;
      -webkit-box-orient: vertical;
      overflow: hidden; }
    .brand-card .brand-info .brand-count {
      margin-top: auto;
      font-size: 0.85rem;
      font-weight: 600;
      color: #7C9C86;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      padding: 0.5rem 0;
      border-top: 1px solid white; }

.no-brands-message {
  text-align: center;
  padding: 4rem 2rem;
  background: #f8f8f8;
  border-radius: 12px;
  margin: 2rem 0; }
  .no-brands-message h2 {
    font-size: 1.5rem;
    color: #334752;
    margin-bottom: 1rem; }
  .no-brands-message p {
    color: #5a7d91;
    font-size: 1rem; }

body.page-template-page-varumarke .brands-grid .col_3 {
  width: 100% !important;
  margin-left: 0 !important;
  float: none !important; }

body.page-template-page-rea #primary {
  padding: 0 2rem; }
  @media (max-width: 768px) {
    body.page-template-page-rea #primary {
      padding: 0 1rem; } }
body.page-template-page-rea .archive-page {
  padding: 0 2rem; }
  @media (max-width: 768px) {
    body.page-template-page-rea .archive-page {
      padding: 0 1rem; } }

.rea-archive-hero {
  background: linear-gradient(135deg, #dc2626 0%, #ef4444 50%, #f87171 100%); }
  .rea-archive-hero .rea-title {
    color: #fff;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); }
  .rea-archive-hero .rea-description {
    color: rgba(255, 255, 255, 0.9);
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); }
  .rea-archive-hero .rea-product-count {
    background: rgba(255, 255, 255, 0.2);
    border: 2px solid rgba(255, 255, 255, 0.3);
    color: #fff;
    font-weight: 700; }

.brand-archive-hero {
  position: relative;
  margin-bottom: 3rem;
  min-height: 120px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-radius: 8px; }
  .brand-archive-hero.no-image {
    background: #fff; }
  .brand-archive-hero .brand-hero-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1; }
    .brand-archive-hero .brand-hero-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center; }
    .brand-archive-hero .brand-hero-image::after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: linear-gradient(135deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.2) 50%, rgba(0, 0, 0, 0.6) 100%);
      z-index: 2; }
  .brand-archive-hero .brand-hero-content {
    position: relative;
    z-index: 3;
    text-align: center;
    padding: 2rem 2rem;
    max-width: 800px;
    margin: 0 auto;
    width: 100%; }
    .brand-archive-hero .brand-hero-content .brand-title {
      font-size: clamp(1.5rem, 3vw, 2rem);
      font-weight: 400;
      margin-bottom: 0.5rem;
      letter-spacing: 0.02em;
      line-height: 1.3; }
    .brand-archive-hero .brand-hero-content .brand-description {
      font-size: clamp(0.9rem, 2vw, 1rem);
      margin: 0 auto 0.75rem auto;
      line-height: 1.5;
      max-width: 600px; }
    .brand-archive-hero .brand-hero-content .brand-product-count {
      font-size: 0.85rem;
      font-weight: 400;
      text-transform: none;
      letter-spacing: 0;
      opacity: 0.6;
      display: inline-block; }
  .brand-archive-hero.no-image .brand-hero-content {
    color: #333; }
    .brand-archive-hero.no-image .brand-hero-content .brand-title {
      color: #333;
      text-shadow: none; }
    .brand-archive-hero.no-image .brand-hero-content .brand-description {
      color: #555;
      text-shadow: none; }
    .brand-archive-hero.no-image .brand-hero-content .brand-product-count {
      color: #666; }
  .brand-archive-hero:not(.no-image) .brand-hero-content {
    color: #fff; }
    .brand-archive-hero:not(.no-image) .brand-hero-content .brand-title {
      color: #fff;
      text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); }
    .brand-archive-hero:not(.no-image) .brand-hero-content .brand-description {
      color: #fff;
      text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); }
    .brand-archive-hero:not(.no-image) .brand-hero-content .brand-product-count {
      color: #fff;
      text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); }
  @media (max-width: 768px) {
    .brand-archive-hero {
      min-height: 100px; }
      .brand-archive-hero .brand-hero-content {
        padding: 1.5rem 1rem; } }
  @media (max-width: 480px) {
    .brand-archive-hero {
      min-height: 40vh; }
      .brand-archive-hero .brand-hero-content {
        padding: 1.5rem 1rem; } }

.no-products-message {
  text-align: center;
  padding: 4rem 2rem;
  background: #f8f8f8;
  border-radius: 12px;
  margin: 2rem 0; }
  .no-products-message h2 {
    font-size: 1.5rem;
    color: #334752;
    margin-bottom: 1rem; }
  .no-products-message p {
    color: #5a7d91;
    font-size: 1rem; }

.page-id-8 .entry-header,
.page-id-8 .entry-title {
  display: none !important; }

.cart-wrapper {
  max-width: 1260px;
  margin: 2rem auto;
  padding: 2rem;
  background: #f8f8f8;
  border-radius: 8px; }
  .cart-wrapper .cart-title {
    font-size: 2rem;
    text-align: center;
    margin-bottom: 2rem;
    color: #3F5147;
    font-weight: bold; }
  .cart-wrapper .cart-table {
    width: 100%;
    border-collapse: collapse;
    background: #f8f8f8;
    border-radius: 6px;
    overflow: hidden; }
    .cart-wrapper .cart-table th {
      background: #3F5147;
      color: #fff;
      padding: 1rem;
      text-align: left;
      font-weight: 600;
      border-bottom: 1px solid #405449; }
    .cart-wrapper .cart-table td {
      background: #f8f8f8;
      padding: 1rem;
      color: #7C9C86;
      border-bottom: 1px solid rgba(63, 81, 71, 0.15);
      vertical-align: middle; }
    .cart-wrapper .cart-table .cart-name a {
      color: #7C9C86; }
    .cart-wrapper .cart-table .cart-thumbnail img {
      max-width: 60px;
      display: block; }
    .cart-wrapper .cart-table .cart-remove .remove {
      color: #627868;
      font-size: 1.4rem;
      text-decoration: none; }
      .cart-wrapper .cart-table .cart-remove .remove:hover {
        color: #4b5c50; }
    .cart-wrapper .cart-table .cart-quantity input[type="number"] {
      width: 60px;
      padding: 0.4rem;
      border: 1px solid #627868;
      border-radius: 4px;
      background: #fff;
      color: #3F5147; }
  .cart-wrapper .cart-actions {
    margin-top: 2rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1rem; }
    .cart-wrapper .cart-actions .cart-coupon {
      flex: 1;
      display: flex;
      gap: 0.5rem; }
      .cart-wrapper .cart-actions .cart-coupon input {
        flex: 1;
        padding: 0.5rem;
        border-radius: 4px;
        border: 1px solid #627868;
        color: #3F5147;
        background: #fff; }
      .cart-wrapper .cart-actions .cart-coupon .button {
        background: #627868;
        color: #f8f8f8; }
        .cart-wrapper .cart-actions .cart-coupon .button:hover {
          background: #7a9381; }
    .cart-wrapper .cart-actions .update-cart {
      background: #7C9C86;
      color: #F5F2EC;
      border: none;
      padding: 0.6rem 1.2rem;
      border-radius: 4px;
      cursor: pointer;
      transition: background-color 0.2s ease; }
      .cart-wrapper .cart-actions .update-cart:hover {
        background: #3F5147; }
  .cart-wrapper .cart-summary {
    margin-top: 3rem;
    background: #f8f8f8;
    border-radius: 6px;
    padding: 2rem;
    color: #2D2A26; }
    .cart-wrapper .cart-summary h2 {
      font-size: 1.5rem;
      margin-top: 0;
      margin-bottom: 1.2rem;
      color: #2D2A26; }
    .cart-wrapper .cart-summary .checkout-button {
      background: #405449;
      color: #fff; }
      .cart-wrapper .cart-summary .checkout-button:hover {
        background: #567162; }
    .cart-wrapper .cart-summary .shop_table {
      width: 100%;
      border-collapse: collapse;
      background: transparent; }
      .cart-wrapper .cart-summary .shop_table th,
      .cart-wrapper .cart-summary .shop_table td {
        background: transparent;
        padding: 0.75rem 0;
        color: #2D2A26;
        text-align: left;
        border-bottom: 1px solid rgba(45, 42, 38, 0.2); }
      .cart-wrapper .cart-summary .shop_table th {
        width: 50%;
        font-weight: 600; }
    .cart-wrapper .cart-summary .woocommerce-shipping-destination,
    .cart-wrapper .cart-summary .shipping-calculator-button {
      font-size: 0.9rem;
      color: #2D2A26; }
    .cart-wrapper .cart-summary .woocommerce-shipping-calculator {
      margin-top: 1rem; }
      .cart-wrapper .cart-summary .woocommerce-shipping-calculator input,
      .cart-wrapper .cart-summary .woocommerce-shipping-calculator select {
        width: 100%;
        padding: 0.5rem;
        margin-top: 0.5rem;
        border-radius: 4px;
        border: 1px solid #627868;
        background: #fff;
        color: #3F5147; }

.page-id-9 .entry-header,
.page-id-9 .entry-title {
  display: none !important; }

.checkout-wrapper {
  max-width: 1260px;
  margin: 2rem auto;
  padding: 2rem;
  background: #f8f8f8;
  border-radius: 8px; }
  .checkout-wrapper h2, .checkout-wrapper h3, .checkout-wrapper h4 {
    color: #3F5147;
    margin-top: 1.5rem;
    margin-bottom: 1rem; }
  .checkout-wrapper .payment_methods > li {
    background: transparent !important; }
  .checkout-wrapper .woocommerce-error,
  .checkout-wrapper .woocommerce-info,
  .checkout-wrapper .woocommerce-message {
    background: #7C9C86;
    color: #fff;
    padding: 1rem 1.5rem 1rem 2.5rem;
    border-radius: 6px;
    margin: 2rem 0;
    list-style: none;
    position: relative;
    overflow: hidden; }
    .checkout-wrapper .woocommerce-error::before,
    .checkout-wrapper .woocommerce-info::before,
    .checkout-wrapper .woocommerce-message::before {
      position: absolute;
      left: 1rem;
      top: 1rem;
      font-size: 1.2rem;
      line-height: 1;
      color: #fff;
      background: none !important;
      box-shadow: none !important; }
    .checkout-wrapper .woocommerce-error li,
    .checkout-wrapper .woocommerce-info li,
    .checkout-wrapper .woocommerce-message li {
      color: #fff; }
    .checkout-wrapper .woocommerce-error a,
    .checkout-wrapper .woocommerce-info a,
    .checkout-wrapper .woocommerce-message a {
      color: #fff;
      text-decoration: underline; }
      .checkout-wrapper .woocommerce-error a:hover,
      .checkout-wrapper .woocommerce-info a:hover,
      .checkout-wrapper .woocommerce-message a:hover {
        color: #e6e6e6; }
  .checkout-wrapper .payment_methods .woocommerce-info {
    background: #7C9C86;
    color: #fff;
    padding: 1rem 1.5rem 1rem 2.5rem;
    border-radius: 6px;
    margin: 1.5rem 0;
    overflow: hidden;
    position: relative; }
    .checkout-wrapper .payment_methods .woocommerce-info::before {
      position: absolute;
      left: 1rem;
      top: 1rem;
      font-size: 1.2rem;
      line-height: 1;
      color: #fff;
      background: none !important;
      box-shadow: none !important; }
  .checkout-wrapper .checkout-wrapper form.checkout {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    align-items: flex-start;
    /* Kill any theme floats/widths that fight flex */
    /* Make notices span the full row (so they don't push a single column down) */
    /* Left column: Billing details (~62%) */
    /* Right column: Order review (~38%) */
    /* One-column on smaller screens */ }
    .checkout-wrapper .checkout-wrapper form.checkout .col2-set,
    .checkout-wrapper .checkout-wrapper form.checkout #order_review {
      float: none !important;
      width: auto !important;
      min-width: 0; }
    .checkout-wrapper .checkout-wrapper form.checkout > .woocommerce-error,
    .checkout-wrapper .checkout-wrapper form.checkout > .woocommerce-info,
    .checkout-wrapper .checkout-wrapper form.checkout > .woocommerce-message,
    .checkout-wrapper .checkout-wrapper form.checkout > .woocommerce-NoticeGroup,
    .checkout-wrapper .checkout-wrapper form.checkout > .woocommerce-NoticeGroup-updateOrderReview {
      flex: 0 0 100%;
      order: -1;
      margin-top: 0; }
    .checkout-wrapper .checkout-wrapper form.checkout .col2-set {
      flex: 0 1 62%;
      /* Optional: give it a reasonable floor on wide screens */
      max-width: 800px; }
    .checkout-wrapper .checkout-wrapper form.checkout #order_review {
      flex: 0 1 38%;
      /* Optional: make the summary stay visible */
      /* position: sticky; top: 1rem; */ }
    @media (max-width: 980px) {
      .checkout-wrapper .checkout-wrapper form.checkout .col2-set,
      .checkout-wrapper .checkout-wrapper form.checkout #order_review {
        flex: 0 0 100%; } }

.announcements-page {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 20px; }

.announcements-header {
  text-align: center;
  margin-bottom: 60px; }
  .announcements-header .announcements-title {
    color: #2D2A26;
    font-size: 3rem;
    font-weight: 600;
    margin-bottom: 20px;
    line-height: 1.2; }
    @media (max-width: 768px) {
      .announcements-header .announcements-title {
        font-size: 2.5rem; } }
  .announcements-header .announcements-description {
    color: #334752;
    font-size: 1.2em;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6; }

.announcements-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 30px;
  margin-bottom: 40px; }
  @media (max-width: 768px) {
    .announcements-grid {
      grid-template-columns: 1fr;
      gap: 20px; } }

.announcement-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  border: 2px solid transparent;
  position: relative;
  overflow: visible; }
  .announcement-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15); }
  .announcement-card.announcement-featured {
    border-color: #7C9C86; }
  .announcement-card.announcement-type-event {
    border-left: 4px solid #e74c3c; }
  .announcement-card.announcement-type-course {
    border-left: 4px solid #3498db; }
  .announcement-card.announcement-type-sale {
    border-left: 4px solid #f39c12; }
  .announcement-card.announcement-type-info {
    border-left: 4px solid #2ecc71; }
  .announcement-card.announcement-type-news {
    border-left: 4px solid #9b59b6; }

.announcement-image {
  width: 100%;
  height: 200px;
  overflow: hidden;
  border-radius: 12px 12px 0 0; }
  .announcement-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease; }
  .announcement-card:hover .announcement-image img {
    transform: scale(1.05); }

.announcement-content {
  padding: 25px; }

.announcement-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 15px;
  gap: 15px; }
  @media (max-width: 480px) {
    .announcement-header {
      flex-direction: column;
      gap: 10px; } }

.announcement-title {
  color: #2D2A26;
  font-size: 1.4rem;
  font-weight: 600;
  margin: 0;
  line-height: 1.3;
  flex: 1; }

.announcement-type-badge {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 0.8em;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  white-space: nowrap;
  position: relative;
  z-index: 5; }
  .announcement-type-badge.type-event {
    background: #e74c3c;
    color: white; }
  .announcement-type-badge.type-course {
    background: #3498db;
    color: white; }
  .announcement-type-badge.type-sale {
    background: #f39c12;
    color: white; }
  .announcement-type-badge.type-info {
    background: #2ecc71;
    color: white; }
  .announcement-type-badge.type-news {
    background: #9b59b6;
    color: white; }

.announcement-description {
  color: #334752;
  line-height: 1.6;
  margin-bottom: 20px; }
  .announcement-description p {
    margin-bottom: 15px; }
    .announcement-description p:last-child {
      margin-bottom: 0; }
  .announcement-description ul, .announcement-description ol {
    margin-left: 20px;
    margin-bottom: 15px; }
  .announcement-description li {
    margin-bottom: 5px; }

.announcement-details {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-bottom: 20px; }
  @media (max-width: 480px) {
    .announcement-details {
      flex-direction: column;
      gap: 10px; } }
  .announcement-details > div {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #334752;
    font-size: 0.9rem; }
    .announcement-details > div i {
      color: #7C9C86;
      width: 16px;
      text-align: center; }

.announcement-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 15px; }
  @media (max-width: 480px) {
    .announcement-actions {
      flex-direction: column; } }

.announcement-file-link,
.announcement-external-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border-radius: 25px;
  text-decoration: none;
  font-weight: 500;
  transition: all 0.3s ease;
  font-size: 0.9rem; }
  .announcement-file-link:hover,
  .announcement-external-link:hover {
    transform: translateY(-2px); }

.announcement-file-link {
  background: #7C9C86;
  color: #F5F2EC; }
  .announcement-file-link:hover {
    background: #3F5147;
    color: #F5F2EC; }

.announcement-external-link {
  background: transparent;
  color: #2D2A26;
  border: 2px solid #2D2A26; }
  .announcement-external-link:hover {
    background: #2D2A26;
    color: #fff; }

.no-announcements {
  text-align: center;
  padding: 80px 20px;
  background: #f8f8f8;
  border-radius: 12px;
  border: 2px dashed #627868; }
  .no-announcements h2 {
    color: #2D2A26;
    font-size: 2rem;
    margin-bottom: 15px; }
  .no-announcements p {
    color: #334752;
    font-size: 1.1rem; }

.announcements-disabled {
  text-align: center;
  padding: 80px 20px;
  background: #fff3cd;
  border: 2px solid #ffeaa7;
  border-radius: 12px; }
  .announcements-disabled h1 {
    color: #856404;
    font-size: 2rem;
    margin-bottom: 15px; }
  .announcements-disabled p {
    color: #856404;
    font-size: 1.1rem; }

@media (max-width: 768px) {
  .announcements-page {
    padding: 20px 15px; }

  .announcements-header {
    margin-bottom: 40px; }

  .announcement-content {
    padding: 20px; }

  .announcement-details {
    flex-direction: column;
    gap: 8px; }

  .announcement-actions {
    flex-direction: column; } }
@media print {
  .announcement-card {
    break-inside: avoid;
    box-shadow: none;
    border: 1px solid #ddd;
    margin-bottom: 20px; }

  .announcement-actions {
    display: none; } }
#site-navigation {
  background-color: #7C9C86; }

body {
  background-color: #fff; }

#primary {
  width: 100%;
  margin: 0;
  padding: 0 75px; }

@media (max-width: 1200px) {
  #primary {
    padding: 0; } }
.site-main {
  margin-bottom: 0; }

#masthead {
  margin-bottom: 0; }

.banner_cta {
  height: 100%;
  position: relative; }
  .banner_cta .cta_box {
    padding: 20px;
    backdrop-filter: blur(5px);
    color: #fff;
    font-weight: bold;
    text-shadow: #2D2A26 1px 1px;
    text-align: center; }
    .banner_cta .cta_box h3 {
      color: #fff;
      font-weight: bold; }
  .banner_cta .cta_button {
    margin: 0 auto;
    width: auto; }
    .banner_cta .cta_button a {
      font-size: 1.2em;
      padding: 10px 20px;
      border-radius: 5px;
      color: #fff;
      background-color: #7C9C86; }
      .banner_cta .cta_button a:hover {
        background-color: #63826d; }

table:not(.has-background) tbody td {
  background-color: transparent; }

@media (min-width: 768px) {
  .right-sidebar .widget-area {
    width: 100%; } }
a.remove::before {
  color: inherit !important; }

.storefront-wc-brands-single-product {
  display: none !important; }

/*# sourceMappingURL=style.css.map */
