/*
Theme Name: Pedalovelo
Theme URI:
Author:
Author URI:
Description: One-page theme for Pedalovelo Fahrradwerkstatt
Version: 1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pedalovelo
*/

/* ---- Custom Font ---- */
@font-face {
    font-family: 'Pedalo';
    src: url('assets/fonts/PEDALO-Regular.woff2') format('woff2'),
         url('assets/fonts/PEDALO-Regular.ttf') format('truetype'),
         url('assets/fonts/PEDALO-Regular.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* ---- Variables ---- */
:root {
    --blue:         #2e5687;
    --blue-dark:    #1d3d62;
    --blue-light:   #4a7ab5;
    --grey-50:      #f7f7f7;
    --grey-100:     #f0f0f0;
    --grey-200:     #dcdcdc;
    --grey-400:     #ababab;
    --grey-600:     #686868;
    --grey-800:     #282828;
    --white:        #ffffff;
}

/* ---- Reset ---- */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.65;
    color: var(--grey-800);
}

a {
    color: inherit;
    text-decoration: none;
}


/* =====================
   HEADER
   ===================== */

.site-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 5rem 2rem 2.5rem;
}

.site-logo {
    width: 200px;
    max-width: 70vw;
    height: auto;
    display: block;
    margin-bottom: 1rem;
}

.site-tagline {
    font-size: 20px;
    line-height: 1.75;
    color: var(--grey-600);
    text-align: center;
    max-width: 480px;
    margin-top: 2.5rem;
}

/* =====================
   INFO SECTION
   ===================== */

.info-section {
    padding: 5rem 2rem 4rem;
}

.info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    max-width: 600px;
    margin: 0 auto;
}

.info-col__label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-family: 'Pedalo', 'Helvetica Neue', sans-serif;
    font-size: 0.68rem;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--blue);
    margin-bottom: 1.25rem;
}

/* Hours table */
.hours-list {
    list-style: none;
}

.hours-list li {
    display: flex;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 0.25rem 0;
    font-size: 0.9rem;
    color: var(--grey-600);
}

.hours-list .time {
    color: var(--grey-600);
}

.hours-list .closed {
    color: var(--grey-400);
}

/* Address */
address {
    font-style: normal;
    font-size: 0.9rem;
    line-height: 1.85;
    color: var(--grey-600);
}

/* =====================
   DIVIDER
   ===================== */

.section-divider {
    width: 50px;
    height: 1px;
    background-color: var(--grey-400);
    margin: 0 auto 4.5rem;
}

/* =====================
   CONTACT SECTION
   ===================== */

.contact-section {
    padding: 0 2rem 6rem;
}

.contact-inner {
    max-width: 600px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
}

.contact-label {
    font-family: 'Pedalo', 'Helvetica Neue', sans-serif;
    font-size: 0.68rem;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--blue);
}

.contact-buttons {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    justify-content: center;
}

.btn-contact {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.6rem 1.1rem;
    font-family: inherit;
    font-size: 0.9rem;
    color: var(--grey-800);
    background: transparent;
    border: 1px solid var(--grey-600);
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
}

.btn-contact:hover {
    background: rgba(0, 0, 0, 0.06);
    border-color: var(--grey-800);
}

/* =====================
   FOOTER
   ===================== */

.site-footer {
    padding: 2rem;
    text-align: center;
}

.footer-copy {
    font-size: 0.78rem;
    color: var(--grey-600);
}

.footer-copy a{
    text-decoration: underline;
    color: var(--blue);
}


/* =====================
   CONTENT (Gutenberg)
   ===================== */

.content-wrapper {
    width: 90%;
    max-width: 700px;
    margin: 0 auto;
    padding: 0;
}

.content-wrapper > p {
    font-size: 16px;
    color: var(--grey-800);
    line-height: 1.75;
    margin-bottom: 3rem;
}

/* Columns */
.wp-block-columns {
    display: flex;
    gap: 3rem;
    margin-bottom: 3rem;
}

.wp-block-column {
    flex: 1;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Pedalo', 'Helvetica Neue', sans-serif;
    color: var(--blue);
    text-transform: uppercase;
    letter-spacing: 30%;
}

h1{
    font-size: 25px;
}

h2 {
    font-size: 20px;
    font-weight: normal;
    margin-bottom: 1.25rem;
}

/* Buttons */
.content-wrapper .wp-block-buttons {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-top: 1rem;
}

.content-wrapper .wp-block-buttons.is-content-justification-center {
    justify-content: center;
    margin-top: 1.5rem;
}

.content-wrapper .wp-block-button__link {
    display: inline-flex;
    align-items: center;
    padding: 0.6rem 1.1rem;
    font-family: inherit;
    font-size: 0.9rem;
    color: var(--grey-800);
    background: transparent;
    border: 1px solid var(--grey-600);
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
}

.content-wrapper .wp-block-button__link:hover {
    background: rgba(0, 0, 0, 0.06);
    border-color: var(--blue);
    color: var(--blue);
}

.wp-block-button[class*='icon-'] .wp-block-button__link::before,
.wp-block-heading[class*='icon-']::before {
    content: '';
    display: inline-block;
    width: 15px;
    height: 15px;
    margin-right: 0.45rem;
    background-color: currentColor;
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
}

.wp-block-button.icon-whatsapp .wp-block-button__link::before,
.wp-block-heading.icon-whatsapp::before{
    -webkit-mask-image: url('assets/image/icon-whatsapp.svg');
    mask-image: url('assets/image/icon-whatsapp.svg');
}

.wp-block-button.icon-signal .wp-block-button__link::before,
.wp-block-heading.icon-signal::before{
    -webkit-mask-image: url('assets/image/icon-signal.svg');
    mask-image: url('assets/image/icon-signal.svg');
}

.wp-block-button.icon-instagram .wp-block-button__link::before,
.wp-block-heading.icon-instagram::before{
    -webkit-mask-image: url('assets/image/icon-instagram.svg');
    mask-image: url('assets/image/icon-instagram.svg');
}

.wp-block-button.icon-mail .wp-block-button__link::before,
.wp-block-heading.icon-mail::before{
    -webkit-mask-image: url('assets/image/icon-mail.svg');
    mask-image: url('assets/image/icon-mail.svg');
}

.wp-block-button.icon-location .wp-block-button__link::before,
.wp-block-heading.icon-location::before{
    -webkit-mask-image: url('assets/image/icon-location.svg');
    mask-image: url('assets/image/icon-location.svg');
}

.wp-block-button.icon-time .wp-block-button__link::before,
.wp-block-heading.icon-time::before{
    -webkit-mask-image: url('assets/image/icon-time.svg');
    mask-image: url('assets/image/icon-time.svg');
}

/* Separator */
.wp-block-separator {
    border: none;
    height: 1px;
    background-color: var(--grey-400);
    width: 50px;
    margin: 3rem auto;
}

/* Centered heading */
.has-text-align-center {
    text-align: center;
    margin-bottom: 0;
}

@media (max-width: 680px) {
    .content-wrapper {
		padding: 0;
		width: 90%;
    }

    .wp-block-columns {
        flex-direction: column;
        gap: 2.5rem;
    }

    .wp-block-buttons.is-content-justification-center .wp-block-button,
    .wp-block-column .wp-block-button {
        width: 100%;
    }

    .wp-block-button__link {
        width: 100%;
        justify-content: center;
    }
}


.chrome-background {
    background: linear-gradient(
        45deg,
        #999 5%,
        #fff 10%,
        #ccc 30%,
        #ddd 50%,
        #ccc 70%,
        #fff 80%,
        #999 95%
    );
    background-size: 100% 200%;

    animation: chrome 15s ease infinite;
}

@keyframes chrome {
    0%{background-position: 0% 0%}
    50%{background-position: 100% 100%}
    100%{background-position: 0% 0%}
}
*, ::before, ::after {
  box-sizing: border-box;
  margin: 0;
}
ul .wp-block-list{
	padding: 2px;
}

/* =====================
   RESPONSIVE
   ===================== */

@media (max-width: 680px) {
    .site-header {
        padding: 3.5rem 1.5rem 2rem;
    }

    .site-tagline {
        font-size: 16px;
    }

    .info-section {
        padding: 3.5rem 1.5rem 3rem;
    }

    .info-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .contact-buttons {
        gap: 0.6rem;
    }

    .btn-contact {
        width: 100%;
        justify-content: center;
    }
}