/*======================================
Theme Name: WordPress Child Theme Atomion
Theme URI: https://marketpress.de
Description: Das Atomion Child Theme
Version: 1.1
Author: MarketPress
Author URI: https://marketpress.de
Template: wordpress-theme-atomion
License: GNU General Public License v3.0
License URI: http://www.gnu.org/licenses/gpl-3.0.html
======================================*/

/* ============================================================
   1. GLOBAL
   ============================================================ */

@import url("./alibabaWebfontsKit.css");

/* CSS Reset (Quelle: https://www.joshwcomeau.com/css/custom-css-reset/) */
*, *::before, *::after {
    box-sizing: border-box;
}
* {
    margin: 0;
}

/* Einheitliche rem-Basis unabhängig vom Eltern-Kontext */
html {
    font-size: 100%;
}

/* Keyword-Animationen aktivieren (z. B. height: auto) */
@media (prefers-reduced-motion: no-preference) {
    html {
        interpolate-size: allow-keywords;
    }
}

/* Bessere Lesbarkeit und Schriftglättung */
body {
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

/* Bessere Standardwerte für Medien-Elemente */
img, picture, video, canvas, svg {
    display: block;
    max-width: 100%;
}

/* Schriftart von Formularelementen erben */
input, button, textarea, select {
    font: inherit;
}

/* Eigenen Stacking-Context erzeugen */
#root, #__next {
    isolation: isolate;
}

/* Bildunterschrift-Wrapper zurücksetzen */
figure {
    margin: 0 0;
}

/* Wiederverwendbarer Abstand für responsive Grid-Layouts (siehe Abschnitte 4/8) */
:root {
    --rg-gap: clamp(16px, 2vw, 32px);
}

/* Inhaltsbreite */
#content,
.single-post .entry-content {
    max-width: 1600px;
}
.page-content, .entry-content, .entry-summary {
    margin: 0rem;
}
.alignfull, .alignwide {
    margin-bottom: 0em;
}

/* Blöcke temporär verstecken */
.is-hidden {
    display: none;
}

/* ============================================================
   2. TYPOGRAFIE
   ============================================================ */

/* Textumbrüche bei Überschriften/Absätzen vermeiden */
p, h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word;
}

/* Verbessertes Zeilenumbruch-Verhalten */
p {
    text-wrap: pretty;
}
h1, h2, h3, h4, h5, h6 {
    text-wrap: balance;
}

/* Basis-Textfarbe */
body, button, select, optgroup, textarea {
    color: #354459;
}

/* Einheitliche Schriftart für alles außer Icon-Fonts */
* :not(.fa, .fa-brands, .fab, .fa-classic, .fa-regular, .fa-solid, .far, .fas, .fa-youtube) {
    font-family: "HalisR-Regular", sans-serif !important; /* überschreibt Inline-Styles des Block-Editors */
    letter-spacing: 0.03em;
}

/* Fließtext */
p {
    font-size: clamp(1.0625rem, 1rem + 0.3vw, 1.25rem);
}
p a {
    color: #eaa603;
}
small {
    font-size: 95%;
}

/* Überschriften-Basisskala (rem, fluid-responsiv) */
h1, h2, h3, h4, h5, h6,
h1 > *, h2 > *, h3 > *, h4 > * {
    font-family: "HalisR-Bold", sans-serif !important; /* überschreibt Inline-Styles des Block-Editors */
    text-transform: uppercase;
    letter-spacing: 0.2em !important; /* überschreibt Inline-Style des Block-Editors */
    padding-bottom: 1em;
}
h1 { font-size: clamp(1.75rem, 1.4rem + 1.8vw, 2.5rem); }
h2 { font-size: clamp(1.5rem, 1.25rem + 1.3vw, 2.125rem); }
h3 { font-size: clamp(1.25rem, 1.1rem + 0.8vw, 1.625rem); }
h4 { font-size: clamp(1.125rem, 1.05rem + 0.4vw, 1.25rem); }
h5 { font-size: clamp(1.0625rem, 1rem + 0.3vw, 1.125rem); }
h6 { font-size: 1rem; }

/* Unterstreichung bei Headlines entfernen (außer Ultimate-Addons-Blöcke) */
h1:not([class^="uagb"]):after,
h2:not([class^="uagb"]):after {
    display: none;
}
h1.page-title {
    text-align: center;
}

/* Zitate */
blockquote {
    margin: 0;
}
blockquote:before, blockquote:after {
    display: none;
}
blockquote p {
    color: #f27269;
    font-size: clamp(1.375rem, 1.1rem + 1.2vw, 2rem);
}

/* Ausklappbare Inhalte (Details/Akkordeon) */
summary {
    font-size: clamp(1.1875rem, 1.1rem + 0.6vw, 1.5rem);
    font-family: "HalisR-Bold", sans-serif !important;
    font-weight: 600;
}
summary:focus {
    padding-bottom: 0.5em;
    outline: none !important; /* überschreibt Browser-Standard-Fokusrahmen */
}

pre {
    background: transparent;
    font-size: clamp(1.125rem, 1.05rem + 0.4vw, 1.5rem);
    padding: 0;
    color: #f27269;
}

hr {
    background-color: #97d5e2 !important; /* überschreibt Theme-eigene hr-Farbe */
    margin-top: 1.5em;
}

/* Aufzählungslisten in Beitrags-/Beschreibungstexten */
.entry-content ul,
#atomion-summary-wrapper .woocommerce-product-details__short-description ul {
    margin-bottom: 0;
}
.entry-content ul.wp-block-list {
	list-style: none;
	font-size: 1.2rem;
	margin-left: 0;
}
.entry-content ul:not([class]) > li:not([class]),
#atomion-summary-wrapper .woocommerce-product-details__short-description ul li,
.wp-block-archives-list li,
.wp-block-categories-list li {
    margin: 0;
    font-size: clamp(1.0625rem, 1rem + 0.3vw, 1.25rem);
}
#atomion-summary-wrapper .woocommerce-product-details__short-description ul li:before,
.entry-content ul:not([class]) > li:not([class]):before,
.wp-block-archives-list li:before,
.wp-block-categories-list li:before {
    content: "\f219";
    color: #354459;
    font-size: 0.75rem;
    transform: translateY(7px);
}

body:not(.home) .entry-content ul > li {
	padding-left: 24px;
}


body:not(.home) .entry-content ul > li:before {
	list-style: none;
	content: "\25C6";
    color: #354459 !important;
	position: relative;
    margin-left: -24px;
	padding-right: 8px;
    //top: -2px;
    //font-size: 0.8rem;
}

li a {
    color: #354459;
}
li a:hover {
    color: #eaa603;
}

/* Bildunterschriften (Galerie-Block) */
.wp-block-image figcaption {
    font-family: "HalisR-Bold", sans-serif !important;
    background: transparent;
    text-align: -webkit-center;
    color: #354459;
    text-transform: uppercase;
    font-size: clamp(1rem, 0.95rem + 0.3vw, 1.2rem);
    letter-spacing: 0.2rem;
}
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
    color: #ffffff;
    font-size: clamp(1.125rem, 1.05rem + 0.5vw, 1.5rem);
    margin-bottom: 0;
    padding: 40px 0 40px;
}

/* Überschrift in Content-Box-Blöcken */
main h2, [class^="wp-block-atomion-block-content-box"] h2 {
    font-size: clamp(1.125rem, 1rem + 0.8vw, 1.5rem);
    padding-bottom: 20px;
}

/* Formularelemente (sitework Basisstil) */
select {
    border: 3px solid #fbf6e0;
    background-color: #fbf6e0;
}
select:hover, select:focus {
    box-shadow: 0 1px 1px 0 #eaa603;
}
input[type="text"], input[type="tel"], input[type="email"], input[type="url"],
input[type="number"], input[type="date"], input[type="search"], input[type="password"],
textarea {
    border: 3px solid #c6e5eb;
    background-color: #c6e5eb;
}
#atomion-login-account input::placeholder,
#atomion-new-account input::placeholder,
#atomion-new-account select,
form.woocommerce-ordering select {
    font-family: "HalisR-Bold", sans-serif !important;
    text-transform: uppercase;
    letter-spacing: 0.2em !important;
}

a:hover img {
    opacity: .85;
}

/* ============================================================
   3. HEADER / NAVIGATION
   ============================================================ */

/* Logo-Bereich */
.logo-item.header-element {
    background-color: #ffbb18;
}
#header #masthead.logo-top-nav #desktop-navigation .logo-item {
    padding: 18px 0;
}
#header #masthead.logo-top-nav.stuck #desktop-navigation .logo-item {
    padding: 0;
}

/* Desktop-Hauptmenü */
.menu-primary-container li a {
    white-space: nowrap;
}
#masthead .main-navigation [id*="primary-menu"] > li > a {
    font-family: "HalisR-Bold", sans-serif !important;
    text-transform: uppercase;
    letter-spacing: 0.2em !important;
}
#header #desktop-navigation [id*="primary-menu"] .atomion-simple-menu li a {
    font-weight: 600 !important; /* überschreibt Theme-Standard-Schriftschnitt */
    text-transform: uppercase;
    letter-spacing: 0.2em !important;
    padding: 1em 2.5em 1em 2em;
    border-bottom: 1px solid #97d5e2;
}
#desktop-navigation [id*="primary-menu"] li:hover .atomion-simple-menu ul,
#desktop-navigation [id*="primary-menu"] li:focus-within .atomion-simple-menu ul {
    padding: 0;
}
#masthead .sub-menu-wrap {
    background-color: #c6e5eb;
}
#header #masthead .main-navigation .sub-menu li a:hover {
    background: #006794;
}

/* Suche (Header) */
input[type="submit"] {
    background-color: transparent !important;
}
.atomion-searchicon {
    background-color: #eaa603;
}
.atomion-searchform .atomion-searchicon {
    border-color: #ffbb18 !important;
}

/* Warenkorb-Icon */
#masthead #desktop-navigation .cart-item {
    background-color: #c6e5eb !important; /* überschreibt vom Theme per Inline-Style gesetzten Zustand */
}
#masthead #desktop-navigation .cart-item a.header-cart-link {
    background-color: #c6e5eb;
}
#masthead #desktop-navigation .cart-item .filled + a.header-cart-link {
    background-color: #006794 !important; /* Zustand bei gefülltem Warenkorb */
}

/* Mini-Warenkorb (Dropdown am Warenkorb-Icon) */
.cart-item .atomion-mini-cart-widget {
    background-color: #ffffff !important; /* überschreibt Theme-Inline-Style */
}
#header .cart-item .atomion-mini-cart-widget,
#header .cart-item .atomion-mini-cart-widget ul a,
#header .cart-item .atomion-mini-cart-widget p,
#header #mobile-navigation .cart-item .atomion-mini-cart-widget a {
    color: #354459 !important; /* überschreibt Theme-Inline-Style */
}
#header .cart-item .atomion-mini-cart-widget .button.wc-forward {
    background: #eaa603;
}

/* Mobile Navigation */
#mobile-navigation #mobile-nav-action-bar {
    background: #fbf6e0;
}
#mobile-navigation .main-nav-item {
    padding: 0;
    box-shadow: none;
}
#header #mobile-navigation .main-navigation .sub-menu li a {
    font-weight: 600 !important;
    color: #006794;
    text-transform: uppercase;
    letter-spacing: 0.2em !important;
    border-bottom: 1px solid #97d5e2;
    padding: .5rem 2rem .5rem 2rem;
}
#mobile-navigation .main-nav-item [id*="primary-menu"] .atomion-simple-menu.menu-level-0 li,
#mobile-navigation .main-nav-item [id*="primary-menu"] .atomion-simple-menu.menu-level-0 li.menu-item-has-children {
    margin: 0;
}
#mobile-navigation [id*="primary-menu"] li .sub-menu-wrap ul {
    padding: 0;
}
#header #mobile-navigation .main-nav-item [id*="primary-menu"] > li {
    background: #97d5e2;
    margin: 0;
    border-bottom: 1px solid #c6e5eb;
}

/* Plus-Icon im Akkordeon-Toggle vertikal zentrieren */
.fa-add:before, .fa-plus:before {
    vertical-align: -webkit-baseline-middle;
}

#mobile-navigation [id*="primary-menu"].atomion-simple-menu-wrapper button.toggle {
    top: -3px;
}
#mobile-navigation #mobile-site-navigation {
    margin-bottom: 0;
}
#mobile-navigation hr {
    margin-top: 0;
    margin-bottom: 0;
}
#mobile-navigation .social-item {
    margin: 0;
    padding: 1rem 0 1rem 0;
    background: #c6e5eb;
}
#mobile-navigation .main-nav-item .sub-menu-wrap.menu-level-0.open {
    box-shadow: none;
    padding: 0;
}
#mobile-navigation .main-nav-item .sub-menu-wrap.menu-level-0 {
    margin-top: 0;
}
#mobile-navigation .line {
    stroke: #354459 !important; /* SVG-Stroke wird vom Theme per Inline-Style gesetzt */
}
#header #mobile-navigation .header-element a,
#header #mobile-navigation .header-element button,
#mobile-navigation .social-item i,
#mobile-navigation button.toggle {
    color: #354459;
}

/* Umschaltpunkt Desktop- <-> Mobil-Navigation */
@media (max-width: 1214px) {
    #desktop-navigation {
        display: none !important;
    }
    #mobile-navigation.header-inner {
        display: flex !important;
    }
    #mobile-navigation button.menu-toggle {
        display: block !important;
    }
    #masthead {
        background-color: #ffbb18 !important;
        padding: 0 5%;
    }
    .fa-cart-shopping:before, .fa-shopping-cart:before {
        color: #354459 !important;
    }
}

.admin-bar #masthead:not(.stuck) #mobile-navigation .main-nav-item {
    background: transparent;
}

/* ============================================================
   4. STARTSEITE
   ============================================================ */

/* Slider: volle Browserbreite */
#metaslider-id-12740.metaslider {
    max-width: 100vw !important;
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

/* Slider: Caption zentrieren, Overlay entfernen */
#metaslider-id-12740 .caption-wrap {
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%);
    background: transparent !important;
    opacity: 1 !important;
}

/* Slider: Haupttitel */
#metaslider-id-12740 .caption h2.title {
    font-size: clamp(1.5rem, 1.1rem + 2.5vw, 2.75rem) !important;
    line-height: 1;
}

/* Slider: Fließtext */
#metaslider-id-12740 .caption p {
    font-size: clamp(1rem, 0.85rem + 1vw, 1.5rem) !important;
    font-weight: 300;
    letter-spacing: 0 !important;
    line-height: 1.6;
    text-transform: none;
}

/* Slider: untere Rautenzeile wie Überschrift skalieren */
#metaslider-id-12740 .caption p:nth-of-type(2),
#metaslider-id-12740 .caption p:nth-of-type(2) span {
    font-size: clamp(1.5rem, 1.1rem + 2.5vw, 2.75rem) !important;
    letter-spacing: 0.2em;
    font-weight: 600;
}

/* Slider: Button-Struktur (Farben in Sektion 7) */
#metaslider-id-12740 .caption a.ms-custom-button {
    display: inline-block;
    padding: 16px 32px !important;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 1rem;
    letter-spacing: 0.03em;
    text-decoration: none;
    transition: all 0.3s ease;
    border-radius: 0;
}

@media (max-width: 599px) {
    /* Bild mobil im 3:2-Format zuschneiden */
    #metaslider-id-12740 .msDefaultImage {
        aspect-ratio: 3 / 2 !important;
        object-fit: cover;
        width: 100% !important;
        height: auto !important;
    }
    /* Button kompakter */
    #metaslider-id-12740 .caption a.ms-custom-button {
        padding: 0.5em 1em !important;
    }
}

/* Alter Hero-Slider (Slick), ersetzt durch MetaSlider – deaktiviert
[class$="-hero-image"] {
    aspect-ratio: 1542 / 640;
    background-size: cover !important;
    background-position: center !important;
    height: auto !important;
}
#content .hero-slider-content span {
    font-size: clamp(1.5rem, 1.1rem + 2.5vw, 2.75rem);
    font-family: "HalisR-Bold", sans-serif !important;
    text-transform: uppercase;
    letter-spacing: 0.2em !important;
}
#content .hero-slider-content h3 {
    font-size: clamp(1rem, 0.85rem + 1vw, 1.5rem);
    font-weight: 300;
    letter-spacing: 0em !important;
    line-height: 1.6;
    text-transform: none;
}
#content .hero-slider-content a.button {
    font-size: 1rem;
}
@media (max-width: 599px) {
    [class$="-hero-image"] {
        aspect-ratio: 3 / 2 !important;
    }
    .hero-slider-content a.button {
        padding: 0.5em 1em !important;
    }
    .hero-slider-content h3,
    .hero-slider-content h3 > * {
        padding-bottom: 0 !important;
    }
}
*/

/* Baseline-Lücke unter dem Slider entfernen */
.slick-track,
.slick-slide {
    font-size: 0;
}
.slick-slide > div,
[class$="-hero-image"] {
    vertical-align: top !important;
}

/* Aussehen von Angebote wie in Shop */
.wc-block-grid .wc-block-grid__product-onsale, .wc-block-grid__product-image .wc-block-grid__product-onsale {
background-color: #eaa603 !important; 
    border: none !important;
    border-radius: 0 !important;
    color: #ffffff !important;
    display: inline-block;
    font-size: 1rem !important;
    font-weight: 600;
    padding: 11px 10px !important;
    position: absolute;
    text-align: center;
    text-transform: uppercase;
    margin: 1em 1em 0 0 !important;
    width: auto;
    z-index: 9;
    line-height: 1;
    min-height: 0;
}

/* Kategorie-Kacheln: Titel-Position und Größe */
.wc-block-featured-category .wc-block-featured-category__title {
    color: #354459 !important; /* überschreibt Inline-Style des Blocks */
    margin-top: 370px !important;
    font-size: clamp(1rem, 1rem + 0.8vw, 1.125rem) !important;
}
.wc-block-featured-category__title {
    white-space: normal;
}

/* Kategorie-Kacheln: 4 -> 2 -> 1 Spalten */
.wp-block-columns.is-layout-flex.wp-block-columns.is-layout-flex:has(.wc-block-featured-category) {
    display: grid !important; /* Atomion setzt display: flex !important, daher hier ebenfalls !important nötig */
    grid-template-columns: repeat(var(--rg-cols, 4), 1fr);
    gap: var(--rg-gap);
}
@media (max-width: 1150px) {
    .wp-block-columns.is-layout-flex.wp-block-columns.is-layout-flex:has(.wc-block-featured-category) {
        --rg-cols: 2;
    }
}
@media (max-width: 780px) {
    .wp-block-columns.is-layout-flex.wp-block-columns.is-layout-flex:has(.wc-block-featured-category) {
        --rg-cols: 1;
    }
}

/* Beitrags-Teaser: 4 -> 2 -> 1 Spalten, Karten gleich hoch */
.wp-block-post-template.is-layout-grid.wp-block-post-template.is-layout-grid {
    display: grid;
    grid-template-columns: repeat(var(--rg-cols, 4), 1fr);
    gap: var(--rg-gap);
    align-items: stretch;
}
@media (max-width: 1745px) {
    .wp-block-post-template.is-layout-grid.wp-block-post-template.is-layout-grid {
        --rg-cols: 2;
    }
}
@media (max-width: 600px) {
    .wp-block-post-template.is-layout-grid.wp-block-post-template.is-layout-grid {
        --rg-cols: 1;
    }
}

/* Teaser-Karte: Bild/Titel behalten ihre Höhe, Excerpt füllt den Rest */
.wp-block-post-template.is-layout-grid > .wp-block-post {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.wp-block-post-template.is-layout-grid > .wp-block-post > a > img,
.wp-block-post-template.is-layout-grid > .wp-block-post .wp-block-post-featured-image,
.wp-block-post-template.is-layout-grid > .wp-block-post .wp-block-post-title {
    flex-shrink: 0;
	padding-top: 2rem !important;
}
.wp-block-post-template.is-layout-grid > .wp-block-post .wp-block-post-excerpt {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}
.wp-block-post-template.is-layout-grid > .wp-block-post .wp-block-post-excerpt__excerpt {
    flex-grow: 1;
}
.wp-block-post-template.is-layout-grid > .wp-block-post .wp-block-post-excerpt__more-link {
    margin-top: auto;
}

/* Excerpt-Text: Farbe und Innenabstand */
.wp-block-post-excerpt__excerpt {
    color: #fbf6e0;
    padding: 0rem 3rem 1rem 3rem;
}

/* "Mehr erfahren"-Link: Farbe und Abstand */
.wp-block-post-excerpt__more-link {
    color: #fed77b !important; /* überschreibt Block-Standardfarbe */
    padding-bottom: 3rem;
}

/* Teaser-Karte komplett klickbar machen (Stretched-Link über "Mehr erfahren") */
.wp-block-post-template.is-layout-grid > .wp-block-post {
    position: relative;
}
.wp-block-post-template.is-layout-grid > .wp-block-post .wp-block-post-excerpt__more-link::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
}
/* Hover-Effekt aufs Bild: greift jetzt beim Hover der ganzen Karte (wegen Stretched-Link) */
.wp-block-post-template.is-layout-grid > .wp-block-post:hover img {
    opacity: .85;
}

/* Home-Teaser */
body.home .homepage-mixed-teaser ul li.wp-block-post figure.wp-block-post-featured-image { padding-top: 0 !important; }
body.home .homepage-mixed-teaser ul.wp-block-post-template.is-layout-grid {
	padding: var(--rg-gap);
}


/* ============================================================
   5. BLOG / BEITRÄGE
   ============================================================ */

h1.entry-title {
    text-align: center;
    margin-top: 50px;
    margin-bottom: 30px;
    padding-bottom: 40px;
    border-bottom: 1px solid #ffbb18;
}

/* Beitragstitel auf der Startseite ausblenden */
body.home h1.entry-title {
    display: none;
}

/* Autor und Datum im Beitrag nicht anzeigen */
.single .entry-meta {
    display: none;
}
.entry-date.published {
    display: none;
}

.atomion-post-category {
    margin-bottom: 15px;
}
.atomion-post-category a:not(:hover, :focus, :active) {
    color: #eaa603 !important; /* überschreibt Standard-Linkfarbe */
}

/* Beitragsbild zentrieren */
.post-thumbnail img {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
@media (min-width: 1000px) {
    .post-thumbnail img {
        max-height: 500px !important;
        width: auto !important;
        height: auto !important;
    }
}

/* Beitragsbild in der Einzelansicht: Querformat füllt die Content-Breite */
.single-post .post-thumbnail.is-landscape img {
    width: 100% !important;
    max-width: 1600px !important;
    height: auto !important;
    max-height: none !important;
}

/* ============================================================
   6. SEITEN
   ============================================================ */

/* Kein oberer Abstand bei Archiv-/Seiten-Templates ohne Breadcrumb */
body.archive:not(.page-template-page-blank-full-width-content):not(.page-template-page-blank):not(.transparent-header) #content.no-breadcrumb,
body.page:not(.page-template-page-blank-full-width-content):not(.page-template-page-blank):not(.transparent-header) #content.no-breadcrumb {
    margin-top: 0rem;
}

/* Breite bei schmalen Seiten-Templates */
.page-template-page-blank #content .row {
    max-width: 1920px;
}

/* Beitragsbild der Seite "On Tour" nur im Homepage-Teaser zeigen, nicht auf der Seite selbst */
body.page-id-335 .post-thumbnail {
    display: none;
}

/* Kontaktseite: "Bei Google Maps ansehen"-Button */
a[href*="maps.app.goo.gl"] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
a[href*="maps.app.goo.gl"] img {
    display: block;
    margin: 0;
}

/* ============================================================
   7. WOOCOMMERCE
   ============================================================ */

/* --- Allgemein --- */

.woocommerce-Price-amount {
    color: #eaa603 !important; /* überschreibt WooCommerce-Inline-Style für Preise */
    font-size: clamp(1.125rem, 1.05rem + 0.3vw, 1.25rem) !important;
    font-weight: 600;
}
.single-product .summary .woocommerce-Price-amount {
    font-size: clamp(1.5rem, 1.3rem + 1vw, 2rem) !important;
	//font-size: 1.5rem;
}
.woocommerce ul.products li.product .onsale, .woocommerce span.onsale {
    background-color: #eaa603 !important; /* überschreibt WooCommerce-Standardfarbe */
}


.woocommerce ul.products li.product .price {
	font-size: 1.5rem;
}
.home .wc-block-grid .wc-block-grid__product del {
	opacity: .65;
	font-size: 1.2rem;
	text-decoration-line: line-through;
	text-decoration-thickness: 2px;
	text-decoration-color: #eaa603;
}

.single-product .price del .amount {
	margin-right: .5rem;
}

/* Buttons (Warenkorb, Checkout, Formulare, Blocks etc.) */
.woocommerce .cart .button, .woocommerce .cart input.button, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce button.button, .woocommerce button.button.alt, .woocommerce #review_form #respond .form-submit input,
.woocommerce a.button, input.mailpoet_submit, input[type="submit"], a.atomion-edit-address-button,
.woocommerce-MyAccount-content button.button, .atomion-account .button, #content .hero-slider-content a.atomion-button-filled,
.wgm-second-checkout input#place_order, [class^="wp-block-atomion-block-content-box"] .atomion-button-filled,
html .wp-block-search .wp-block-search__button, .woocommerce .woocommerce-widget-layered-nav-dropdown__submit,
#content .woocommerce .download-file .button, .cc_content_blocker .button,
.wp-block-woocommerce-product-categories .wc-block-product-categories__button, .wc-block-cart__submit-button,
.wc-block-components-totals-coupon__button, .wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-cart-cross-sells-block .cross-sells-product .add_to_cart_button, #metaslider-id-12740 .caption a.ms-custom-button {
    background-color: #eaa603 !important; /* überschreibt Theme-/Plugin-Standardfarben zahlreicher Button-Typen */
    border: 3px solid #eaa603 !important;
}
.woocommerce .button:hover, .woocommerce a.button:hover, .woocommerce a.button:disabled:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover, .woocommerce button.button:hover,
.woocommerce #review_form #respond .form-submit input:hover, .woocommerce input.button:hover,
.woocommerce div.product form.cart .button:hover, .woocommerce button.button:disabled:hover,
.woocommerce button.button:disabled[disabled]:hover, input.mailpoet_submit:hover, input[type="submit"]:hover,
a.atomion-edit-address-button:hover, .woocommerce-MyAccount-content button.button:hover, .woocommerce button.button.alt:hover,
.woocommerce .widget_product_search button:hover, .atomion-account .button:hover,
#content .hero-slider-content a.atomion-button-filled:hover, #content .woocommerce .button:hover,
#content .content-box-content a.outline:hover, .wp-block-button .wp-block-button__link:hover,
.wgm-second-checkout input#place_order:hover, [class^="wp-block-atomion-block-content-box"] .atomion-button-filled:hover,
.woocommerce .woocommerce-widget-layered-nav-dropdown__submit:hover, .cc_content_blocker .button:hover,
.wp-block-woocommerce-product-categories .wc-block-product-categories__button:hover, .wc-block-cart__submit-button:hover,
.wc-block-components-totals-coupon__button:hover, .wc-block-components-checkout-place-order-button:hover,
.wp-block-woocommerce-cart-cross-sells-block .cross-sells-product .add_to_cart_button:focus,
.woocommerce .button:focus, .woocommerce a.button:focus, .woocommerce a.button:disabled:focus,
.woocommerce .wc-proceed-to-checkout a.checkout-button:focus, .woocommerce button.button:focus,
.woocommerce #review_form #respond .form-submit input:focus, .woocommerce input.button:focus,
.woocommerce div.product form.cart .button:focus, .woocommerce button.button:disabled:focus,
.woocommerce button.button:disabled[disabled]:focus, input.mailpoet_submit:focus, input[type="submit"]:focus,
a.atomion-edit-address-button:focus, .woocommerce-MyAccount-content button.button:focus, .woocommerce button.button.alt:focus,
.woocommerce .widget_product_search button:focus, .atomion-account .button:focus,
#content .hero-slider-content a.atomion-button-filled:focus, #content .woocommerce .button:focus,
#content .content-box-content a.outline:focus, .wp-block-button .wp-block-button__link:focus,
.wgm-second-checkout input#place_order:focus, [class^="wp-block-atomion-block-content-box"] .atomion-button-filled:focus,
.woocommerce .woocommerce-widget-layered-nav-dropdown__submit:focus, .cc_content_blocker .button:focus,
.wp-block-woocommerce-product-categories .wc-block-product-categories__button:focus, .wc-block-cart__submit-button:focus,
.wc-block-components-totals-coupon__button:focus, .wc-block-components-checkout-place-order-button:focus,
.wp-block-woocommerce-cart-cross-sells-block .cross-sells-product .add_to_cart_button:focus, #metaslider-id-12740 .caption a.ms-custom-button:hover, #metaslider-id-12740 .caption a.ms-custom-button:focus {
    color: #eaa603 !important;
    border: 3px solid #eaa603 !important;
    background: transparent !important;
}

ul.products li.product .button:not(.add_to_cart_button):not(.product_type_external),
.woocommerce .up-sells ul.products li.product .button:not(.add_to_cart_button):not(.product_type_external),
.woocommerce .cross-sells ul.products li.product .button:not(.add_to_cart_button):not(.product_type_external) {
    margin: 0 !important; /* überschreibt WooCommerce-Standardabstand */
}
.woocommerce ul.products li.product .button {
    margin-top: 0 !important;
}

a.versandkosten {
    color: #006794 !important; /* überschreibt allgemeine Link-Farbe */
}
a.versandkosten:hover {
    color: #eaa603 !important;
}

// DON'T hide it! Legal information!
.woocommerce-de_price_taxrate,
.tax-and-shipping-customized,
.woocommerce_de_versandkosten {
   // display: none !important;
}

/* --- Shop / Produktübersicht --- */

.woocommerce ul.products li.product .product-image-wrapper a:not(.atomion-product-image),
#content .woocommerce ul.products li.product .product-image-wrapper a:not(.atomion-product-image) {
    font-weight: 600;
    background: #eaa603;
}
.product-image-wrapper .atomion-product-lupe i {
    color: #354459;
}
.product-image-wrapper img {
    transform: scale(1);
    transition: opacity 0.35s, transform 1.5s;
}
.product-image-wrapper:hover img, .product-image-wrapper:focus img {
    opacity: .5;
    transform: scale(1.15);
    background-color: #fed77b;
    mix-blend-mode: multiply;
}
.woocommerce li.product .site-product-meta h2 {
    hyphens: none;
}
.woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h3 {
    font-size: clamp(1.0625rem, 1rem + 0.3vw, 1.25rem);
}

/* Produkttitel im Query-Loop-Block */
.edit-post-visual-editor .editor-block-list__block .wc-block-grid__product-title,
.editor-styles-wrapper .wc-block-grid__product-title,
.wc-block-grid__product-title {
    color: #354459 !important; /* überschreibt Block-Editor-Inline-Style */
    font-size: clamp(1rem, 0.95rem + 0.3vw, 1.1875rem) !important;
}

/* --- Produktseite --- */

.woocommerce #content div.product div.summary, .woocommerce div.product div.summary,
.woocommerce-page #content div.product div.summary, .woocommerce-page div.product div.summary {
    text-align: center;
}
.woocommerce div.product .product_title {
    font-size: clamp(1.5rem, 1.25rem + 1.5vw, 2rem);
    line-height: 1.5;
    border-bottom: 0;
    margin-bottom: 1rem;
}
.woocommerce-product-details__short-description {
    margin-bottom: -0.5em;
}

/* Einfache Produkte */
.woocommerce div.product form.cart:not(.variations_form) {
    margin-bottom: 0;
    padding: 1.5em 0.8em;
    border: #97d5e2 1px solid;
    border-left: 0;
    border-right: 0;
    display: flex;
    justify-content: center;
}
/* Variable Produkte */
.woocommerce div.product form.cart.variations_form {
    margin-bottom: 0;
    padding: 1.5em 0.8em;
    border: #97d5e2 1px solid;
    border-left: 0;
    border-right: 0;
    display: block;
}
.woocommerce div.product form.cart .variations {
    margin-bottom: 0;
}
.woocommerce div.product form.cart .variations td, .woocommerce div.product form.cart .variations th {
    vertical-align: unset;
    padding: 0 8px 0 8px;
}

/* Menge + Warenkorb-Button bei Variationsprodukten als zentrierte Gruppe */
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 2px;
    width: 100%;
}
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart div.quantity {
    margin: 0;
    float: none;
}
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart button.single_add_to_cart_button {
    margin: 0;
    float: none;
}
.woocommerce div.product form.cart .button {
    background-color: #eaa603 !important;
    border: 3px solid #eaa603 !important;
}
.woocommerce div.product form.cart .button:hover, .woocommerce div.product form.cart .button:focus {
    background: transparent !important;
    color: #eaa603 !important;
    border: 3px solid #eaa603 !important;
}

.product_meta {
    border-top: 0;
}

.woocommerce div.product p.price, 
.woocommerce div.product span.price {
    color: #f27269;
}
.woocommerce div.product p.price {
    margin-bottom: 0em;
    padding: .5em 0em 0em 0em;
    border-top: #97d5e2 1px solid;
    display: flex;
    justify-content: center;
}
.woocommerce div.product p.price del {
	text-decoration-color: #eaa603;
}
.single-product section.products p.price del {
	font-size: 1.2rem;
	text-decoration-thickness: 2px;
}


/* Produktgalerie */
.woocommerce div.product div.images img,
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper .zoomImg {
    width: 100% !important; /* überschreibt von JS gesetzte Inline-Breite/-Höhe der Galerie */
    height: auto !important;
}
.woocommerce div.product div.images .flex-control-thumbs li {
    width: 20% !important; /* überschreibt WooCommerce-Standardbreite (25%), 5 statt 4 Thumbnails pro Reihe */
}
.woocommerce div.product .woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n+1) {
    clear: none;
}

.product-page-sections .section-headding {
    color: #eaa603 !important; /* überschreibt Theme-Standardfarbe */
}
.product-page-sections .headline-wrapper {
    text-align: center;
}
.product-page-sections .headline-wrapper:after {
    background: #eaa603;
}

/* --- Ähnliche Produkte & Zusatzverkäufe --- */

section.up-sells:before, section.related:before {
    background: #97d5e2;
}
section.up-sells h2, .cross-sells > h2, .woocommerce .related.products h2 {
    font-size: clamp(1rem, 0.9rem + 0.6vw, 1.2rem);
}
.related .site-product-meta p.price,
.up-sells .site-product-meta p.price,
.cross-sells .site-product-meta p.price {
    padding: 0 !important;
    border-top: none !important;
}
.related .woocommerce-loop-product__title::after,
.up-sells .woocommerce-loop-product__title::after,
.cross-sells .woocommerce-loop-product__title::after {
    display: none !important;
}

/* --- Warenkorb --- */

.woocommerce-cart table.cart td.actions .coupon .input-text {
    border-color: #97d5e2;
    background-color: #ffffff;
}
.woocommerce-cart .woocommerce-cart-form .quantity .qty {
    background-color: #ffffff;
}
.woocommerce-cart .woocommerce-cart-form .quantity {
    border: none;
}
.woocommerce-cart table.cart th {
    color: #f27269;
    letter-spacing: 0.05rem;
}
.woocommerce table.shop_table td {
    border-top: 1px solid #97d5e2;
}
.cart_totals h2 {
    font-weight: 600;
}

/* --- Kasse --- */

#add_payment_method #payment ul.payment_methods, .woocommerce-cart #payment ul.payment_methods, .woocommerce-checkout #payment ul.payment_methods {
    border-bottom: 1px solid #97d5e2;
}
.woocommerce-checkout main h3:not(.wc-block-components-product-name) {
    font-weight: 600;
    margin-bottom: 0px;
}
.select2-container--default .select2-selection--single {
    border: 3px solid #c6e5eb;
}
#add_payment_method #payment div.payment_box, .woocommerce-cart #payment div.payment_box, .woocommerce-checkout #payment div.payment_box {
    background: #fbf6e0;
}
.woocommerce table.shop_table tbody th, .woocommerce table.shop_table tfoot td, .woocommerce table.shop_table tfoot th {
    border-top: 1px solid #354459;
}
.woocommerce table.shop_table tfoot td, .woocommerce table.shop_table tfoot td span {
    font-weight: 600 !important;
}
.product-subtotal .product-tax .amount, .product-total .product-tax .amount, .wgm-tax, .wgm-tax .amount {
    font-weight: 400 !important;
    color: #354459 !important;
}
h3#order_review_heading {
    color: #f27269;
}
.woocommerce-checkout table.shop_table {
    border-bottom: 1px solid #354459;
}
.order-total {
    background: #fbf6e075;
}
.woocommerce ul#shipping_method li input {
    vertical-align: text-top;
}
.woocommerce form .form-row .required {
    color: #f27269;
}
.checkout-focus-label {
    color: #006794 !important;
}

/* PP Buttons */
.ppc-button-wrapper { 
	margin-bottom: 2rem;
}

/* Formularfelder in Warenkorb & Kasse (weißer Hintergrund statt Basisstil) */
input[type="text"], input[type="tel"], input[type="email"], input[type="url"], input[type="number"], input[type="date"], input[type="search"], input[type="password"], textarea {
    border: 3px solid #c6e5eb !important;
    background-color: #ffffff;
}

/* Hinweisboxen (Fehler, Info, Erfolg) */
.woocommerce-error, .woocommerce-info, .woocommerce-message {
    background-color: #fbf6e0;
}
.woocommerce-info a, .woocommerce-info:before {
    color: #eaa603 !important;
}

/* ============================================================
   8. FOOTER
   ============================================================ */

.widgettitle {
    border-bottom: 1px solid #f27269;
    color: #f27269 !important; /* überschreibt WooCommerce-Widget-Standardfarbe */
    font-size: clamp(1.0625rem, 1rem + 0.3vw, 1.1875rem);
    margin-bottom: 10px !important;
    padding-bottom: 16px !important;
}
footer .widget-title:after {
    display: none;
}

.product-title {
    font-family: "HalisR-Bold", sans-serif !important;
    text-transform: uppercase;
    letter-spacing: 0.2em !important;
    color: #354459 !important;
}
.product_list_widget li {
    padding: 16px 0 !important; /* überschreibt WooCommerce-Standardabstand */
    line-height: 1.5 !important;
    border-bottom: 1px solid #eaa603;
}
.product_list_widget li a {
    font-family: "HalisR-Bold", sans-serif !important;
    font-weight: 700;
}

footer .widget_products .product_list_widget li del {
	text-decoration-color: #eaa603;
}
footer .widget_products .product_list_widget li del .woocommerce-Price-amount,
footer .widget_products .product_list_widget li del .woocommerce-Price-currencySymbol {
	font-size: 1rem !important;
}


#footer-top ul li {
    padding: 16px 0 !important; /* überschreibt Theme-Standardabstand */
    line-height: 1.5 !important;
    border-bottom: 1px solid #eaa603;
}
#footer-top ul li a {
    font-family: "HalisR-Bold", sans-serif !important;
    text-transform: uppercase;
    letter-spacing: 0.2em !important;
    color: #eaa603 !important;
}
#footer-top ul li a.versandkosten { 
	text-transform: none; 
	letter-spacing: 0.05em !important; 
}
#footer-action-bar .inner, #main-footer .inner, #footer-top .inner {
    padding-top: 3rem;
}

#footer-action-bar .inner, #main-footer .inner, #footer-top .inner, .page-template-page-blank #content .row {
    max-width: 1600px !important;
}

/* Footer-Top: Produktspalten (Meistverkauft/Angebote) 4 -> 2 Spalten */
@media (max-width: 1350px) {
    #footer-top .wp-block-columns.is-layout-flex.wp-block-columns.is-layout-flex {
        display: grid !important; /* Atomion setzt display: flex !important, daher hier ebenfalls !important nötig */
        grid-template-columns: repeat(2, 1fr);
        gap: var(--rg-gap);
    }
    #footer-top .wp-block-columns.is-layout-flex.wp-block-columns.is-layout-flex > .wp-block-column {
        width: auto !important; /* neutralisiert Gutenbergs inline gesetzte flex-basis-Werte */
    }
}

#footer-bottom ul li a, #footer-bottom span {
    font-weight: 600;
    letter-spacing: 0.2em;
}

#footer-action-bar {
    display: none !important;
}

/* "Nach oben"-Leiste */
#footer-action-bar {
    background: #eaa603 !important;
    border-top: none;
    border-bottom: none;
}
#footer-action-bar a, #footer-action-bar button.back-to-top-button {
    color: #ffffff;
}

/* Widerrufs-Button (per WPCode-JS in #footer-bottom .inner verschoben) */
.german-market-withdrawal-button.button.wp-element-button {
    display: inline-block !important;
    padding: 0.5em 1em !important;
    border: 3px solid #006794 !important;
    background-color: #006794 !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.03em !important;
    font-size: clamp(0.8125rem, 0.78rem + 0.15vw, 0.9rem);
}
.german-market-withdrawal-button.button.wp-element-button:hover {
    background-color: transparent !important;
    color: #006794 !important;
    border: 3px solid #006794 !important;
}