/*
Theme Name: AleWet Gutenberg V2
Theme URI: https://alewet.pl/
Author: Projectop
Author URI: https://projectop.pl/
Description: Natywny motyw blokowy WordPress odwzorowujący statyczną stronę AleWet 1:1.
Version: 1.3.0
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: alewet-gutenberg-v2
*/

/*
 * Minimalna warstwa zgodności dla wrapperów bloków WordPress.
 * Oryginalny design nadal pochodzi wyłącznie z assets/css/main.css.
 */
html,
body,
.wp-site-blocks {
  margin: 0;
  padding: 0;
}

.wp-site-blocks,
.wp-block-template-part {
  display: contents;
}

.wp-site-blocks > *,
.wp-block-group,
.wp-block-image,
.wp-block-buttons,
.wp-block-columns,
.wp-block-heading {
  margin-block-start: 0;
  margin-block-end: 0;
}

.alewet-native-span {
  margin: 0;
}

.alewet-native-image {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0 !important;
}

.alewet-native-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-position: center;
}

.alewet-imported-logo {
  object-fit: contain;
}

.alewet-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

#contact-form input[name="privacy_consent"] {
  accent-color: var(--color-brand-primary, #14b8a6);
}

.alewet-consent {
  cursor: pointer;
}

.alewet-page-content {
  width: 100%;
  padding-block-start: clamp(8rem, 12vw, 10rem);
  padding-block-end: clamp(5rem, 9vw, 8rem);
}

.alewet-page-content .wp-block-post-content {
  color: var(--color-brand-dark, #0e4f44);
  line-height: 1.75;
}

.alewet-page-content .wp-block-post-content > * + * {
  margin-block-start: 1.125rem;
}

.alewet-page-content .wp-block-post-content > h2,
.alewet-page-content .wp-block-post-content > h3 {
  margin-block-start: 2.5rem;
  margin-block-end: 0.75rem;
  color: var(--color-brand-dark, #0e4f44);
  font-family: var(--font-display, "Outfit", sans-serif);
  font-weight: 700;
  line-height: 1.25;
}

.alewet-page-content .wp-block-post-content ul,
.alewet-page-content .wp-block-post-content ol {
  padding-inline-start: 1.5rem;
}

.alewet-page-content .wp-block-post-content ul {
  list-style: disc;
}

.alewet-page-content .wp-block-post-content ol {
  list-style: decimal;
}

.alewet-page-content .wp-block-post-content li + li {
  margin-block-start: 0.5rem;
}

.alewet-page-content .wp-block-post-content a {
  color: var(--color-brand-primary, #14b8a6);
  text-decoration: underline;
}

.alewet-simple-buttons {
  display: flex;
  justify-content: center;
}

.alewet-simple-button .wp-block-button__link {
  border-radius: 0.75rem;
  padding: 1rem 2rem;
  background: var(--color-brand-dark, #0e4f44);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;
  transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
}

.alewet-simple-button .wp-block-button__link:hover {
  background: #0e4f44e6;
}

.alewet-native-buttons .wp-block-button,
.alewet-native-buttons .wp-block-button__link {
  margin: 0;
}

.alewet-native-buttons {
  align-items: stretch;
  gap: 1rem;
}

.alewet-native-buttons .wp-block-button {
  display: contents;
}

.alewet-native-button .wp-block-button__link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  min-height: 3.5rem;
  box-sizing: border-box;
  border-radius: 0.75rem;
  padding: 1rem 2rem;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
}

.alewet-primary-button .wp-block-button__link {
  background: var(--color-brand-dark, #0e4f44);
  color: #fff;
  box-shadow: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;
}

.alewet-secondary-button .wp-block-button__link {
  background: #fff;
  color: var(--color-brand-dark, #0e4f44);
  border: 2px solid var(--color-brand-border, #cbdcd8);
  box-shadow: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;
}

.alewet-primary-button .wp-block-button__link:hover {
  background: #0e4f44e6;
}

.alewet-secondary-button .wp-block-button__link:hover {
  border-color: #14b8a64d;
}

.alewet-native-button .wp-block-button__link:active {
  scale: 0.95;
}

.alewet-native-button .wp-block-button__link:focus-visible {
  outline: 3px solid var(--color-brand-primary, #14b8a6);
  outline-offset: 3px;
}

#contact-form button[type="submit"]:disabled {
  cursor: wait;
}

#form-message:not(:empty) {
  margin-block-start: 0.75rem;
}

.alewet-form-message {
  border: 1px solid;
  border-radius: 0.75rem;
  padding: 0.75rem;
  font-size: 0.75rem;
  line-height: 1.625;
}

.alewet-form-success {
  border-color: #a7f3d0;
  background: #ecfdf5;
  color: #065f46;
}

.alewet-form-error {
  border-color: #fecdd3;
  background: #fff1f2;
  color: #9f1239;
}

@media (max-width: 639px) {
  .alewet-native-buttons,
  .alewet-native-button .wp-block-button__link {
    width: 100%;
  }

  .alewet-page-content {
    padding-block-start: 7.5rem;
    padding-block-end: 5rem;
  }
}

.alewet-native-button .wp-block-button__link::before {
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 1.25rem;
  content: "";
  background: currentColor;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
}

.alewet-primary-button .wp-block-button__link::before {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M6.6 10.8a15.5 15.5 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.24 11.5 11.5 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1 11.5 11.5 0 0 0 .57 3.6 1 1 0 0 1-.25 1z'/%3E%3C/svg%3E");
}

.alewet-secondary-button .wp-block-button__link::before {
  color: #0fbb9f;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2m0 4-8 5-8-5V6l8 5 8-5z'/%3E%3C/svg%3E");
}

/* Final spacing adjustments
 * Section padding and internal gaps come directly from alewet-static-v1.
 * Only WordPress' automatic block gap is neutralized here.
 */
.wp-block-group.flex-grow > section,
.wp-block-group.flex-grow > section + section {
  margin-block-start: 0;
  margin-block-end: 0;
}

.alewet-page-content .wp-block-post-content > :first-child {
  margin-block-start: 0;
}

.alewet-page-content .wp-block-post-content > :last-child {
  margin-block-end: 0;
}

/* Final vertical spacing fixes */
.wp-block-group.flex-grow > section:not(#hero) {
  padding-block-start: clamp(5rem, 7vw, 6.5rem);
  padding-block-end: clamp(5rem, 7vw, 6.5rem);
}

#hero {
  padding-block-start: clamp(7rem, 10vw, 9rem);
  padding-block-end: clamp(5rem, 7vw, 7rem);
}

#hero > .max-w-7xl > .grid {
  row-gap: clamp(2.5rem, 5vw, 3.5rem);
}

#hero .alewet-native-buttons {
  row-gap: 1.25rem;
}

#oferta .text-center.max-w-3xl,
#kadra .text-center.max-w-3xl,
#opinie .text-center.max-w-3xl,
#kontakt .text-center.max-w-3xl {
  margin-block-end: clamp(4.5rem, 6vw, 5rem);
}

#oferta .text-center.max-w-3xl > * + *,
#kadra .text-center.max-w-3xl > * + *,
#opinie .text-center.max-w-3xl > * + *,
#kontakt .text-center.max-w-3xl > * + * {
  margin-block-start: clamp(1rem, 2vw, 1.5rem);
}

#oferta > .max-w-7xl > .grid {
  row-gap: clamp(2rem, 4vw, 2.75rem);
}

#oferta .alewet-service-card > .p-6 {
  padding-block-start: clamp(1.75rem, 3vw, 2.25rem);
  padding-block-end: clamp(1.75rem, 3vw, 2.25rem);
}

#oferta .alewet-service-card > .p-6 > * + * {
  margin-block-start: clamp(1.125rem, 2vw, 1.5rem);
}

#opening-hours-card {
  padding-block-start: clamp(1.75rem, 3vw, 2.25rem);
  padding-block-end: clamp(1.75rem, 3vw, 2.25rem);
}

#opening-hours-card > .mb-6 {
  margin-block-end: 1.75rem;
}

#opening-hours-card > .space-y-2\.5 > * + * {
  margin-block-start: 0.75rem;
}

#o-nas > .max-w-7xl > .grid {
  row-gap: clamp(3.5rem, 6vw, 5rem);
}

#o-nas .space-y-6 > * + * {
  margin-block-start: clamp(1.5rem, 3vw, 2rem);
}

#kadra > .max-w-7xl > .grid {
  row-gap: clamp(2.5rem, 5vw, 3.5rem);
}

#kadra > .max-w-7xl > .grid > .bg-white {
  padding-block-start: clamp(1.75rem, 3vw, 2.25rem);
  padding-block-end: clamp(1.75rem, 3vw, 2.25rem);
  row-gap: clamp(1.5rem, 3vw, 2rem);
}

#opinie > .max-w-7xl > .max-w-4xl > .bg-white {
  padding-block-start: clamp(2.25rem, 5vw, 3.5rem);
  padding-block-end: clamp(2.25rem, 5vw, 3.5rem);
}

#kontakt {
  padding-block-end: clamp(6rem, 8vw, 7.5rem);
}

#kontakt > .max-w-7xl > .grid {
  row-gap: clamp(2.5rem, 5vw, 3.5rem);
}

#contact-form {
  padding-block-start: clamp(1.75rem, 3vw, 2.25rem);
  padding-block-end: clamp(1.75rem, 3vw, 2.25rem);
}

#contact-form .space-y-4 > * + * {
  margin-block-start: 1.25rem;
}

#contact-form .space-y-3 > * + * {
  margin-block-start: 1rem;
}

footer.wp-block-group {
  padding-block-start: clamp(4rem, 6vw, 5rem);
}

.alewet-page-content {
  padding-block-start: clamp(8.5rem, 12vw, 10.5rem);
  padding-block-end: clamp(6rem, 10vw, 9rem);
}

.alewet-page-content .wp-block-post-title {
  margin-block-end: clamp(2rem, 4vw, 3rem);
}

.alewet-page-content .wp-block-post-content > * + * {
  margin-block-start: clamp(1.125rem, 2vw, 1.5rem);
}

.alewet-page-content .wp-block-post-content h2,
.alewet-page-content .wp-block-post-content h3,
.alewet-page-content .wp-block-post-content h4 {
  margin-block-start: clamp(2.5rem, 5vw, 3.5rem);
  margin-block-end: clamp(1rem, 2vw, 1.5rem);
}

main.flex-grow.flex.items-center > .max-w-3xl {
  padding-block-start: clamp(8.5rem, 12vw, 10rem);
  padding-block-end: clamp(6rem, 10vw, 8rem);
}

main.flex-grow.flex.items-center > .max-w-3xl > * + * {
  margin-block-start: clamp(1.5rem, 3vw, 2rem);
}

@media (max-width: 639px) {
  .wp-block-group.flex-grow > section:not(#hero) {
    padding-block-start: 5rem;
    padding-block-end: 5rem;
  }

  #hero {
    padding-block-start: 7rem;
    padding-block-end: 5rem;
  }

  #oferta .text-center.max-w-3xl,
  #kadra .text-center.max-w-3xl,
  #opinie .text-center.max-w-3xl,
  #kontakt .text-center.max-w-3xl {
    margin-block-end: 4.5rem;
  }

  #kontakt {
    padding-block-end: 6rem;
  }

  .alewet-page-content {
    padding-block-start: 8rem;
    padding-block-end: 6rem;
  }
}
