/*
Theme Name: slowUp Sundgau — Nouvelle édition
Theme URI: https://www.slowup-sundgau.fr/
Author: Groupe Larger Communication
Description: Thème indépendant rouge, vert et blanc, avec accueil vidéo et templates compatibles avec les pages existantes.
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: slowup
License: GNU General Public License v2 or later

SOMMAIRE
01. Variables et base
02. Navigation et logo
03. Accueil et vidéo
04. Présentation, concept et boutique
05. Partenaires
06. Templates des pages intérieures
07. Formulaires, tableaux et commandes
08. Galerie et médias
09. Pied de page
10. Accessibilité et adaptation aux écrans
11. Impression et documents de commande
*/

/* 01. VARIABLES ET BASE ---------------------------------------------------- */
:root {
    --su-green: #8ec63f;
    --su-green-text: var(--su-green);
    --su-red: #ed1235;
    --su-red-dark: #c90828;
    --su-ink: #202437;
    --su-muted: #53586a;
    --su-line: #e5e8df;
    --su-tint: #f4f8ed;
    --su-radius: 24px;
    --su-organic-radius: 16% / 22%;
    --su-width: 1380px;
    --su-header-logo-size: clamp(104px, 9vw, 160px);
    --su-header-logo-gap: 22px;
    --su-section: clamp(32px, 3.75vw, 68px);
    --su-gutter: clamp(11px, 2.5vw, 44px);
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 40px;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
    background: #fff;
    color: var(--su-ink);
    font-family: "Montserrat", Arial, sans-serif;
    font-size: clamp(15px, 1.05vw, 18px);
    line-height: 1.8;
}

button,
input,
select,
textarea {
    font: inherit;
}

button,
a,
input,
summary {
    -webkit-tap-highlight-color: transparent;
}

a {
    color: var(--su-green-text);
    text-underline-offset: 4px;
    text-decoration-thickness: 1px;
}

a:hover {
    color: var(--su-red-dark);
}

p {
    margin: 0 0 0.625em;
}

p:last-child {
    margin-bottom: 0;
}

h1,
h2,
h3,
h4 {
    margin: 0 0 0.325em;
    line-height: 1.16;
    font-weight: 800;
    letter-spacing: -0.045em;
    overflow-wrap: break-word;
}

h1 {
    font-size: clamp(34px, 3.8vw, 62px);
}

h2 {
    font-size: clamp(29px, 3.25vw, 52px);
}

h3 {
    font-size: clamp(22px, 2vw, 30px);
}

h4 {
    font-size: 20px;
}

strong {
    font-weight: 700;
}

img,
video {
    max-width: 100%;
    height: auto;
}

img {
    vertical-align: middle;
}

figure {
    margin: 0;
}

iframe {
    max-width: 100%;
    border: 0;
}

ul,
ol {
    padding-left: 0.675em;
}

li + li {
    margin-top: 0.175em;
}

[hidden] {
    display: none !important;
}

.su-container,
.container {
    width: min(calc(100% - var(--su-gutter) * 2), var(--su-width));
    margin-inline: auto;
}

.su-section {
    padding-block: var(--su-section);
}

.slowup-site {
    position: relative;
}

.su-kicker,
[class$="-kicker"] {
    margin-bottom: 0.35em;
    color: var(--su-green-text);
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.06em;
}

.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.screen-reader-text:focus {
    top: 12px;
    left: 12px;
    z-index: 10001;
    width: auto;
    height: auto;
    padding: 6px 11px;
    clip: auto;
    color: var(--su-ink);
    background: #fff;
}

:focus-visible {
    outline: 3px solid var(--su-red);
    outline-offset: 5px;
}

/* 02. NAVIGATION ET LOGO --------------------------------------------------- */
.su-header {
    --su-header-padding: 14px;
    position: relative;
    z-index: 50;
    padding-block: var(--su-header-padding);
    border-bottom: 1px solid var(--su-line);
    background: #fff;
}

.su-header-overlay {
    position: absolute;
    inset: 0 0 auto;
    color: #fff;
    background: linear-gradient(180deg, rgb(0 0 0 / 42%), transparent);
    border-bottom: 1px solid rgb(255 255 255 / 40%);
}

.home .su-header {
    border-bottom: 0;
}

.su-header-inner {
    position: relative;
    display: flex;
    padding-right: calc(var(--su-header-logo-size) + var(--su-header-logo-gap));
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--su-header-logo-gap);
}

.su-header-logo {
    position: absolute;
    top: calc(100% + var(--su-header-padding) - var(--su-header-logo-size) / 2 + 10px);
    right: 0;
    z-index: 2;
    display: block;
    width: var(--su-header-logo-size);
    box-shadow: 0 4px 16px rgb(0 0 0 / 18%);
}

.su-header-logo img {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    height: auto;
}

.su-navigation {
    flex: 1 1 auto;
    padding-block: 6px;
    min-width: 0;
}

.su-menu,
.su-submenu {
    margin: 0;
    padding: 0;
    list-style: none;
}

.su-menu {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: calc(clamp(8px, 1vw, 17px) + 10px);
    row-gap: 6.5px;
}

.su-menu-item {
    display: flex;
    position: relative;
    align-items: center;
    margin: 0;
    line-height: 1.5;
}

.su-menu-item > a {
    display: block;
    position: relative;
    padding-block: 5px;
    color: inherit;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: color 160ms ease;
}

.su-menu > .su-menu-item > a::after {
    position: absolute;
    inset: auto 0 0;
    display: block;
    height: 3px;
    background: var(--su-green);
    content: "";
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 180ms ease;
}

.su-menu > .su-menu-item:hover > a::after,
.su-menu > .su-menu-item.is-current > a::after {
    transform: scaleX(1);
}

.su-submenu-toggle {
    display: inline-grid;
    place-items: center;
    width: 24px;
    min-height: 44px;
    margin: 0 0 0 2px;
    padding: 0;
    color: inherit;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.su-submenu-toggle > span {
    width: 7px;
    height: 7px;
    margin-top: -4px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
}

.su-submenu {
    display: none;
    position: absolute;
    top: calc(100% + 2px);
    left: -20px;
    z-index: 55;
    width: max-content;
    min-width: 240px;
    max-width: min(660px, calc(100vw - 44px));
    padding: 9px;
    color: var(--su-ink);
    border: 1px solid var(--su-line);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 12px 40px rgb(32 36 55 / 12%);
}

.su-submenu::before {
    position: absolute;
    inset: -5px 0 auto;
    height: 5px;
    content: "";
}

.su-submenu .su-menu-item + .su-menu-item {
    margin-top: 5px;
}

.su-submenu .su-menu-item {
    break-inside: avoid;
}

.su-submenu .su-menu-item > a {
    width: 100%;
    padding: 5px 7px;
    border-radius: 8px;
    font-size: 13px;
    white-space: nowrap;
}

.su-submenu .su-menu-item > a:hover,
.su-submenu .is-current > a {
    color: var(--su-green-text);
    background: var(--su-tint);
}

.su-menu-item:hover > .su-submenu,
.su-menu-item:focus-within > .su-submenu,
.su-menu-item.is-open > .su-submenu {
    display: block;
}

.su-menu > .su-menu-item:nth-child(3) > .su-submenu {
    column-count: 2;
}

.su-menu-toggle,
.su-menu-close {
    display: none;
}

/* 03. ACCUEIL ET VIDÉO ----------------------------------------------------- */
.su-home {
    overflow: clip;
}

.su-hero {
    position: relative;
    display: grid;
    align-items: center;
    min-height: 640px;
    aspect-ratio: 1920 / 800;
    color: #fff;
    isolation: isolate;
    background: var(--su-ink);
}

.su-hero-media,
.su-hero-media::after,
.su-hero-video,
.su-video-poster {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.su-hero-media {
    z-index: -1;
}

.su-hero-media::after {
    z-index: 2;
    content: "";
    background: linear-gradient(90deg, rgb(9 13 21 / 64%), rgb(9 13 21 / 12%) 80%);
}

.su-hero-video,
.su-video-poster {
    object-fit: cover;
    object-position: center;
}

.su-hero-video {
    opacity: 0;
    transition: opacity 500ms ease;
}

.su-hero-video.is-playing {
    opacity: 1;
}

.su-hero-content {
    padding-block: 80px;
}

.su-hero-panel {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    width: min(100%, 690px);
}

.su-hero-wordmark {
    width: max-content;
    font-size: clamp(56px, 6vw, 100px);
    font-weight: 800;
    font-style: normal;
    line-height: 0.95;
    letter-spacing: -0.04em;
}

.su-hero-wordmark span {
    display: block;
    margin-top: 4px;
    font-size: 0.43em;
    font-style: normal;
    letter-spacing: -0.04em;
}

.su-edition {
    display: table;
    margin: 11px 0 15px;
    padding: 2.5px 9px;
    border-radius: 9px;
    background: var(--su-green);
    font-size: clamp(14px, 1.55vw, 24px);
    font-weight: 700;
    transform: rotate(-2deg);
}

.su-hero-date {
    margin: 0 0 5px;
    font-family: "Antonio", "Arial Narrow", Arial, sans-serif;
    font-size: clamp(44px, 4.8vw, 82px);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.03em;
}

.su-hero-time {
    font-size: clamp(18px, 2.3vw, 34px);
    font-weight: 700;
    line-height: 1.3;
}

.su-hero-panel > * {
    margin-block: 0;
}

/* 04. PRÉSENTATION, CONCEPT ET BOUTIQUE ------------------------------------ */
.su-welcome {
    padding-bottom: calc(var(--su-section) * 0.7);
}

.su-welcome-grid,
.su-concept-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: clamp(21px, 3.5vw, 55px);
}

.su-welcome h1 {
    margin-bottom: 17.5px;
    font-size: clamp(30px, 3.3vw, 54px);
}

.su-welcome h1 span,
.su-fact h2 span,
.su-concept h2 span {
    color: var(--su-green-text);
}

.su-organic-photo {
    position: relative;
    aspect-ratio: 1.15;
}

.su-organic-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--su-organic-radius);
}

.su-facts-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 27.5px;
    margin-top: clamp(30px, 3vw, 50px);
}

.su-fact {
    display: grid;
    grid-template-columns: 78px 1fr;
    gap: 12.5px;
}

.su-fact + .su-fact {
    padding-left: 22.5px;
    border-left: 1px solid var(--su-line);
}

.su-fact-icon {
    display: grid;
    place-items: center;
    width: 78px;
    height: 78px;
    color: var(--su-green-text);
    border-radius: 50%;
    background: var(--su-tint);
    font-size: 34px;
}

.su-fact h2 {
    font-size: clamp(20px, 1.65vw, 27px);
    letter-spacing: -0.035em;
    line-height: 1.3;
}

.su-fact p {
    font-size: 15px;
}

.su-concept {
    padding-top: calc(var(--su-section) * 0.55);
}

.su-concept h2 {
    margin-bottom: 17.5px;
    color: var(--su-red);
    font-size: clamp(34px, 3.8vw, 62px);
}

/* Fil Facebook intégré sous la présentation du concept. */
.su-facebook {
    background: var(--su-tint);
}

.su-facebook-grid {
    display: grid;
    grid-template-columns: minmax(0, 500px) minmax(0, 1fr);
    align-items: center;
    gap: clamp(24px, 4vw, 64px);
}

.su-facebook-left {
    min-width: 0;
}

.su-facebook-illustration {
    display: grid;
    place-items: center;
    min-width: 0;
}

.su-facebook-illustration img {
    display: block;
    width: 100%;
    max-width: 480px;
    height: auto;
    max-height: 680px;
    object-fit: contain;
}

.su-facebook-heading h2 {
    margin-bottom: 24px;
    font-size: clamp(18px, 2.1vw, 30px);
    white-space: nowrap;
    color: var(--su-red);
}

.su-facebook-heading h2 span {
    color: var(--su-green);
}

.su-facebook-feed {
    width: 100%;
    max-width: 500px;
    min-height: 600px;
    background: #fff;
}

.su-facebook-frame {
    display: block;
    width: 100%;
    height: 600px;
    border: 0;
}

@media (max-width: 800px) {
    .su-facebook-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .su-facebook-illustration img {
        max-height: 420px;
    }
}

.su-shop-section {
    position: relative;
    padding-block: 45px;
    color: #fff;
    background: var(--su-green);
    border-radius: 0;
}

.su-shop-grid {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    align-items: center;
    gap: 35px;
}

.su-shop-kicker {
    margin: 0 0 7.5px;
    color: #fff;
    font-size: clamp(30px, 3.2vw, 50px);
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1.15;
}

.su-shop-grid h2 {
    font-size: clamp(23px, 2.2vw, 34px);
}

.su-shop-grid p:not(.su-shop-kicker) {
    max-width: 550px;
}

.su-shop-image {
    width: 100%;
    height: 340px;
    object-fit: contain;
}

.su-button,
[class$="-button"],
.slowup-gallery-switch-button,
.wp-block-button__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    min-height: 52px;
    padding: 7px 13px;
    color: #fff;
    border: 0;
    border-radius: 12px;
    background: var(--su-red);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

.su-button:hover,
[class$="-button"]:hover,
.wp-block-button__link:hover {
    color: #fff;
    background: var(--su-red-dark);
}

.su-button-white {
    margin-top: 6px;
    color: var(--su-red-dark);
    background: #fff;
}

.su-button-white:hover {
    color: var(--su-ink);
    background: var(--su-tint);
}

.su-button span {
    font-size: 26px;
    line-height: 1;
}

/* 05. PARTENAIRES ---------------------------------------------------------- */
.su-partners {
    padding-bottom: 47.5px;
}

.su-partners-heading {
    margin-bottom: 25px;
}

.su-partners-heading h2 {
    color: var(--su-red);
}

.su-partners-heading > p:last-child {
    max-width: 790px;
}

.su-partner-row {
    position: relative;
    overflow: hidden;
    padding-block: 7px;
}

.su-partner-row + .su-partner-row {
    margin-top: 10px;
}

.su-partner-track,
.su-partner-group {
    display: flex;
    align-items: center;
    width: max-content;
}

.su-partner-track {
    animation: su-marquee 150s linear infinite;
}

.su-partner-group {
    gap: 17px;
    padding-right: 17px;
}

.is-reversed .su-partner-track {
    animation-direction: reverse;
    animation-duration: 170s;
}

.su-partner-row:hover .su-partner-track,
.su-partner-row:focus-within .su-partner-track {
    animation-play-state: paused;
}

.su-partner-card {
    display: grid;
    place-items: center;
    flex: 0 0 clamp(240px, 22vw, 360px);
    width: clamp(240px, 22vw, 360px);
    height: clamp(160px, 14vw, 230px);
    background: #fff;
}

.su-partner-card img {
    width: clamp(240px, 22vw, 360px);
    height: clamp(160px, 14vw, 230px);
    padding: 6px;
    object-fit: contain;
}

@keyframes su-marquee {
    to {
        transform: translateX(-50%);
    }
}

/* 06. TEMPLATES DES PAGES INTÉRIEURES -------------------------------------- */
.slowup-red-bg,
.slowup-white-bg {
    display: none;
}

.slowup-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.25fr);
    align-items: start;
    gap: clamp(22.5px, 3vw, 50px);
    width: min(calc(100% - var(--su-gutter) * 2), var(--su-width));
    margin: 0 auto;
    padding-block: var(--su-section);
    min-height: 65vh;
}

.slowup-layout > section {
    min-width: 0;
}

.slowup-layout h1 {
    color: var(--su-red);
    margin-bottom: 16px;
}

.slowup-layout h1 span {
    display: block;
}

.slowup-layout h1 span:last-child,
.slowup-layout .green {
    color: var(--su-green-text);
}

.slowup-layout h2 {
    margin-top: 0.65em;
    font-size: clamp(25px, 2.5vw, 38px);
}

.slowup-layout h2:first-child {
    margin-top: 0;
}

.slowup-layout [class$="-intro"],
.slowup-layout [class$="-intro-text"] {
    color: var(--su-muted);
}

.slowup-layout [class$="-note"],
.slowup-layout [class$="-highlight"],
.slowup-alert-box,
.slowup-acces-keypoints,
.slowup-reservations-info-list {
    margin-top: 15px;
    padding: 14px;
    border-left: 4px solid var(--su-green);
    border-radius: 0 18px 18px 0;
    background: var(--su-tint);
    font-size: 15px;
}

.slowup-layout [class$="-highlight"] strong,
.slowup-layout [class$="-highlight"] span,
.slowup-acces-keypoint span,
.slowup-acces-keypoint strong,
.slowup-reservations-info-item > span,
.slowup-reservations-info-item > strong {
    display: block;
}

.slowup-acces-keypoint + .slowup-acces-keypoint,
.slowup-reservations-info-item + .slowup-reservations-info-item {
    margin-top: 11px;
}

.slowup-info-block {
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: 1px solid var(--su-line);
}

.slowup-parking-grid,
.slowup-gastronomie-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
    margin-block: 15px;
}

.slowup-parking-card,
.slowup-gastronomie-card,
.slowup-location-velos-card {
    padding: 14px;
    border: 1px solid var(--su-line);
    border-radius: var(--su-radius);
    background: #fff;
}

.slowup-parking-card h3,
.slowup-location-velos-card h3 {
    color: var(--su-red);
    font-size: 25px;
}

.slowup-parking-card ul {
    margin-bottom: 0;
    font-size: 14px;
}

.slowup-gastronomie-header[data-section="restauration"] {
    margin-top: 26px;
}

.slowup-gastronomie-card p {
    font-size: 15px;
}

.slowup-gastronomie-card strong {
    display: inline-block;
    margin-bottom: 4px;
    color: var(--su-red-dark);
}

/* Places festives : template animations-restauration partagé par les communes. */
.su-festive-template {
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.25fr);
    gap: clamp(22.5px, 3vw, 50px);
}

.su-festive-template .slowup-gastronomie-left-inner {
    max-width: 540px;
}

.su-festive-template .slowup-gastronomie-kicker {
    display: inline-block;
    margin-bottom: 14px;
    padding: 6px 14px;
    color: #fff;
    border-radius: 30px;
    background: var(--su-green);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.su-festive-template .slowup-gastronomie-title {
    margin-bottom: 20px;
    font-size: clamp(36px, 4.5vw, 64px);
    line-height: 1.1;
    overflow-wrap: anywhere;
}

.su-festive-template .slowup-gastronomie-intro {
    max-width: 840px;
    margin-bottom: 0;
    font-size: clamp(16px, 1.5vw, 19px);
    line-height: 1.8;
}

.su-festive-template .su-fluid-image {
    width: auto;
    max-width: 100%;
    max-height: 520px;
    margin-top: 24px;
    object-fit: contain;
    border-radius: 12px;
}

.su-festive-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 28px;
}

.su-festive-program {
    min-width: 0;
    padding: clamp(20px, 2.4vw, 32px);
    border-top: 5px solid var(--su-red);
    border-radius: 0 0 20px 20px;
    background: #fff6f7;
}

.su-festive-food {
    border-top-color: var(--su-green);
    background: #f5faed;
}

.su-festive-template .slowup-gastronomie-header,
.su-festive-template .slowup-gastronomie-header[data-section="restauration"] {
    margin: 0 0 24px;
}

.su-festive-template .slowup-gastronomie-section-kicker {
    margin-bottom: 10px;
    color: var(--su-ink);
    font-size: 14px;
    font-weight: 700;
}

.su-festive-template .slowup-gastronomie-header h2 {
    margin: 0;
    color: var(--su-red);
    font-size: clamp(28px, 3vw, 38px);
}

.su-festive-food .slowup-gastronomie-header h2 {
    color: var(--su-ink);
}

.su-festive-template .slowup-gastronomie-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    margin: 0;
}

.su-festive-template .slowup-gastronomie-card {
    padding: 20px;
    border: 1px solid rgb(32 36 55 / 7%);
    border-radius: 12px;
    box-shadow: 0 3px 12px rgb(32 36 55 / 3%);
}

.su-festive-template .slowup-gastronomie-card p {
    margin: 0;
    font-size: 15px;
    line-height: 1.75;
    overflow-wrap: anywhere;
}

.su-festive-template .slowup-gastronomie-card strong {
    margin-bottom: 6px;
    color: var(--su-ink);
    font-size: 17px;
    line-height: 1.4;
}

.su-festive-template .slowup-gastronomie-note {
    grid-column: 1 / -1;
    margin: 0;
    padding: 20px 24px;
    border-left: 4px solid var(--su-green);
    border-radius: 0 12px 12px 0;
    background: var(--su-tint);
}

.su-festive-template .slowup-gastronomie-note p {
    margin: 6px 0 0;
}

@media (min-width: 1101px) {
    .su-festive-template .slowup-gastronomie-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 800px) {
    .su-festive-content {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }

    .su-festive-template {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }

    .su-festive-template .slowup-gastronomie-left-inner {
        max-width: none;
    }
}

.slowup-layout :is(.illu_acces, .slowup-faq-image, .slowup-parcours-cyclist) {
    display: block;
    width: 85%;
    max-height: 430px;
    margin: 20px auto 0;
    object-fit: contain;
}

.slowup-faq-list {
    display: grid;
    gap: 8px;
}

.slowup-faq-item {
    overflow: hidden;
    border: 1px solid var(--su-line);
    border-radius: 18px;
    background: #fff;
}

.slowup-faq-item summary {
    position: relative;
    padding: 11px 27.5px 11px 12.5px;
    font-weight: 700;
    line-height: 1.6;
    cursor: pointer;
    list-style: none;
}

.slowup-faq-item summary::-webkit-details-marker {
    display: none;
}

.slowup-faq-item summary::after {
    position: absolute;
    right: 24px;
    top: 19px;
    color: var(--su-red);
    font-size: 27px;
    font-weight: 500;
    content: "+";
}

.slowup-faq-item[open] summary {
    color: var(--su-green-text);
    background: var(--su-tint);
}

.slowup-faq-item[open] summary::after {
    content: "−";
}

.slowup-faq-answer {
    padding: 12px 12.5px 15px;
    font-size: 15px;
}

.slowup-contact-character {
    display: block;
    max-height: 520px;
    width: 100%;
    object-fit: contain;
}

.slowup-social-links {
    display: flex;
    justify-content: center;
    gap: 9px;
    margin-top: 12.5px;
}

.slowup-social-links img {
    width: 42px;
    height: 42px;
    object-fit: contain;
}

.slowup-volunteer-button {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1px;
    margin-top: 15px;
}

.slowup-photo-mosaic {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.slowup-mosaic-img {
    width: 100%;
    aspect-ratio: 1.2;
    object-fit: cover;
    border-radius: 18px;
}

.slowup-mosaic-img-1,
.slowup-mosaic-img-6 {
    grid-column: 1 / -1;
    aspect-ratio: 2;
}

.slowup-photo-credit {
    margin-top: 9px;
    color: var(--su-muted);
    font-size: 12px;
}

.slowup-partenariat-icon {
    width: 75px;
    margin-bottom: 11px;
}

/* Fond des vignettes partenaires sur la page Partenariat uniquement. */
.page-id-158 #jtg-122 .modula-item,
.page-id-158 #jtg-122 .modula-item-content,
.page-id-158 #jtg-122 .modula-item:not(:hover) .modula-item-overlay {
    background-color: #fff;
}

.slowup-partenariat-character {
    max-height: 610px;
    width: 100%;
    object-fit: contain;
}

.slowup-partners-section {
    padding: 15px 0 var(--su-section);
}

.slowup-partners-heading,
.su-gallery-container {
    width: min(calc(100% - var(--su-gutter) * 2), var(--su-width));
    margin: 0 auto 21px;
}

.slowup-partners-heading h2 {
    color: var(--su-red);
}

.slowup-location-velos-grid {
    display: grid;
    gap: 14px;
}

.slowup-location-velos-card-tag {
    color: var(--su-green-text);
    font-weight: 700;
    font-size: 13px;
}

.slowup-location-velos-card-details {
    padding-block: 10px;
    font-size: 15px;
}

.slowup-location-velos-card-details h4 {
    font-size: 18px;
}

.slowup-villages-list {
    columns: 2;
    margin-block: 16px;
    color: var(--su-green-text);
    font-weight: 600;
}

.slowup-mobility-icons {
    display: flex;
    gap: 7.5px;
    margin-block: 14px;
}

.slowup-mobility-icon {
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: var(--su-tint);
}

.slowup-mobility-icon img {
    width: 42px;
    max-height: 42px;
    object-fit: contain;
}

.slowup-parcours-interactif iframe {
    width: 100%;
    min-height: 560px;
    border-radius: var(--su-radius);
}

.button-container {
    margin-top: 14px;
}

.site-main.page-default,
.site-main:not(.slowup-main),
#primary.content-area {
    width: min(calc(100% - var(--su-gutter) * 2), var(--su-width));
    margin-inline: auto;
    padding-block: var(--su-section);
    min-height: 65vh;
}

.site-main.page-default > .container {
    width: 100%;
}

.page-default__title,
.page-title,
.entry-title {
    color: var(--su-red);
}

.page-default__content {
    overflow-wrap: anywhere;
}

.entry-content > * + *,
.page-default__content > * + * {
    margin-top: 0.65em;
}

.entry-content img,
.page-default__content img {
    height: auto;
    border-radius: 14px;
}

.entry-meta,
.entry-footer {
    margin-block: 10px;
    color: var(--su-muted);
    font-size: 14px;
}

.site-main > article + article {
    padding-top: 20px;
    margin-top: 20px;
    border-top: 1px solid var(--su-line);
}

.alignleft {
    float: left;
    margin: 0 12px 8px 0;
}

.alignright {
    float: right;
    margin: 0 0 8px 12px;
}

.aligncenter {
    display: block;
    margin-inline: auto;
}

/* 07. FORMULAIRES, TABLEAUX ET COMMANDES ----------------------------------- */
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="hidden"]),
select,
textarea {
    width: 100%;
    max-width: 100%;
    min-height: 50px;
    padding: 6px 7.5px;
    color: var(--su-ink);
    border: 1px solid #cbd1c1;
    border-radius: 10px;
    background: #fff;
    font-size: 16px;
    line-height: 1.5;
}

textarea {
    min-height: 160px;
    resize: vertical;
}

input[type="checkbox"],
input[type="radio"] {
    accent-color: var(--su-green-text);
    width: 18px;
    height: 18px;
    vertical-align: middle;
}

label {
    font-size: 14px;
    font-weight: 600;
}

.wpcf7-form-control-wrap {
    display: block;
    margin-top: 3.5px;
}

.wpcf7-list-item {
    margin: 0 9px 5px 0;
}

.wpcf7 input[type="submit"],
.form-submit input,
.search-submit,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    min-height: 50px;
    padding: 7px 12px;
    color: #fff;
    border: 0;
    border-radius: 12px;
    background: var(--su-red);
    font-weight: 700;
    cursor: pointer;
}

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
    background: var(--su-red);
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce button.button.alt:hover,
.wpcf7 input[type="submit"]:hover {
    color: #fff;
    background: var(--su-red-dark);
}

.wpcf7-not-valid-tip {
    margin-top: 2.5px;
    color: var(--su-red-dark);
    font-size: 13px;
}

.wpcf7 form .wpcf7-response-output {
    margin: 12px 0 0;
    padding: 8px;
    border-radius: 12px;
    font-size: 14px;
}

.slowup-benevoles-form,
.formulaire_contact {
    padding: clamp(12px, 1.5vw, 22.5px);
    border: 1px solid var(--su-line);
    border-radius: var(--su-radius);
    background: #fbfcf8;
}

table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

th,
td {
    padding: 7px;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid var(--su-line);
}

th {
    background: var(--su-tint);
}

.woocommerce table.shop_table {
    border: 1px solid var(--su-line);
    border-radius: 14px;
}

.woocommerce form .form-row {
    padding: 0;
    margin-bottom: 11px;
}

.woocommerce form .form-row label {
    line-height: 1.8;
    margin-bottom: 3.5px;
}

.woocommerce .quantity .qty {
    width: 80px;
}

.su-woocommerce ul.products li.product {
    padding: 10px;
    border: 1px solid var(--su-line);
    border-radius: var(--su-radius);
}

.su-woocommerce ul.products li.product .woocommerce-loop-product__title {
    color: var(--su-ink);
    font-size: 21px;
}

.su-woocommerce ul.products li.product .price,
.su-woocommerce div.product p.price {
    color: var(--su-green-text);
    font-weight: 700;
}

.woocommerce-info,
.woocommerce-message {
    border-top-color: var(--su-green);
    background: var(--su-tint);
}

.woocommerce-info::before,
.woocommerce-message::before {
    color: var(--su-green-text);
}

.slowup-reservations-products {
    display: grid;
    gap: 14px;
}

.slowup-reservation-product-card {
    display: grid;
    grid-template-columns: 0.7fr 1fr;
    gap: 15px;
    padding: 14px;
    border: 1px solid var(--su-line);
    border-radius: var(--su-radius);
}

.slowup-reservation-product-image {
    display: grid;
    place-items: center;
    min-height: 180px;
}

.slowup-reservation-product-image img {
    max-height: 260px;
    width: 100%;
    object-fit: contain;
}

.slowup-reservation-product-label {
    font-size: 12px;
    color: var(--su-green-text);
    font-weight: 700;
}

.slowup-reservation-product-content h3 {
    color: var(--su-red);
    font-size: 25px;
}

.slowup-reservation-product-content p {
    font-size: 15px;
}

.slowup-shop-suspended {
    margin-bottom: 15px;
    padding: 10px 12.5px;
    color: var(--su-red-dark);
    border-left: 4px solid var(--su-red);
    border-radius: 0 14px 14px 0;
    background: #fff2f4;
}

/* Preserve the existing suspension of collector orders. */
.slowup-reservation-add-form {
    display: none !important;
}

.slowup-reservation-cart-box {
    overflow-x: auto;
}

/* 08. GALERIE ET MÉDIAS ---------------------------------------------------- */
.slowup-photos-section {
    min-height: 65vh;
    padding-block: var(--su-section);
}

.slowup-photos-heading {
    width: min(calc(100% - var(--su-gutter) * 2), 950px);
    margin: 0 auto 25px;
    text-align: center;
}

.slowup-photos-heading h2 {
    color: var(--su-red);
}

.slowup-gallery-credit {
    color: var(--su-muted);
    font-size: 13px;
}

.slowup-gallery-switch {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    margin-bottom: 22.5px;
}

.slowup-gallery-switch-button {
    min-width: 140px;
    color: var(--su-ink);
    background: var(--su-tint);
}

.slowup-gallery-switch-button.is-active {
    color: #fff;
    background: var(--su-red);
}

.slowup-gallery-panel {
    display: none;
}

.slowup-gallery-panel.is-active {
    display: block;
}

.slowup-video-wrapper {
    position: relative;
    aspect-ratio: 16 / 9;
    margin-block: 15px 27.5px;
}

.slowup-video-wrapper iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: var(--su-radius);
}

.modula-gallery img {
    max-width: none;
}

/* 09. PIED DE PAGE --------------------------------------------------------- */
.su-footer {
    padding-block: 27.5px 12.5px;
    color: #fff;
    background: var(--su-red);
}

.su-footer-main {
    display: grid;
    grid-template-columns: 70px 1fr 112px;
    align-items: center;
    gap: 22.5px;
}

.su-footer a {
    color: inherit;
    text-decoration: none;
}

.su-footer a:hover {
    text-decoration: underline;
}

.footer-socials {
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 26px;
}

.footer-socials a {
    display: inline-grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid rgb(255 255 255 / 50%);
    border-radius: 50%;
}

.su-footer .footer-socials a,
.su-footer .footer-socials a:hover,
.su-footer .footer-socials a:focus {
    text-decoration: none;
}

.su-footer-rendezvous > p {
    margin-bottom: 5px;
    font-size: clamp(18px, 1.55vw, 24px);
    font-weight: 800;
    line-height: 1.4;
}

.su-footer-rendezvous > strong {
    display: block;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.9;
}

.footer-logo {
    display: block;
    width: 112px;
    height: 112px;
}

.su-footer-bottom {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 9px 17.5px;
    margin-top: 20px;
    padding-top: 11px;
    border-top: 1px solid rgb(255 255 255 / 35%);
    font-size: 10px;
    line-height: 1.8;
}

.slowup-footer-legal {
    display: flex;
    flex-wrap: wrap;
    gap: 3.5px;
    margin: 0;
}

/* Apparitions progressives : le contenu reste visible sans JavaScript. */
.su-reveal {
    transition: opacity 700ms ease, transform 700ms cubic-bezier(0.2, 0.65, 0.3, 1);
}

.su-reveal.is-reveal-pending {
    opacity: 0;
    transform: translateY(26px);
}

.su-reveal-delay-1 {
    transition-delay: 80ms;
}

.su-reveal-delay-2 {
    transition-delay: 160ms;
}

/* 10. ACCESSIBILITÉ ET ADAPTATION AUX ÉCRANS ------------------------------- */
@media (max-width: 1100px) {
    .su-header-inner {
        --su-header-logo-gap: 12.5px;
    }

    .su-menu {
        column-gap: 19px;
        row-gap: 1.5px;
    }

    .su-menu-item > a {
        font-size: 12px;
    }

    .su-submenu {
        min-width: 200px;
    }

    .su-fact {
        grid-template-columns: 56px 1fr;
        gap: 9px;
    }

    .su-fact-icon {
        width: 56px;
        height: 56px;
        font-size: 26px;
    }

    .su-fact + .su-fact {
        padding-left: 11px;
    }

    .slowup-layout {
        grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
        gap: 20px;
    }

    .slowup-parking-grid,
    .slowup-gastronomie-grid,
    .slowup-reservation-product-card {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 800px) {
    .su-header {
        --su-header-padding: 9px;
    }

    .su-header-inner {
        --su-header-logo-size: 98px;
        align-items: center;
    }

    .su-menu-toggle {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        min-height: 48px;
        padding: 3px 0;
        color: inherit;
        border: 0;
        background: transparent;
        font-weight: 700;
        cursor: pointer;
    }

    .su-burger {
        display: grid;
        gap: 3px;
        width: 28px;
    }

    .su-burger > span {
        height: 2px;
        background: currentColor;
        border-radius: 4px;
    }

    body.su-menu-open {
        position: fixed;
        top: var(--su-menu-scroll-offset, 0px);
        inset-inline: 0;
        width: 100%;
        overflow: hidden;
    }

    .su-menu-open .su-header {
        z-index: 100001;
    }

    .su-navigation {
        display: none;
        position: fixed;
        inset: 0;
        z-index: 4;
        height: 100vh;
        height: 100dvh;
        max-height: none;
        overflow-y: auto;
        overscroll-behavior: contain;
        padding: calc(88px + env(safe-area-inset-top, 0px)) max(24px, env(safe-area-inset-right, 0px)) max(32px, env(safe-area-inset-bottom, 0px)) max(24px, env(safe-area-inset-left, 0px));
        color: var(--su-ink);
        border: 0;
        border-radius: 0;
        background: #fff;
        box-shadow: none;
    }

    .su-menu-close {
        position: fixed;
        top: calc(16px + env(safe-area-inset-top, 0px));
        right: max(16px, env(safe-area-inset-right, 0px));
        z-index: 5;
        display: grid;
        place-items: center;
        width: 48px;
        height: 48px;
        padding: 0;
        color: var(--su-red);
        border: 0;
        border-radius: 50%;
        background: #fff;
        cursor: pointer;
    }

    .su-menu-close span {
        position: relative;
        width: 26px;
        height: 26px;
    }

    .su-menu-close span::before,
    .su-menu-close span::after {
        position: absolute;
        top: 12px;
        left: 0;
        width: 26px;
        height: 2px;
        background: currentColor;
        content: "";
        transform: rotate(45deg);
    }

    .su-menu-close span::after {
        transform: rotate(-45deg);
    }

    .su-navigation.is-open {
        display: block;
    }

    .su-menu {
        display: block;
    }

    .su-menu-item {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .su-menu-item > a {
        flex: 1;
        padding: 12px 6px;
        font-size: 17px;
    }

    .su-menu > .su-menu-item > a::after {
        display: none;
    }

    .su-submenu-toggle {
        width: 44px;
        margin: 0;
    }

    .su-submenu,
    .su-menu > .su-menu-item:nth-child(3) > .su-submenu {
        position: static;
        width: 100%;
        min-width: 0;
        max-width: none;
        margin: 5px 0 4px;
        padding: 2.5px 5px;
        border: 0;
        border-radius: 10px;
        background: var(--su-tint);
        column-count: 1;
        box-shadow: none;
    }

    .su-menu-item:hover > .su-submenu,
    .su-menu-item:focus-within > .su-submenu {
        display: none;
    }

    .su-menu-item.is-open > .su-submenu {
        display: block;
    }

    .su-submenu::before {
        display: none;
    }

    .su-submenu .su-menu-item > a {
        white-space: normal;
    }

    .su-hero {
        min-height: 650px;
        aspect-ratio: auto;
    }

    .su-hero-content {
        padding-block: 80px;
    }

    .su-hero-wordmark {
        font-size: clamp(56px, 10vw, 82px);
    }

    .su-hero-date {
        font-size: clamp(42px, 7.5vw, 62px);
    }

    .su-hero-time {
        font-size: 23px;
    }

    .su-welcome-grid,
    .su-concept-grid,
    .su-shop-grid,
    .su-facts-grid,
    .slowup-layout {
        grid-template-columns: 1fr;
    }

    .su-welcome-grid,
    .su-concept-grid {
        gap: 22.5px;
    }

    .su-organic-photo {
        aspect-ratio: 1.45;
    }

        .su-facts-grid {
        gap: 16px;
    }

    .su-fact + .su-fact {
        padding: 16px 0 0;
        border-top: 1px solid var(--su-line);
        border-left: 0;
    }

    .su-concept-photo {
        order: 2;
    }

    .su-shop-section {
        padding-block: 30px;
    }

    .su-shop-grid {
        gap: 12.5px;
    }

    .su-shop-image {
        height: 260px;
    }

    .slowup-layout {
        gap: 22.5px;
    }

    .slowup-layout :is(.illu_acces, .slowup-faq-image, .slowup-parcours-cyclist, .slowup-contact-character) {
        max-height: 280px;
        width: min(80%, 340px);
        margin-inline: auto;
    }

    .slowup-contact-left {
        order: 2;
    }

    .su-partner-card,
    .su-partner-card img {
        width: 220px;
        height: 150px;
    }

    .su-partner-card {
        flex-basis: 220px;
    }

    .su-footer-main {
        grid-template-columns: 1fr 90px;
        gap: 12.5px;
    }

    .footer-socials {
        grid-column: 1 / -1;
        flex-direction: row;
    }

    .footer-logo {
        width: 90px;
        height: 90px;
    }

    .su-footer-bottom {
        margin-top: 15px;
        font-size: 11px;
    }

    .alignleft,
    .alignright {
        float: none;
        margin-inline: 0;
    }
}

@media (max-width: 420px) {
    .su-hero-wordmark {
        font-size: 58px;
    }

    .su-hero-date {
        font-size: clamp(34px, 10vw, 42px);
    }

    .su-hero-time {
        font-size: 17px;
    }

    .su-edition {
        font-size: 13px;
    }

    .su-fact {
        grid-template-columns: 44px 1fr;
        gap: 7.5px;
    }

    .su-fact-icon {
        width: 44px;
        height: 44px;
        font-size: 21px;
    }

    .su-footer-main {
        grid-template-columns: 1fr;
    }

    .su-footer-main .footer-logo {
        margin-top: 5px;
    }

    .slowup-benevoles-form,
    .formulaire_contact {
        padding: 10px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .su-reveal.is-reveal-pending {
        opacity: 1;
        transform: none;
    }

    .su-partner-track {
        animation: none;
    }

    .su-partner-row {
        overflow-x: auto;
    }

    .su-partner-group[aria-hidden="true"] {
        display: none;
    }
}

/* 11. IMPRESSION ----------------------------------------------------------- */
@media print {
    .su-header,
    .su-hero,
    .su-footer {
        display: none;
    }

    .slowup-layout {
        display: block;
        width: 100%;
        padding: 0;
    }

    .su-reveal.is-reveal-pending {
        opacity: 1;
        transform: none;
    }
}

/* Styles PDF historiques, centralisés pour les factures et bons. */
@media print {
/* PDF-START */
/* Main Body */
@page {
	margin-top: 1cm;
	margin-bottom: 3cm;
	margin-left: 2cm;
	margin-right: 2cm;
	footer: docFooter;
}

body {
	background: #fff;
	color: #000;
	margin: 0cm;
	font-family: 'Open Sans', sans-serif;
	/* want to use custom fonts? http://docs.wpovernight.com/woocommerce-pdf-invoices-packing-slips/using-custom-fonts/ */
	font-size: 9pt;
	line-height: 100%; /* fixes inherit dompdf bug */
	overflow-wrap: anywhere;
}

h1, h2, h3, h4 {
	font-weight: bold;
	margin: 0;
}

h1 {
	font-size: 16pt;
	margin: 5mm 0;
}

h2 {
	font-size: 14pt;
}

h3, h4 {
	font-size: 9pt;
}


ol,
ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

li {
	margin-bottom: 0.75em;
}

p {
	margin: 0;
	padding: 0;
}

p + p {
	margin-top: 1.25em;
}

a {
	text-decoration: none;
}

/* Basic Table Styling */
table {
	border-collapse: collapse;
	border-spacing: 0;
	page-break-inside: always;
	border: 0;
	margin: 0;
	padding: 0;
}

th, td {
	vertical-align: top;
	text-align: left;
}

table.container {
	width: 100%;
	border: 0;
}

tr.no-borders,
td.no-borders {
	border: 0 !important;
	border-top: 0 !important;
	border-bottom: 0 !important;
	padding: 0 !important;
	width: auto;
}

td.notes-cell {
	width: 60%;
}

td.totals-cell {
	width: 40%;
}

div.bottom-spacer {
	clear: both;
	height: 8mm;
}

span.label {
	font-weight: bold;
}

/* Header */
table.head {
	margin-bottom: 12mm;
}

td.header img {
	max-height: 3cm; /* may be overridden by the settings */
	max-width: 100%;
	width: auto;
}

/* .mpdf td.header img { */
	/* img width & heights can only be set with inline styles (mpdf 8.0) https://github.com/mpdf/mpdf/issues/366 */
	/* using wpo_wcpdf_header_logo_img_element filter instead in wcpdf-mpdf.php */
/* } */

td.header {
	font-size: 16pt;
	font-weight: 700;
}

td.shop-info {
	width: 40%;
}

.document-type-label {
	text-transform: uppercase;
}

/* Recipient addresses & order data */
table.order-data-addresses {
	width: 100%;
	margin-bottom: 10mm;
}

table.order-data-addresses td.address,
table.order-data-addresses td.order-data {
	overflow-wrap: anywhere;
}

td.order-data {
	width: 40%;
}

td.order-data table {
	width: 100%;
}

td.order-data table th {
	font-weight: normal;
	padding-right: 2mm;
	width: 50%;
	overflow-wrap: break-word;
}

.invoice .shipping-address {
	width: 30%;
}

.packing-slip .billing-address {
	width: 30%;
}

/* Order details */
table.order-details,
table.notes-totals {
	width: 100%;
	margin-bottom: 0;
	page-break-before: avoid;
}

.quantity,
.price {
	width: 20%;
}

.order-details tbody {
	border-bottom: 1px solid #ccc;
}

.order-details tr,
.notes-totals tr {
	page-break-inside: always;
	page-break-after: auto;
}

.order-details td,
.order-details th,
.notes-totals td,
.notes-totals th {
	border-bottom: 1px solid #ccc;
	border-top: 1px solid #ccc;
	padding: 0.375em;
}

.order-details th,
.notes-totals th {
	font-weight: bold;
	text-align: left;
}

.order-details thead th {
	color: white;
	background-color: black;
	border-color: black;
}

/* product bundles compatibility */
.order-details tr.bundled-item td.product {
	padding-left: 5mm;
}

.order-details tr.product-bundle td,
.order-details tr.bundled-item td {
	border: 0;
}

.order-details tr.bundled-item.hidden {
	display: none;
}

/* item meta formatting */
.item-meta {
	margin: 8px 0 0 0;
	font-size: 7pt;
	line-height: 7pt;
	overflow-wrap: anywhere;
}

/* In Dompdf, '.wc-item-meta' is applied to a 'ul' element, whereas with the mPDF extension, it's a 'div' instead. For more details, refer to 'wpo_wcpdf_mpdf_modify_html()'. */
.wc-item-meta {
	margin: 0;
}

.wc-item-meta li {
	margin-top: 4px;
	margin-left: 0;
}

.wc-item-meta li p,
.wc-item-meta li dd {
	display: inline;
}

.wc-item-meta p,
.wc-item-meta dd,
.item-meta p {
	margin-top: 4px;
	margin-left: 0;
}

/* Notes & Totals */
.document-notes,
.customer-notes {
	margin-top: 5mm;
	overflow-wrap: anywhere;
}

table.totals {
	width: 100%;
	margin-top: 0;
	table-layout: fixed;
}

table.totals th,
table.totals td {
	border: 0;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}

table.totals tr:nth-child(1) th,
table.totals tr:nth-child(1) td {
	border-top: 0;
	border-bottom: 0;
}

table.totals th.description,
table.totals td.price {
	width: 50%;
}

table.totals tr.order_total td,
table.totals tr.order_total th {
	border-top: 2px solid #000;
	border-bottom: 2px solid #000;
	font-weight: bold;
}

table.totals tr.payment_method {
	display: none;
}

/* mPDF */
.rtl {
	direction: rtl;
}

/* Footer Imprint */
/* mPDF footer styles are hooked via wpo_wcpdf_mpdf_premium_style_overrides() */
#footer {
	position: absolute;
	bottom: -2cm;
	left: 0;
	right: 0;
	height: 2cm; /* if you change the footer height, don't forget to change the bottom (=negative height) and the @page margin-bottom as well! */
	text-align: center;
	border-top: 0.1mm solid gray;
	margin-bottom: 0;
	padding-top: 2mm;
}

/* page numbers */
.pagenum:before {
	content: counter(page);
}

.pagenum,.pagecount {
	font-family: sans-serif;
}

/* PDF-END */
}
