/*
Theme Name: Amsel
Author: Roman Fink
Author URI: https://finkthemes.com/
Description: A modern, minimalist block theme for agencies and creative studios.
Requires at least: 6.7
Tested up to: 7.0
Requires PHP: 8.0
Version: 1.0.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: amsel
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, blog, portfolio, news
*/

.wp-site-blocks {
  overflow-x: hidden;
}

.amsel-header {
  position: sticky;
  top: 0;
  z-index: 20;
}

@media (max-width: 781px) {
  .amsel-header-cta {
    display: none;
  }
}

/* Button hover / focus / active effects */
.wp-block-button {
  position: relative;
}

.wp-block-button__link,
.wp-element-button {
  position: relative;
  z-index: 1;
  transform: translate(0, 0);
  transition: transform 0.2s ease;
}

.wp-block-button::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 14px;
  background: #fff;
  border: 1px solid #555;
  opacity: 0;
  z-index: 0;
  transform: translate(0, 0);
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.wp-block-button:hover > .wp-block-button__link {
  transform: translate(6px, -6px);
}

.wp-block-button:hover::after {
  opacity: 1;
  transform: translate(-2px, 2px);
}

.wp-block-button:focus-within > .wp-block-button__link {
  transform: translate(6px, -6px);
  outline: 2px solid #555;
  outline-offset: 2px;
}

.wp-block-button:focus-within::after {
  opacity: 1;
  transform: translate(-2px, 2px);
}

.wp-block-button:active > .wp-block-button__link {
  transform: translate(1px, -1px);
}

.wp-block-button:active::after {
  opacity: 1;
  transform: translate(0, 0);
}

/* Outline button: force opaque background so shadow doesn't show through */
.wp-block-button.is-style-outline > .wp-block-button__link {
  background: var(--wp--preset--color--background, #fff);
}

/* Light/white and outline buttons: dark filled shadow */
.wp-block-button:has(.has-background-background-color)::after,
.wp-block-button.is-style-outline::after {
  background: var(--wp--preset--color--primary);
  border-color: var(--wp--preset--color--primary);
}

/* Mobile overlay menu */
.wp-block-navigation__responsive-container.is-menu-open {
  padding: var(--wp--preset--spacing--xl) var(--wp--preset--spacing--l);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
  align-items: flex-start;
  text-align: start;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-page-list {
  align-items: flex-start;
  gap: var(--wp--preset--spacing--m);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
  align-items: flex-start;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  font-size: var(--wp--preset--font-size--m);
  font-weight: 500;
}

/* Nested submenu items: indented, smaller, muted */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
  align-items: flex-start;
  gap: var(--wp--preset--spacing--xs);
  padding-top: var(--wp--preset--spacing--xs);
  padding-inline-start: var(--wp--preset--spacing--m);
  border-inline-start: 1px solid var(--wp--preset--color--accent-blue);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  font-size: var(--wp--preset--font-size--s);
  font-weight: 400;
  color: var(--wp--preset--color--secondary);
}

/* Hide related posts section when query returns no results */
.amsel-related-posts:not(:has(.wp-block-post)) {
  display: none;
}

/* Comment form & inputs */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="search"],
textarea {
  width: 100%;
  padding: var(--wp--preset--spacing--s) var(--wp--preset--spacing--m);
  border: 1px solid var(--wp--preset--color--accent-blue);
  border-radius: 14px;
  background: var(--wp--preset--color--background);
  font-family: var(--wp--preset--font-family--martian-grotesk);
  font-size: var(--wp--preset--font-size--s);
  color: var(--wp--preset--color--primary);
  transition: border-color 0.2s ease;
  box-sizing: border-box;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
textarea:focus {
  outline: none;
  border-color: var(--wp--preset--color--primary);
}

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

.comment-form label {
  display: block;
  font-size: var(--wp--preset--font-size--xs);
  font-weight: 500;
  margin-bottom: var(--wp--preset--spacing--xs);
}

.comment-form p {
  margin-bottom: var(--wp--preset--spacing--m);
}

.comment-form .form-submit input[type="submit"] {
  padding: var(--wp--preset--spacing--s) var(--wp--preset--spacing--l);
  border: 1px solid var(--wp--preset--color--primary);
  border-radius: 14px;
  background: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--background);
  font-family: var(--wp--preset--font-family--martian-grotesk);
  font-size: var(--wp--preset--font-size--s);
  font-weight: 500;
  cursor: pointer;
  transition: opacity 0.2s ease;
}

.comment-form .form-submit input[type="submit"]:hover {
  opacity: 0.85;
}

.comment-respond {
  margin-top: var(--wp--preset--spacing--xl);
}

.comment-list {
  list-style: none;
  padding: 0;
}

.comment-list .comment {
  margin-bottom: var(--wp--preset--spacing--l);
  padding-bottom: var(--wp--preset--spacing--l);
  border-bottom: 1px solid var(--wp--preset--color--accent-blue);
}

.comment-list .children {
  list-style: none;
  padding-left: var(--wp--preset--spacing--xl);
}
