/*
Theme Name: ArtMetall
Theme URI: https://artmetall.info/
Author: ArtMetall
Description: Custom lightweight theme for ArtMetall (SCF + multilingual + SEO).
Version: 0.1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: artmetall
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
*/

:root{
  --am-accent: #f5c400;
  --am-bg: #0b0b0b;
  --am-text: #ffffff;
}

body{margin:0;color:var(--am-text);background:var(--am-bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
a{color:inherit}

/* Screen reader only (accessibility helper) */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}

/* Minimal layout helpers */
.am-container{max-width:1120px;margin:0 auto;padding:0 20px}

/* Section spacing helper (used by templates) */
.am-section{padding:48px 0}
@media (min-width: 1024px){.am-section{padding:80px 0}}

/* Header */
.am-header{background:transparent;color:#fff;position:relative;z-index:10}
.am-header__top{font-size:13px;opacity:.9}
.am-header__top a{color:inherit;text-decoration:none}
.am-header__top a:hover{text-decoration:underline}
.am-header__bar{display:flex;align-items:center;gap:18px;padding:18px 0;border:0}
.am-brand{justify-self:start}
.am-brand__link{text-decoration:none;display:inline-flex;align-items:center;gap:10px;letter-spacing:.08em;text-transform:uppercase;border:0}
.am-brand__text{font-weight:700}

/* Sticky header on scroll */
.am-header{position:sticky;top:0;transition:background .2s ease, box-shadow .2s ease}
.am-header.is-scrolled{background:rgba(11,11,11,.96);box-shadow:0 2px 12px rgba(0,0,0,.4)}

/* Nav */
.am-nav{margin-left:auto;margin-right:auto}
.am-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:22px;flex-wrap:wrap;align-items:center;justify-content:center}
.am-nav li{position:relative}
.am-nav a{
  text-decoration:none;
  opacity:.9;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  white-space:nowrap;
  transition:opacity 0.3s ease, color 0.3s ease;
}
.am-nav .am-menu__link{display:inline-block;padding:6px 0}
.am-nav a:hover{opacity:1;color:var(--am-accent)}
.am-nav .current-menu-item > a,
.am-nav .current_page_item > a,
.am-nav .current-menu-ancestor > a,
.am-nav .current_page_ancestor > a,
.am-nav .current-menu-parent > a,
.am-nav .current_page_parent > a{
  opacity:1;
  color:var(--am-accent);
}

/* Animated underline */
.am-nav .am-menu__link{position:relative}
.am-nav .am-menu__link::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-6px;
  height:2px;
  background:var(--am-accent);
  opacity:0;
  transform:scaleX(0);
  transform-origin:center;
  transition:transform 0.3s ease, opacity 0.3s ease;
}

.am-nav a:hover .am-menu__link::after,
.am-nav .current-menu-item .am-menu__link::after,
.am-nav .current_page_item .am-menu__link::after,
.am-nav .current-menu-ancestor .am-menu__link::after,
.am-nav .current_page_ancestor .am-menu__link::after,
.am-nav .current-menu-parent .am-menu__link::after,
.am-nav .current_page_parent .am-menu__link::after,
.am-nav .menu-item-has-children:hover > a .am-menu__link::after{
  opacity:.9;
  transform:scaleX(1);
}

/* Prevent underline on nav toggle button */
.am-nav-toggle .am-menu__link::after,
.am-nav-toggle:hover .am-menu__link::after{
  display:none !important;
}

/* Dropdown submenu */
.am-nav ul ul{
  position:absolute;
  top:100%;
  left:0;
  min-width:240px;
  background:rgba(10,10,10,.96);
  padding:18px 12px 10px 12px;
  margin:0;
  flex-direction:column;
  gap:10px;
  border:1px solid rgba(255,255,255,.08);
  opacity:0;
  visibility:hidden;
  transform:translateY(-10px);
  transition:opacity 0.3s ease, transform 0.3s ease, visibility 0s 0.3s;
  display:flex;
  pointer-events:none;
}

/* Invisible bridge between parent and submenu */
.am-nav .menu-item-has-children{
  position:relative;
}
.am-nav .menu-item-has-children::after{
  content:"";
  position:absolute;
  top:100%;
  left:0;
  right:0;
  height:8px;
  background:transparent;
  display:block;
  pointer-events:auto;
}


.am-nav ul ul li{width:100%}
.am-nav ul ul a{
  letter-spacing:.08em;
  text-transform:none;
  font-size:13px;
  opacity:.92;
  transition:opacity 0.3s ease, color 0.3s ease;
  position:relative;
  display:block;
  padding:4px 0 10px;
}

/* Underline animation for submenu links (dropdown items). */
.am-nav ul ul a::after{
  content:"";
  position:absolute;
  left:0;
  width:70%;
  bottom:4px;
  height:2px;
  background:var(--am-accent);
  opacity:0;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform 0.3s ease, opacity 0.3s ease;
}

.am-nav ul ul a:hover::after,
.am-nav ul ul .current-menu-item > a::after,
.am-nav ul ul .current_page_item > a::after{
  opacity:.9;
  transform:scaleX(1);
}

/* If we're on a child page, WordPress marks the parent as current-menu-ancestor.
   That class can appear on the submenu <li> too, which would make all submenu
   items look "active". Keep underline ONLY for the exact current item. */
.am-nav ul ul .current-menu-ancestor > a::after,
.am-nav ul ul .current_page_ancestor > a::after,
.am-nav ul ul .current-menu-parent > a::after,
.am-nav ul ul .current_page_parent > a::after{
  opacity:0;
  transform:scaleX(0);
}
.am-nav li:hover > ul{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  transition:opacity 0.3s ease, transform 0.3s ease, visibility 0s 0s;
  pointer-events:auto;
}

/* Offcanvas/mobile menu: keep hierarchy (no absolute dropdowns) */
.am-mobile-menu nav ul{list-style:none;margin:0;padding:0}
.am-mobile-menu nav ul li{position:static}
.am-mobile-menu nav ul ul{display:block;position:static;min-width:0;border:0;background:transparent;padding:6px 0 0 14px;margin:0;gap:0}
.am-mobile-menu nav ul ul a{font-size:13px;letter-spacing:.06em;opacity:.9}
.am-mobile-menu nav ul ul .am-menu__link{padding:6px 8px}
.am-mobile-menu nav a{transition:opacity 0.3s ease, color 0.3s ease}
.am-mobile-menu nav a:hover .am-menu__link{
  background:rgba(255,255,255,.10);
  transition:background 0.3s ease;
}

/* Offcanvas animations */
.am-mobile-menu [data-am-mobile-overlay]{transition:opacity .22s ease}
.am-mobile-menu [data-am-mobile-panel]{transition:transform .22s ease}
.am-mobile-menu[data-open] [data-am-mobile-overlay]{opacity:1;pointer-events:auto}
.am-mobile-menu[data-open] [data-am-mobile-panel]{transform:translateX(0)}

/* Prevent any menu flash during navigation */
html.am-nav-unloading .am-mobile-menu,
html.am-nav-unloading .am-mobile-menu [data-am-mobile-overlay],
html.am-nav-unloading .am-mobile-menu [data-am-mobile-panel]{
  transition:none !important;
  visibility:hidden !important;
}

/* ========================================
   Language Switcher
   ======================================== */

/* Desktop Language Switcher */
.am-lang-switcher {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-left: 16px;
  border-left: 1px solid rgba(255,255,255,.15);
}

.am-lang-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 6px 10px;
  text-decoration: none;
  border-radius: 6px;
  transition: all 0.2s ease;
  opacity: 0.6;
}

.am-lang-link:hover {
  opacity: 1;
  background: rgba(255,255,255,.1);
}

.am-lang-link--active {
  opacity: 1;
  background: rgba(251,191,36,.15);
  border: 1px solid rgba(251,191,36,.3);
}

.am-lang-flag {
  font-size: 20px;
  line-height: 1;
}

.am-lang-code {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #fff;
}

.am-lang-link--active .am-lang-code {
  color: #fbbf24;
}

/* Mobile Language Switcher */
.am-mobile-lang-switcher {
  padding-top: 20px;
  margin-top: 20px;
  border-top: 1px solid rgba(255,255,255,.2);
}

.am-mobile-lang-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 12px 16px;
  text-decoration: none;
  border-radius: 8px;
  background: rgba(255,255,255,.05);
  transition: all 0.2s ease;
  flex: 1;
}

.am-mobile-lang-link:hover {
  background: rgba(255,255,255,.1);
}

.am-mobile-lang-link--active {
  background: rgba(251,191,36,.15);
  border: 1px solid rgba(251,191,36,.3);
}

.am-mobile-lang-link span:last-child {
  color: rgba(255,255,255,.8);
  font-weight: 600;
  letter-spacing: 0.05em;
}

.am-mobile-lang-link--active span:last-child {
  color: #fbbf24;
}

/* Ensure mobile menu container is completely hidden on desktop (not just offscreen) */
@media (min-width: 1024px){
  .am-mobile-menu{display:none !important}
}

/* ========================================
   Home Page Sections
   ======================================== */

/* Common Section Styles */
.am-section-title {
  font-size: 36px;
  font-weight: 700;
  margin: 0 0 16px;
  color: #fff;
}

.am-section-subtitle {
  font-size: 18px;
  color: rgba(255,255,255,.8);
  max-width: 700px;
  margin: 0 auto;
  line-height: 1.6;
}

/* About Section */
.am-home-about {
  padding: 80px 0;
  background: linear-gradient(135deg, #1a1a1a, #2d2d2d);
}

.am-home-about__content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

.am-home-about__text h2 {
  color: #fbbf24;
  margin-bottom: 24px;
}

.am-home-about__text p {
  color: rgba(255,255,255,.9);
  line-height: 1.8;
  margin-bottom: 16px;
}

.am-home-about__text .am-section-lead {
  font-size: 20px;
  font-weight: 500;
  color: #fff;
  margin-bottom: 24px;
}

.am-home-about__image {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,.3);
}

.am-home-about__image img {
  width: 100%;
  height: auto;
  display: block;
}

/* Services Section */
.am-home-services {
  padding: 80px 0;
  background: #0b0b0b;
}

.am-home-services-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 30px;
  margin-top: 48px;
}

@media (max-width: 1200px){
  .am-home-services-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
}

@media (max-width: 640px){
  .am-home-services-grid{grid-template-columns:1fr}
}

.am-home-service-card {
  background: linear-gradient(135deg, #1a1a1a, #2d2d2d);
  border-radius: 12px;
  overflow: hidden;
  transition: transform .3s ease, box-shadow .3s ease;
  border: 1px solid rgba(255,255,255,.05);
}

.am-home-service-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 40px rgba(251,191,36,.2);
  border-color: rgba(251,191,36,.3);
}

.am-home-service-card__image {
  height: 220px;
  overflow: hidden;
  background: #000;
}

.am-home-service-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}

.am-home-service-card:hover .am-home-service-card__image img {
  transform: scale(1.1);
}

.am-home-service-card__content {
  padding: 28px;
}

.am-home-service-card__title {
  font-size: 22px;
  font-weight: 600;
  margin: 0 0 12px;
  color: #fff;
}

.am-home-service-card__excerpt {
  color: rgba(255,255,255,.7);
  line-height: 1.6;
  margin-bottom: 20px;
}

.am-home-service-card__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #fbbf24;
  font-weight: 500;
  text-decoration: none;
  transition: gap .2s ease;
}

.am-home-service-card__link:hover {
  gap: 12px;
}

.am-home-service-card__link svg {
  width: 16px;
  height: 16px;
}

/* Portfolio Section */
.am-home-portfolio {
  padding: 80px 0;
  background: linear-gradient(135deg, #1a1a1a, #2d2d2d);
}

.am-home-portfolio-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 30px;
  margin-top: 48px;
}

@media (max-width: 1200px){
  .am-home-portfolio-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
}

@media (max-width: 640px){
  .am-home-portfolio-grid{grid-template-columns:1fr}
}

.am-home-portfolio-card {
  position: relative;
  display: block;
  border-radius: 12px;
  overflow: hidden;
  aspect-ratio: 4/3;
  text-decoration: none;
}

.am-home-portfolio-card__image {
  position: relative;
  width: 100%;
  height: 100%;
}

.am-home-portfolio-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}

.am-home-portfolio-card:hover .am-home-portfolio-card__image img {
  transform: scale(1.1);
}

.am-home-portfolio-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.9), transparent);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  padding: 32px;
  opacity: 0;
  transition: opacity .3s ease;
}

.am-home-portfolio-card:hover .am-home-portfolio-card__overlay {
  opacity: 1;
}

.am-home-portfolio-card__title {
  font-size: 24px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 12px;
}

.am-home-portfolio-card__overlay svg {
  color: #fbbf24;
}

/* Homepage Works block: title always visible; on hover title grows and arrow appears */
body.home .am-home-portfolio-card__overlay{
  opacity: 1;
}

body.home .am-home-portfolio-card__title{
  transform: scale(1);
  transition: transform .2s ease;
}

body.home .am-home-portfolio-card__overlay svg{
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .2s ease, transform .2s ease;
}

body.home .am-home-portfolio-card:hover .am-home-portfolio-card__title{
  transform: scale(1.06);
}

body.home .am-home-portfolio-card:hover .am-home-portfolio-card__overlay svg{
  opacity: 1;
  transform: translateY(0);
}

/* Works page: title always visible; on hover title grows and arrow appears */
.am-portfolio-page .am-home-portfolio-card__overlay{
  opacity: 1;
  transition: opacity .3s ease;
}

.am-portfolio-page .am-home-portfolio-card__title{
  transform: scale(1);
  transition: transform .2s ease;
}

.am-portfolio-page .am-home-portfolio-card__overlay svg{
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .2s ease, transform .2s ease;
}

.am-portfolio-page .am-home-portfolio-card:hover .am-home-portfolio-card__title{
  transform: scale(1.06);
}

.am-portfolio-page .am-home-portfolio-card:hover .am-home-portfolio-card__overlay svg{
  opacity: 1;
  transform: translateY(0);
}

/* Works page: center incomplete last row */
.am-portfolio-page .am-home-portfolio-grid{
  justify-content: center;
}

/* Benefits Section */
.am-home-benefits {
  padding: 80px 0;
  background: #0b0b0b;
}

.am-home-benefits-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 36px;
  margin-top: 48px;
}

.am-home-benefit-card {
  text-align: center;
  padding: 36px 24px;
  background: linear-gradient(135deg, #1a1a1a, #2d2d2d);
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.05);
  transition: all .3s ease;
}

.am-home-benefit-card:hover {
  transform: translateY(-8px);
  border-color: rgba(251,191,36,.3);
  box-shadow: 0 12px 40px rgba(251,191,36,.15);
}

.am-home-benefit-card__icon {
  width: 80px;
  height: 80px;
  margin: 0 auto 24px;
  background: rgba(251,191,36,.1);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fbbf24;
  transition: all .3s ease;
}

.am-home-benefit-card:hover .am-home-benefit-card__icon {
  background: rgba(251,191,36,.2);
  transform: scale(1.1);
}

.am-home-benefit-card__title {
  font-size: 20px;
  font-weight: 600;
  margin: 0 0 12px;
  color: #fff;
}

.am-home-benefit-card__text {
  color: rgba(255,255,255,.7);
  line-height: 1.6;
}

/* CTA Section */
.am-home-cta {
  padding: 100px 0;
  background: linear-gradient(135deg, #fbbf24, #e6a91f);
}

.am-home-cta__content {
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}

.am-home-cta__title {
  font-size: 42px;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 20px;
}

.am-home-cta__text {
  font-size: 20px;
  color: rgba(0,0,0,.8);
  line-height: 1.6;
  margin-bottom: 40px;
}

.am-home-cta__buttons {
  display: flex;
  gap: 20px;
  justify-content: center;
  flex-wrap: wrap;
}

.am-button--large {
  padding: 16px 40px;
  font-size: 18px;
}

.am-button--outline {
  background: transparent;
  border: 2px solid #1a1a1a;
  color: #1a1a1a;
}

.am-button--outline:hover {
  background: #1a1a1a;
  color: #fbbf24;
}

/* Responsive */
@media (max-width: 960px) {
  .am-home-about__content {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .am-home-services-grid,
  .am-home-portfolio-grid {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  }

  .am-section-title {
    font-size: 32px;
  }

  .am-home-cta__title {
    font-size: 36px;
  }
}

@media (max-width: 640px) {
  .am-home-about,
  .am-home-services,
  .am-home-portfolio,
  .am-home-benefits,
  .am-home-cta {
    padding: 60px 0;
  }

  .am-section-title {
    font-size: 28px;
  }

  .am-home-cta__title {
    font-size: 32px;
  }

  .am-home-cta__buttons {
    flex-direction: column;
  }

  .am-button--large {
    width: 100%;
  }
}

/* Burger -> X animation */
.am-nav-toggle span[aria-hidden="true"] span{transition:transform .2s ease, opacity .2s ease}
.am-nav-toggle.is-open span[aria-hidden="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.am-nav-toggle.is-open span[aria-hidden="true"] span:nth-child(2){opacity:0}
.am-nav-toggle.is-open span[aria-hidden="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* Ensure burger button is completely hidden on desktop (avoid stray lines) */
@media (min-width: 1024px){
  .am-nav-toggle{display:none !important}
}

/* If menu is very wide, allow it to wrap but stay readable */
.am-header__bar{overflow:visible}
.am-nav{max-width:100%}
.am-nav .am-menu{row-gap:8px}

@media (max-width: 960px){
  .am-header__bar{gap:14px}
  .am-nav ul{gap:14px}
  /* Keep desktop dropdown behavior stable; mobile dropdowns are handled in the offcanvas menu (.am-mobile-menu) */
  .am-nav ul ul{position:absolute}
}

/* Keep menu consistent across pages: no home-only header positioning overrides */

/* Footer */
.am-footer{background:#0a0a0a;color:#fff;padding:28px 0;margin-top:0}
.am-footer a{color:inherit}
.am-footer-menu{list-style:none;margin:0;padding:0;display:flex;gap:18px;flex-wrap:wrap;justify-content:center}
.am-footer-menu a{text-decoration:none;opacity:.85;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.am-footer-menu a:hover{opacity:1;color:var(--am-accent)}

/* Slider (reused style from child theme) */
.artmetall-slider{position:relative;overflow:hidden;border-radius:0}
.artmetall-slider{width:100vw;max-width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}
.artmetall-slider{margin-top:0;margin-bottom:0;min-height:720px}

/* Slide container */
.artmetall-slide{position:absolute;inset:0;min-height:720px;display:block;opacity:0;transition:opacity 1s ease;z-index:1;overflow:hidden}
.artmetall-slide.is-active{opacity:1;z-index:2}

/* Ken Burns effect - background image */
.artmetall-slide__bg{
  position:absolute;
  inset:-10%;
  width:120%;
  height:120%;
  background-size:cover;
  background-position:center;
  transform:scale(1.1);
  transition:transform 8s ease-out;
}
.artmetall-slide.is-active .artmetall-slide__bg{
  transform:scale(1) translateX(-5%);
}

/* Overlay gradient */
.artmetall-slide__overlay{
  position:relative;
  min-height:720px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding-bottom:110px;
  background:linear-gradient(90deg, rgba(0,0,0,.65), rgba(0,0,0,.15));
  z-index:1;
}

/* Content container */
.artmetall-slide__content{
  max-width:720px;
  margin:0 auto;
  padding:20px 20px 55px;
  color:#fff;
  text-align:center;
}

/* Animation states for content elements */
.artmetall-slide__title,
.artmetall-slide__text,
.artmetall-slide__cta{
  opacity:0;
  transform:translateY(40px);
  transition:opacity 0.8s ease-out, transform 0.8s ease-out;
}

.artmetall-slide__title.am-animated{
  opacity:1;
  transform:translateY(0);
}

.artmetall-slide__text.am-animated{
  opacity:1;
  transform:translateY(0);
}

.artmetall-slide__cta.am-animated{
  opacity:1;
  transform:translateY(0);
}

/* Typography */
.artmetall-slide__title{
  color:#fff;
  margin:0 0 10px;
  font-size:42px;
  line-height:1.1;
  font-weight:700;
  text-shadow:2px 2px 8px rgba(0,0,0,0.3);
}

.artmetall-slide__text{
  color:rgba(255,255,255,.92);
  max-width:720px;
  font-size:16px;
  line-height:1.6;
  margin:0 0 20px;
  text-shadow:1px 1px 4px rgba(0,0,0,0.3);
}

.artmetall-slide__cta{
  display:inline-block;
  margin:10px 11px 0;
  padding:12px 28px;
  border:2px solid rgba(255,255,255,.6);
  color:#fff;
  text-decoration:none;
  border-radius:4px;
  font-weight:600;
  transition:all 0.3s ease;
  background:rgba(0,0,0,0.2);
  backdrop-filter:blur(4px);
}

.artmetall-slide__cta:hover{
  border-color:#fbbf24;
  background:#fbbf24;
  color:#000;
  transform:translateY(-2px);
  box-shadow:0 4px 12px rgba(251,191,36,0.4);
}

/* Dots navigation */
.artmetall-slider__dots{position:absolute;left:0;right:0;bottom:16px;z-index:2;display:flex;gap:8px;justify-content:center;margin-bottom:16px}
.artmetall-slider__dot{width:30px;height:3px;border-radius:2px;border:0;background:rgba(255,255,255,.5);cursor:pointer;transition:background 400ms ease;padding:0;text-indent:-999px;overflow:hidden}
.artmetall-slider__dot.is-active{background:#fbbf24}
.artmetall-slider__dot:hover{background:rgba(255,255,255,.75)}

/* Arrow navigation */
.am-slider-arrow{display:none;position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;align-items:center;justify-content:center;border-radius:9999px;background:rgba(0,0,0,.6);color:#fff;border:2px solid rgba(255,255,255,.4);cursor:pointer;transition:all 200ms ease;z-index:3}
.am-slider-arrow:hover{background:rgba(0,0,0,.8);transform:translateY(-50%) scale(1.1)}
.am-slider-arrow--prev{left:16px}
.am-slider-arrow--next{right:16px}
@media (min-width: 768px){.am-slider-arrow{display:inline-flex}}
@media (min-width: 960px){.am-slider-arrow--prev{left:24px}.am-slider-arrow--next{right:24px}}

/* Mobile responsive */
@media (max-width: 768px){
  .artmetall-slider{min-height:420px}
  .artmetall-slide,.artmetall-slide__overlay{min-height:420px}
  .artmetall-slide__bg{inset:-5%;width:110%;height:110%}
  .artmetall-slide__overlay{padding-bottom:80px;align-items:flex-end;justify-content:center}
  .artmetall-slide__content{max-width:92vw;margin:0 auto}
  .artmetall-slide__title{font-size:30px}
}

/* Tablet tuning: 769–961px (avoid "desktop" right-lock layout, keep content readable) */
@media (min-width: 769px) and (max-width: 961px){
  .artmetall-slider{min-height:560px}
  .artmetall-slide,.artmetall-slide__overlay{min-height:560px}
  .artmetall-slide__overlay{align-items:flex-end;justify-content:center;padding-bottom:90px;background:linear-gradient(0deg, rgba(0,0,0,.70), rgba(0,0,0,.15))}
  .artmetall-slide__content{max-width:720px;margin:0 auto;text-align:center}
  .artmetall-slide__title{font-size:38px}
  .artmetall-slide__text{font-size:16px}
}

/* Works grid (RedArt-like) */
.am-works-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}
.am-works-grid__item{display:block;overflow:hidden;background:#111}
.am-works-grid__item img{display:block;width:100%;height:220px;object-fit:cover;transition:transform .25s ease, opacity .25s ease;opacity:.95}
.am-works-grid__item:hover img{transform:scale(1.03);opacity:1}
@media (max-width: 1200px){.am-works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.am-works-grid__item img{height:190px}}
@media (max-width: 640px){.am-works-grid{grid-template-columns:1fr}.am-works-grid__item img{height:220px}}

/* Services pages */
/* Universal Page Hero - unified style for all pages */
.am-page-hero {
  background: linear-gradient(135deg, #1a1a1a, #2d2d2d);
  color: #fff;
  padding: 80px 0 60px;
  text-align: center;
  margin: 0;
  position: relative;
}

.am-page-hero .am-container {
  background: transparent;
}

.am-page-title {
  font-size: 48px;
  margin: 0 0 12px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #fff;
}

.am-page-subtitle {
  font-size: 18px;
  color: rgba(255,255,255,0.8);
  margin: 0;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

/* Responsive hero */
@media (max-width: 768px) {
  .am-page-hero {
    padding: 60px 0 40px;
  }
  
  .am-page-title {
    font-size: 36px;
  }
  
  .am-page-subtitle {
    font-size: 16px;
  }
}

@media (max-width: 480px) {
  .am-page-hero {
    padding: 50px 0 30px;
  }
  
  .am-page-title {
    font-size: 28px;
  }
  
  .am-page-subtitle {
    font-size: 15px;
  }
}

/* Page hero content lists - fix bullet alignment */
.am-page-hero ul,
.am-page-hero ol {
  text-align: left;
  display: inline-block;
  max-width: 700px;
  margin: 20px auto;
  padding-left: 24px;
}

.am-page-hero li {
  margin-bottom: 8px;
  line-height: 1.6;
}

.am-page-hero h3 {
  margin-top: 30px;
  margin-bottom: 16px;
}


.am-services-grid{padding:60px 0}
.am-services-list{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:30px}
.am-service-card{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:transform .3s ease, box-shadow .3s ease}
.am-service-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px rgba(0,0,0,.15)}
.am-service-card__image{overflow:hidden;height:240px;background:#f0f0f0}
.am-service-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.am-service-card:hover .am-service-card__image img{transform:scale(1.05)}
.am-service-card__content{padding:24px}
.am-service-card__title{margin:0 0 12px;font-size:22px;font-weight:600}
.am-service-card__title a{color:#1a1a1a;text-decoration:none}
.am-service-card__title a:hover{color:#fbbf24}
.am-service-card__excerpt{color:#666;line-height:1.6;margin-bottom:16px}
.am-service-card__link{color:#fbbf24;font-weight:500;text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:gap .2s ease}
.am-service-card__link:hover{gap:10px}

.am-service-content{padding:40px 0 60px}
.am-service-layout{display:grid;grid-template-columns:1fr 320px;gap:40px}
.am-service-layout--full{grid-template-columns:1fr}
.am-service-main{background:#fff;padding:40px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.am-service-featured-image{margin-bottom:30px;border-radius:6px;overflow:hidden}
.am-service-featured-image img{width:100%;height:auto;display:block}
.am-service-text{line-height:1.8;color:#333}
.am-service-text h2{margin-top:30px;margin-bottom:16px;font-size:26px;color:#1a1a1a}
.am-service-text h3{margin-top:24px;margin-bottom:12px;font-size:20px;color:#1a1a1a}
.am-service-text p{margin-bottom:16px}
.am-service-text ul, .am-service-text ol{margin:16px 0;padding-left:24px}
.am-service-text li{margin-bottom:8px}

.am-service-sidebar{display:flex;flex-direction:column;gap:24px}
.am-service-menu{background:#fff;padding:24px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.am-service-menu__title{font-size:18px;margin:0 0 16px;padding-bottom:12px;border-bottom:2px solid #fbbf24}
.am-service-menu__list{list-style:none;margin:0;padding:0}
.am-service-menu__list li{margin-bottom:8px}
.am-service-menu__list a{display:block;padding:10px 14px;color:#333;text-decoration:none;border-radius:4px;transition:background .2s ease, color .2s ease}
.am-service-menu__list a:hover{background:#f9f9f9;color:#fbbf24}
.am-service-menu__item--current a{background:#fbbf24;color:#fff;font-weight:500}
.am-service-menu__item--current a:hover{background:#e6a91f}

.am-service-cta{background:linear-gradient(135deg, #1a1a1a, #2d2d2d);color:#fff;padding:28px;border-radius:8px;text-align:center}
.am-service-cta h4{margin:0 0 12px;font-size:20px}
.am-service-cta p{margin:0 0 20px;font-size:14px;color:rgba(255,255,255,.8);line-height:1.6}
.am-service-cta__title{margin:0 0 12px;font-size:20px}
.am-service-cta__text{margin:0 0 20px;font-size:14px;color:rgba(255,255,255,.8);line-height:1.6}
.am-service-cta__contact{margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.2);font-size:14px;color:rgba(255,255,255,.9)}
.am-service-cta__contact strong{color:#fbbf24;display:block;margin-bottom:4px}
.am-service-cta__contact a{color:#fff;text-decoration:none}
.am-service-cta__contact a:hover{color:#fbbf24}

.am-service-cta--below{margin-top:28px}

/* Works nav buttons (under hero on gallery pages) */
.am-works-nav{background:linear-gradient(135deg, #151515, #2a2a2a);padding:18px 0}
.am-works-nav__list{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.am-works-nav__btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#fff;text-decoration:none;font-size:12px;letter-spacing:.08em;text-transform:uppercase;transition:transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease}
.am-works-nav__btn:hover{transform:translateY(-1px);border-color:rgba(251,191,36,.45);color:var(--am-accent);background:rgba(251,191,36,.10)}
.am-works-nav__btn.is-active{border-color:rgba(251,191,36,.65);background:rgba(251,191,36,.18);color:var(--am-accent)}

.am-button{display:inline-block;padding:12px 28px;border-radius:6px;font-weight:500;text-decoration:none;transition:all .3s ease;background:#fbbf24;color:#1a1a1a}
.am-button:hover{background:#e6a91f;transform:translateY(-2px);box-shadow:0 4px 12px rgba(251,191,36,.3)}
.am-button--primary{background:#fbbf24;color:#1a1a1a}
.am-button--primary:hover{background:#e6a91f;transform:translateY(-2px);box-shadow:0 4px 12px rgba(251,191,36,.3)}

.am-empty-message{text-align:center;color:#999;padding:60px 20px;font-size:16px}

.am-service-cta__contacts{margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.2);font-size:14px}
.am-service-cta__contacts p{margin:0 0 12px;color:rgba(255,255,255,.9)}
.am-service-cta__contacts strong{color:#fbbf24;display:block;margin-bottom:4px}

@media (max-width: 960px){
  .am-service-layout{grid-template-columns:1fr;gap:30px}
  .am-service-sidebar{flex-direction:row;gap:20px}
  .am-service-menu, .am-service-cta{flex:1}
}

@media (max-width: 768px){
  .am-page-title{font-size:32px}
  .am-page-subtitle{font-size:16px}
  .am-services-list{grid-template-columns:1fr;gap:20px}
  .am-service-main{padding:24px}
  .am-service-sidebar{flex-direction:column}
}

/* ========================================
   Portfolio & Gallery Styles
   ======================================== */

/* Portfolio Grid */
.am-portfolio-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 30px;
}

/* Works grid (legacy) – keep in sync with Services grid */
.am-works-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}

.am-portfolio-card {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
  transition: transform .3s ease, box-shadow .3s ease;
}

.am-portfolio-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 24px rgba(0,0,0,.15);
}

.am-portfolio-card-image {
  position: relative;
  height: 280px;
  overflow: hidden;
}

.am-portfolio-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}

.am-portfolio-card:hover .am-portfolio-card-image img {
  transform: scale(1.1);
}

.am-portfolio-card-overlay {
  position: absolute;
  inset: 0;
  background: rgba(26,26,26,.85);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity .3s ease;
}

.am-portfolio-card:hover .am-portfolio-card-overlay {
  opacity: 1;
}

.am-portfolio-card-link {
  color: #fff;
  text-decoration: none;
  font-size: 16px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 24px;
  background: #fbbf24;
  border-radius: 6px;
  transition: gap .2s ease, background .2s ease;
}

.am-portfolio-card-link:hover {
  gap: 12px;
  background: #e6a91f;
}

.am-portfolio-card-link svg {
  width: 20px;
  height: 20px;
}

.am-portfolio-card-content {
  padding: 24px;
}

.am-portfolio-card-content h2 {
  margin: 0 0 12px;
  font-size: 22px;
  font-weight: 600;
}

.am-portfolio-card-content h2 a {
  color: #1a1a1a;
  text-decoration: none;
  transition: color .2s ease;
}

.am-portfolio-card-content h2 a:hover {
  color: #fbbf24;
}

.am-portfolio-card-content p {
  color: #666;
  line-height: 1.6;
  margin: 0;
}

/* Gallery Grid */
.am-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 24px;
}

.am-gallery-item {
  position: relative;
  aspect-ratio: 1;
  border-radius: 6px;
  overflow: hidden;
  background: #f0f0f0;
  cursor: pointer;
}

.am-gallery-link {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}

.am-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}

.am-gallery-item:hover img {
  transform: scale(1.1);
}

.am-gallery-overlay {
  position: absolute;
  inset: 0;
  background: rgba(251,191,36,.9);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity .3s ease;
}

.am-gallery-item:hover .am-gallery-overlay {
  opacity: 1;
}

.am-gallery-overlay svg {
  color: #1a1a1a;
}

/* Button Outline */
.am-button-outline {
  display: inline-block;
  padding: 12px 28px;
  border: 2px solid #fbbf24;
  border-radius: 6px;
  color: #1a1a1a;
  font-weight: 500;
  text-decoration: none;
  transition: all .3s ease;
}

.am-button-outline:hover {
  background: #fbbf24;
  transform: translateX(-4px);
}

/* Responsive */
@media (max-width: 1200px) {
  .am-portfolio-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .am-works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  
  .am-gallery-grid {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 20px;
  }
}

@media (max-width: 640px) {
  .am-portfolio-grid {
    grid-template-columns: 1fr;
  }
  .am-works-grid{grid-template-columns:1fr}
  
  .am-gallery-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  
  .am-portfolio-card-image {
    height: 240px;
  }
}

/* ========================================
   Page Content Styles (for all pages)
   ======================================== */

/* Hero content lists */
.am-page-hero ul,
.am-page-hero ol {
  margin: 16px 0;
  padding-left: 0;
  list-style-position: inside;
  text-align: left;
  display: inline-block;
  max-width: 600px;
}

.am-page-hero ul li,
.am-page-hero ol li {
  margin-bottom: 8px;
  padding-left: 0;
}

/* Gallery page content */
.am-gallery-page .entry-content ul,
.am-gallery-page .entry-content ol,
.am-portfolio-page .entry-content ul,
.am-portfolio-page .entry-content ol {
  margin: 16px 0;
  padding-left: 24px;
  list-style-position: outside;
}

.am-gallery-page .entry-content li,
.am-portfolio-page .entry-content li {
  margin-bottom: 8px;
}

/* Fix for centered text with lists */
.text-center ul,
.text-center ol {
  text-align: left;
  display: inline-block;
}

/* ========================================
   GLightbox Custom Styles
   ======================================== */

/* Customize GLightbox to match theme */
.goverlay {
  background: rgba(0, 0, 0, 0.95) !important;
}

.gslide-title {
  color: #fbbf24;
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 10px;
}

.gslide-description {
  color: rgba(255, 255, 255, 0.9);
  font-size: 14px;
  line-height: 1.6;
}

/* Navigation buttons */
.gnext,
.gprev {
  background: rgba(251, 191, 36, 0.9) !important;
  border-radius: 50%;
  width: 50px !important;
  height: 50px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.3s ease !important;
}

.gnext:hover,
.gprev:hover {
  background: #fbbf24 !important;
  transform: scale(1.1);
}

.gnext svg,
.gprev svg {
  stroke: #1a1a1a;
  width: 24px;
  height: 24px;
}

/* Close button */
.gclose {
  background: rgba(251, 191, 36, 0.9) !important;
  border-radius: 50%;
  width: 44px !important;
  height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.3s ease !important;
  opacity: 1 !important;
  z-index: 99999 !important;
}

.gclose:hover {
  background: #fbbf24 !important;
  transform: rotate(90deg);
}

.gclose svg {
  stroke: #1a1a1a !important;
  width: 22px !important;
  height: 22px !important;
}

/* Counter */
.gslide-number {
  background: rgba(251, 191, 36, 0.9);
  color: #1a1a1a;
  font-weight: 600;
  padding: 8px 16px;
  border-radius: 20px;
  font-size: 14px;
}

/* Loader */
.gloader {
  border-color: rgba(251, 191, 36, 0.2) !important;
  border-top-color: #fbbf24 !important;
}

/* ========================================
   Footer Styles
   ======================================== */

/* Smooth scroll behavior */
html {
  scroll-behavior: smooth;
}

/* Ensure footer stays at bottom */
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

footer {
  margin-top: auto;
}

/* Footer link hover effects */
footer a:not(.w-10) {
  position: relative;
}

footer a:not(.w-10)::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0;
  height: 1px;
  background: #fbbf24;
  transition: width 0.3s ease;
}

footer a:not(.w-10):hover::after {
  width: 100%;
}

/* ========================================
   Contact Page Styles
   ======================================== */

/* Remove white background and padding from main on contact page */
body.page-template-page-contact main {
  background: transparent;
  padding: 0;
  margin: 0;
}

/* Breadcrumbs - universal for all pages with breadcrumbs */
.am-breadcrumbs {
  font-size: 13px;
  letter-spacing: 0.1em;
  margin-bottom: 32px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.7);
  background: transparent;
  text-align: center;
}

.am-breadcrumbs a {
  color: rgba(255,255,255,0.7);
  text-decoration: none;
  transition: color 0.3s ease;
}

.am-breadcrumbs a:hover {
  color: #fbbf24;
}

.am-breadcrumbs__separator {
  margin: 0 10px;
  color: rgba(255,255,255,0.4);
}

.am-breadcrumbs__current {
  color: #fbbf24;
  font-weight: 600;
}

/* Contact Section */
.am-contact-section {
  padding: 80px 0;
  background: #0b0b0b;
}

.am-contact-grid {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 60px;
}

/* Contact Info Column */
.am-contact-info {
  color: #fff;
}

.am-contact-heading {
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 40px;
  color: #fbbf24;
}

.am-contact-block {
  margin-bottom: 40px;
}

.am-contact-block__title {
  font-size: 18px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.am-contact-block__text {
  color: rgba(255,255,255,0.7);
  line-height: 1.8;
  margin: 0;
}

.am-contact-link {
  color: rgba(255,255,255,0.9);
  text-decoration: none;
  transition: color 0.3s ease;
}

.am-contact-link:hover {
  color: #fbbf24;
}

/* Contact Form */
.am-contact-form-wrapper {
  background: linear-gradient(135deg, #1a1a1a, #2d2d2d);
  padding: 50px;
  border-radius: 12px;
  border: 1px solid rgba(251,191,36,0.1);
}

.am-contact-form {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.am-form-group {
  display: flex;
  flex-direction: column;
}

.am-form-group label {
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.am-form-group input,
.am-form-group textarea {
  background: rgba(0,0,0,0.3);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 4px;
  padding: 14px 18px;
  color: #fff;
  font-size: 15px;
  transition: all 0.3s ease;
}

.am-form-group input:focus,
.am-form-group textarea:focus {
  outline: none;
  border-color: #fbbf24;
  background: rgba(0,0,0,0.5);
}

.am-form-group textarea {
  resize: vertical;
  min-height: 150px;
}

/* Contact Form 7 Compatibility */
.am-contact-form-wrapper .wpcf7-form p {
  margin-bottom: 24px;
}

.am-contact-form-wrapper .wpcf7-form label {
  display: block;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.am-contact-form-wrapper .wpcf7-form input[type="text"],
.am-contact-form-wrapper .wpcf7-form input[type="email"],
.am-contact-form-wrapper .wpcf7-form input[type="tel"],
.am-contact-form-wrapper .wpcf7-form textarea {
  width: 100%;
  background: rgba(0,0,0,0.3);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 4px;
  padding: 14px 18px;
  color: #fff;
  font-size: 15px;
  transition: all 0.3s ease;
}

.am-contact-form-wrapper .wpcf7-form input:focus,
.am-contact-form-wrapper .wpcf7-form textarea:focus {
  outline: none;
  border-color: #fbbf24;
  background: rgba(0,0,0,0.5);
}

.am-contact-form-wrapper .wpcf7-form textarea {
  resize: vertical;
  min-height: 150px;
}

.am-contact-form-wrapper .wpcf7-form input[type="submit"] {
  background: #fbbf24;
  color: #000;
  border: none;
  padding: 14px 32px;
  font-size: 16px;
  font-weight: 600;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.am-contact-form-wrapper .wpcf7-form input[type="submit"]:hover {
  background: #e6a91f;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(251,191,36,0.4);
}

/* Map Section */
.am-contact-map {
  margin-top: 0;
}

.am-map-container {
  width: 100%;
  height: 500px;
  position: relative;
}

.am-map-container iframe {
  width: 100%;
  height: 100%;
  display: block;
}

/* Responsive */
@media (max-width: 968px) {
  .am-contact-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  
  .am-contact-form-wrapper {
    padding: 35px;
  }
  
  .am-page-hero {
    padding: 60px 0 40px;
  }
  
  .am-contact-heading {
    font-size: 28px;
  }
}

@media (max-width: 640px) {
  .am-contact-form-wrapper {
    padding: 25px;
  }
  
  .am-contact-section {
    padding: 50px 0;
  }
  
  .am-map-container {
    height: 400px;
  }
  
  .am-page-hero {
    padding: 50px 0 30px;
  }
}

