/*
Theme Name: Hallo Plin
Theme URI: https://plam-plin.hr/
Author: PLAM
Description: Brza, pristupačna i urednički jednostavna blok tema za Hallo Plin.
Version: 0.2.2
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: plam
*/

:root {
  --plam-shadow: 0 24px 70px rgba(31, 35, 32, 0.12);
  --plam-shadow-soft: 0 14px 36px rgba(31, 35, 32, 0.08);
}

html {
  scroll-behavior: smooth;
}

body {
  text-rendering: optimizeLegibility;
}

a {
  text-underline-offset: 0.18em;
}

.wp-site-blocks {
  overflow: clip;
}

.plam-header {
  border-bottom: 1px solid color-mix(in srgb, currentColor 12%, transparent);
  position: relative;
  z-index: 20;
}

.plam-header .wp-block-site-logo img {
  height: auto;
  max-height: 96px;
  width: auto;
}

.plam-hero {
  min-height: min(760px, 82vh);
  position: relative;
}

.plam-hero::before {
  background: radial-gradient(circle at 14% 10%, rgba(224, 61, 39, 0.16), transparent 35%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.plam-eyebrow {
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.plam-eyebrow + .plam-eyebrow-sub {
  font-weight: 600;
  margin-top: 6px;
}

.plam-header .plam-call-mobile {
  display: none;
}

.plam-hero-photo,
.plam-service-photo,
.plam-gallery img {
  border-radius: 24px;
  box-shadow: var(--plam-shadow);
  object-fit: cover;
}

.plam-hero-photo {
  aspect-ratio: 4 / 3;
  min-height: 440px;
  width: 100%;
}

.plam-service-photo {
  aspect-ratio: 4 / 3;
  width: 100%;
}

figure.plam-hero-cutout {
  margin: 0;
  text-align: center;
}

.plam-hero-cutout img {
  filter: drop-shadow(0 24px 30px rgba(31, 35, 32, 0.16));
  height: min(560px, 62vh);
  max-width: 100%;
  object-fit: contain;
  width: auto;
}

.plam-card {
  background: var(--wp--preset--color--surface);
  border: 1px solid var(--wp--preset--color--line);
  border-radius: 24px;
  box-shadow: var(--plam-shadow-soft);
  height: 100%;
  overflow: hidden;
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.plam-card:hover {
  box-shadow: var(--plam-shadow);
  transform: translateY(-4px);
}

.plam-trust-item {
  border-left: 2px solid var(--wp--preset--color--flame);
  padding-left: 18px;
}

.plam-dark-section {
  background:
    radial-gradient(circle at 85% 20%, rgba(224, 61, 39, 0.22), transparent 30%),
    var(--wp--preset--color--ink);
  border-radius: 32px;
  color: var(--wp--preset--color--white);
}

.plam-dark-section a {
  color: var(--wp--preset--color--white);
}

.plam-call-button-large .wp-block-button__link {
  font-size: clamp(1.05rem, 1.8vw, 1.3rem);
  font-weight: 800;
  min-width: 230px;
  padding: 1.05em 1.45em;
  white-space: nowrap;
}

.plam-hours {
  border-collapse: collapse;
  width: 100%;
}

.plam-hours td {
  border-bottom: 1px solid var(--wp--preset--color--line);
  padding: 12px 0;
}

.plam-hours td:last-child {
  font-weight: 700;
  text-align: right;
}

.plam-gallery figure {
  margin: 0;
}

.plam-gallery img {
  aspect-ratio: 4 / 3;
  width: 100%;
}

.plam-sticky-call {
  bottom: 18px;
  display: none;
  left: 18px;
  position: fixed;
  right: 18px;
  z-index: 50;
}

.plam-sticky-call a {
  box-shadow: 0 12px 34px rgba(31, 35, 32, 0.28);
  display: block;
  text-align: center;
}

.plam-footer {
  margin-block-start: 0;
}

@media (max-width: 900px) {
  .plam-hero {
    min-height: auto;
  }

  .plam-hero-photo {
    min-height: 320px;
  }

  .plam-hero-cutout img {
    height: min(460px, 52vh);
  }

  .plam-header .wp-block-navigation__responsive-container.is-menu-open {
    padding: 24px;
  }
}

@media (max-width: 700px) {
  body {
    padding-bottom: 82px;
  }

  .plam-sticky-call {
    display: block;
  }

  .plam-dark-section {
    border-radius: 22px;
  }

  .wp-block-buttons:not(.plam-header-call) .wp-block-button,
  .wp-block-buttons:not(.plam-header-call) .wp-block-button__link {
    width: 100%;
  }

  .plam-header .wp-block-site-logo img {
    max-height: 64px;
  }

  .plam-header .plam-call-desktop {
    display: none;
  }

  .plam-header .plam-call-mobile {
    display: block;
  }

  .plam-header .plam-call-mobile .wp-block-button__link {
    font-size: 0.9rem;
    padding: 0.65em 1.1em;
    white-space: nowrap;
  }
}

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

  .plam-card {
    transition: none;
  }
}
