/*
Theme Name: FOTOAMA Creative Studio Child
Theme URI: https://fotoama-studio.de
Description: Indywidualny child theme dla FOTOAMA Creative Studio, oparty na Astra.
Author: Alex
Template: astra
Version: 1.0.0
Text Domain: fotoama
*/

:root{
  --c-dark:#15120F;
  --c-dark-soft:#1E1A16;
  --c-cream:#F0E9DF;
  --c-cream-soft:#E8DECF;
  --c-text-onlight:#2A231C;
  --c-text-ondark:#F4EFE6;
  --c-accent:#B6986F;
  --c-line-onlight:rgba(42,35,28,.15);
  --c-line-ondark:rgba(244,239,230,.18);
  --font-display:'Playfair Display', serif;
  --font-body:'Jost', sans-serif;
}

*{box-sizing:border-box;}
body{margin:0;padding-top:100px;font-family:var(--font-body);color:var(--c-text-onlight);background:var(--c-cream);font-weight:300;line-height:1.7;-webkit-font-smoothing:antialiased;}
body.fotoama-has-hero{padding-top:0;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;margin:0 0 .5em;letter-spacing:.02em;color:inherit;}
h2{font-size:clamp(1.8rem,3vw,2.6rem);}
h3{font-size:1.25rem;}
.fotoama-container{max-width:1180px;margin:0 auto;padding:0 24px;}
.fotoama-section{padding:90px 0;}
.fotoama-section--cream{background:var(--c-cream);}
.fotoama-section--dark{background:var(--c-dark);color:var(--c-text-ondark);}
.fotoama-section--dark h2,.fotoama-section--dark h3{color:var(--c-text-ondark);}
.fotoama-eyebrow{display:inline-block;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--c-accent);margin-bottom:14px;}
.fotoama-script{font-family:var(--font-display);font-style:italic;color:var(--c-accent);font-size:1.15rem;margin-top:24px;}
.fotoama-center{text-align:center;margin-top:48px;}

/* Buttons */
.fotoama-btn{display:inline-block;padding:14px 34px;border:1px solid currentColor;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;transition:.25s;cursor:pointer;background:none;}
.fotoama-btn--outline-light{color:var(--c-text-ondark);border-color:rgba(244,239,230,.5);}
.fotoama-btn--outline-light:hover{background:var(--c-text-ondark);color:var(--c-dark);}

/* Header */
.fotoama-header{position:fixed;top:0;left:0;width:100%;z-index:100;background:transparent;transition:background .3s,padding .3s;padding:26px 0;}
.fotoama-header__inner{max-width:1280px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
body:not(.fotoama-has-hero) .fotoama-header,
.fotoama-header.is-scrolled{background:var(--c-dark);padding:16px 0;}
.fotoama-logo{display:flex;flex-direction:column;line-height:1.1;color:var(--c-text-ondark);}
.fotoama-logo .custom-logo-link{display:block;}
.fotoama-logo img.custom-logo{max-height:54px;width:auto;display:block;}
.fotoama-logo__text{font-family:var(--font-display);font-size:1.3rem;letter-spacing:.12em;}
.fotoama-logo__sub{font-size:.6rem;letter-spacing:.22em;color:var(--c-accent);}
.fotoama-nav__list{display:flex;gap:30px;list-style:none;margin:0;padding:0;}
.fotoama-nav__list a{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--c-text-ondark);padding-bottom:6px;border-bottom:1px solid transparent;}
.fotoama-nav__list a:hover{border-color:var(--c-accent);}
.fotoama-header__icons{display:flex;align-items:center;gap:18px;}
.fotoama-icon{color:var(--c-text-ondark);position:relative;}
.fotoama-icon--text{font-size:.7rem;letter-spacing:.04em;}
.fotoama-cart__count{position:absolute;top:-8px;right:-10px;background:var(--c-accent);color:var(--c-dark);font-size:.6rem;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;}
.fotoama-menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:4px;}
.fotoama-menu-toggle span{width:22px;height:1px;background:var(--c-text-ondark);}

/* Hero */
.fotoama-hero{position:relative;height:100vh;min-height:560px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.fotoama-hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,18,15,.35),rgba(21,18,15,.65));z-index:1;}
.fotoama-hero__content{position:relative;z-index:2;text-align:center;color:var(--c-text-ondark);padding:0 20px;}
.fotoama-moon{display:inline-flex;color:var(--c-text-ondark);margin-bottom:18px;opacity:.85;}
.fotoama-hero__title{font-size:clamp(2.6rem,6vw,4.2rem);letter-spacing:.1em;margin-bottom:4px;}
.fotoama-hero__subtitle{letter-spacing:.3em;font-size:.85rem;margin-bottom:22px;color:var(--c-accent);}
.fotoama-hero__tagline{letter-spacing:.18em;font-size:.85rem;margin-bottom:30px;}
.fotoama-scroll-indicator{display:block;margin:34px auto 0;width:fit-content;color:var(--c-text-ondark);animation:fotoama-bounce 2s infinite;}
@keyframes fotoama-bounce{0%,100%{transform:translateY(0);}50%{transform:translateY(6px);}}

/* Image placeholder helper */
.fotoama-img{position:absolute;inset:0;width:100%;height:100%;background-size:cover;background-position:center;z-index:0;}
.fotoama-img--placeholder{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:flex-end;padding:16px;background:linear-gradient(135deg,#2a2520,#15120f);color:rgba(244,239,230,.32);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;}

/* Intro */
.fotoama-intro__grid{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:start;}
.fotoama-features{display:grid;grid-template-columns:1fr 1fr;gap:34px 28px;}
.fotoama-feature__icon{color:var(--c-accent);margin-bottom:10px;display:inline-block;}
.fotoama-feature h3{font-size:.95rem;text-transform:uppercase;letter-spacing:.08em;}
.fotoama-feature p{font-size:.88rem;color:rgba(42,35,28,.75);margin:0;}

/* Portfolio teaser */
.fotoama-section-heading{text-align:center;margin-bottom:50px;}
.fotoama-section-heading h2{letter-spacing:.18em;position:relative;display:inline-block;padding-bottom:18px;}
.fotoama-section-heading h2:after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:50px;height:1px;background:var(--c-accent);}
.fotoama-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;}
.fotoama-tile{position:relative;aspect-ratio:3/4;overflow:hidden;display:block;}
.fotoama-tile__label{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:22px 18px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.7));color:#fff;font-size:.85rem;letter-spacing:.1em;}
.fotoama-tile__label small{display:block;font-size:.68rem;color:var(--c-accent);margin-top:6px;letter-spacing:.06em;text-transform:none;}

/* Shop split banner */
.fotoama-shop-split{display:grid;grid-template-columns:1fr 1fr;}
.fotoama-shop-split__col{position:relative;min-height:420px;display:flex;align-items:center;padding:50px;background:var(--c-dark-soft);overflow:hidden;}
.fotoama-shop-split__content{position:relative;z-index:2;color:var(--c-text-ondark);max-width:340px;}
.fotoama-shop-split__col .fotoama-img,
.fotoama-shop-split__col .fotoama-img--placeholder{opacity:.35;}

/* Footer */
.fotoama-footer{background:var(--c-dark);color:rgba(244,239,230,.8);padding:80px 24px 0;}
.fotoama-footer__main{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:40px;padding-bottom:50px;border-bottom:1px solid var(--c-line-ondark);}
.fotoama-footer h4{color:var(--c-text-ondark);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px;}
.fotoama-footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;font-size:.88rem;}
.fotoama-footer a:hover{color:var(--c-accent);}
.fotoama-footer__brand p{font-size:.88rem;}
.fotoama-social{display:flex;gap:12px;margin-top:16px;}
.fotoama-social a{width:32px;height:32px;border:1px solid var(--c-line-ondark);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;}
.fotoama-newsletter{display:flex;border-bottom:1px solid var(--c-line-ondark);margin-top:6px;}
.fotoama-newsletter input{flex:1;background:none;border:0;color:var(--c-text-ondark);padding:10px 0;font-family:var(--font-body);}
.fotoama-newsletter input::placeholder{color:rgba(244,239,230,.5);}
.fotoama-newsletter button{background:none;border:0;color:var(--c-accent);font-size:1.1rem;cursor:pointer;}
.fotoama-footer__bottom{max-width:1180px;margin:0 auto;text-align:center;font-size:.78rem;padding:24px 0;}

/* Mobile nav (driven by JS toggle) */
@media (max-width:900px){
  .fotoama-nav{display:none;}
  .fotoama-menu-toggle{display:flex;}
  .fotoama-intro__grid{grid-template-columns:1fr;gap:40px;}
  .fotoama-features{grid-template-columns:1fr 1fr;}
  .fotoama-tiles{grid-template-columns:1fr 1fr;}
  .fotoama-shop-split{grid-template-columns:1fr;}
  .fotoama-footer__main{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .fotoama-features{grid-template-columns:1fr;}
  .fotoama-tiles{grid-template-columns:1fr;}
  .fotoama-footer__main{grid-template-columns:1fr;}
}
.fotoama-nav.is-open{display:block;position:fixed;inset:0;background:var(--c-dark);padding:110px 30px 30px;z-index:99;overflow-y:auto;}
.fotoama-nav.is-open .fotoama-nav__list{flex-direction:column;gap:26px;}

/* ===== Über uns ===== */

/* Page hero (kürzer als Startseite-Hero) */
.fotoama-page-hero{position:relative;min-height:62vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--c-dark);margin-top:-100px;}
.fotoama-page-hero__content{position:relative;z-index:2;text-align:center;color:var(--c-text-ondark);padding:140px 20px 40px;max-width:640px;}
.fotoama-page-hero__content h1{font-size:clamp(2.2rem,4.5vw,3.2rem);letter-spacing:.16em;margin-bottom:18px;}
.fotoama-script--light{color:rgba(244,239,230,.75);}
.fotoama-page-hero__content .fotoama-btn + .fotoama-btn{margin-left:14px;}

/* Zweiter Button-Stil für helle Sektionen */
.fotoama-btn--outline-dark{color:var(--c-text-onlight);border-color:rgba(42,35,28,.4);}
.fotoama-btn--outline-dark:hover{background:var(--c-text-onlight);color:var(--c-cream);}

/* Geschichte */
.fotoama-history__grid{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center;}
.fotoama-history__text p{margin-bottom:18px;}
.fotoama-history__image{position:relative;aspect-ratio:4/5;border-radius:2px;overflow:hidden;}

/* Philosophie */
.fotoama-philosophy__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;text-align:center;}
.fotoama-philosophy__item .fotoama-feature__icon{display:flex;justify-content:center;}
.fotoama-philosophy__item h3{font-size:.85rem;letter-spacing:.12em;margin-top:14px;}
.fotoama-philosophy__item p{font-size:.85rem;color:rgba(244,239,230,.65);margin:0;}

/* Studio */
.fotoama-studio__grid{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:center;}
.fotoama-studio__text p{margin-bottom:18px;}
.fotoama-studio__text .fotoama-btn{margin-top:10px;}
.fotoama-studio__images{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:1fr 1fr;gap:14px;height:480px;}
.fotoama-studio__large{position:relative;grid-row:1 / 3;border-radius:2px;overflow:hidden;}
.fotoama-studio__small{position:relative;border-radius:2px;overflow:hidden;}

/* CTA Banner (wiederverwendbar auf mehreren Seiten) */
.fotoama-cta-banner{position:relative;min-height:46vh;display:flex;align-items:center;justify-content:center;overflow:hidden;text-align:center;}
.fotoama-cta-banner__content{position:relative;z-index:2;color:var(--c-text-ondark);max-width:560px;padding:0 20px;}
.fotoama-cta-banner__content h2{font-size:clamp(1.6rem,3vw,2.3rem);letter-spacing:.1em;}
.fotoama-cta-banner__content p{margin-bottom:26px;color:rgba(244,239,230,.8);}

@media (max-width:900px){
	.fotoama-history__grid,
	.fotoama-studio__grid{grid-template-columns:1fr;gap:36px;}
	.fotoama-studio__grid{direction:ltr;}
	.fotoama-philosophy__grid{grid-template-columns:1fr 1fr;gap:34px;}
	.fotoama-studio__images{height:340px;}
}
@media (max-width:560px){
	.fotoama-philosophy__grid{grid-template-columns:1fr;}
	.fotoama-studio__images{grid-template-columns:1fr;grid-template-rows:auto;height:auto;}
	.fotoama-studio__large{grid-row:auto;aspect-ratio:4/3;}
	.fotoama-studio__small{aspect-ratio:4/3;}
}

/* ===== Portfolio ===== */

.fotoama-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:50px;}
.fotoama-filter{display:inline-block;background:none;border:1px solid var(--c-line-onlight);color:var(--c-text-onlight);padding:9px 20px;font-family:var(--font-body);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:.2s;text-decoration:none;}
.fotoama-filters--shop{margin-bottom:40px;}
.fotoama-filter.is-active,
.fotoama-filter:hover{background:var(--c-text-onlight);color:var(--c-cream);border-color:var(--c-text-onlight);}

.fotoama-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;grid-auto-flow:dense;}
.fotoama-gallery-item{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--c-dark-soft);}
.fotoama-gallery-item img{width:100%;height:100%;object-fit:cover;}
.fotoama-gallery-item--tall{grid-row:span 2;aspect-ratio:auto;}
.fotoama-gallery-item__caption{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.65));color:#fff;font-size:.78rem;letter-spacing:.06em;opacity:0;transition:.25s;}
.fotoama-gallery-item:hover .fotoama-gallery-item__caption{opacity:1;}
.fotoama-gallery-empty{text-align:center;max-width:480px;margin:0 auto;padding:60px 20px;color:rgba(42,35,28,.7);}
.fotoama-gallery-empty p{margin:0 0 10px;}

.fotoama-collections__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;}
.fotoama-collection{position:relative;aspect-ratio:3/4;overflow:hidden;}
.fotoama-collection__label{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:24px 20px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.75));color:#fff;}
.fotoama-collection__label h3{font-size:1rem;letter-spacing:.08em;margin-bottom:4px;color:#fff;}
.fotoama-collection__label span{display:block;font-size:.72rem;color:rgba(255,255,255,.6);margin-bottom:10px;}
.fotoama-collection__link{font-size:.72rem;letter-spacing:.06em;color:var(--c-accent);border-bottom:1px solid transparent;}
.fotoama-collection__link:hover{border-color:var(--c-accent);}

@media (max-width:900px){
	.fotoama-gallery-grid{grid-template-columns:repeat(2,1fr);}
	.fotoama-collections__grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
	.fotoama-gallery-grid{grid-template-columns:1fr;}
	.fotoama-gallery-item--tall{grid-row:span 1;}
	.fotoama-collections__grid{grid-template-columns:1fr;}
}

/* ===== Angebot ===== */

.fotoama-section-sub{color:rgba(42,35,28,.65);margin-top:-10px;}
.fotoama-section--dark .fotoama-section-sub{color:rgba(244,239,230,.6);}

.fotoama-btn--solid{background:var(--c-text-onlight);color:var(--c-cream);border-color:var(--c-text-onlight);}
.fotoama-btn--solid:hover{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-dark);}

/* Sessions */
.fotoama-sessions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;}
.fotoama-session-card{display:block;position:relative;aspect-ratio:3/4;overflow:hidden;}
.fotoama-session-card__content{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:24px 20px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.8));color:#fff;}
.fotoama-session-card__content h3{font-size:1rem;letter-spacing:.05em;color:#fff;margin-bottom:8px;}
.fotoama-session-card__content p{font-size:.82rem;color:rgba(255,255,255,.75);margin-bottom:12px;}
.fotoama-session-card__link{font-size:.78rem;color:var(--c-accent);}

/* Process */
.fotoama-process{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;}
.fotoama-process__step{text-align:center;position:relative;}
.fotoama-process__num{display:block;font-family:var(--font-display);font-style:italic;color:var(--c-accent);opacity:.6;font-size:1.1rem;margin-bottom:6px;}
.fotoama-process__step .fotoama-feature__icon{display:flex;justify-content:center;}
.fotoama-process__step h3{font-size:.85rem;letter-spacing:.06em;margin-top:10px;}
.fotoama-process__step p{font-size:.82rem;color:rgba(42,35,28,.65);margin:0;}

/* Premium */
.fotoama-premium__grid{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center;}
.fotoama-premium__text p{color:rgba(244,239,230,.75);margin-bottom:26px;}
.fotoama-premium__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px;}
.fotoama-premium__list li{display:flex;align-items:flex-start;gap:14px;}
.fotoama-premium__list .fotoama-feature__icon{color:var(--c-accent);flex-shrink:0;margin-top:2px;}
.fotoama-premium__list strong{display:block;font-size:.88rem;letter-spacing:.04em;}
.fotoama-premium__list span{display:block;font-size:.82rem;color:rgba(244,239,230,.6);margin-top:2px;}
.fotoama-premium__image{position:relative;aspect-ratio:4/5;border-radius:2px;overflow:hidden;}

/* Pricing */
.fotoama-pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start;}
.fotoama-pricing-card{position:relative;border:1px solid var(--c-line-onlight);padding:44px 34px;text-align:center;background:var(--c-cream);}
.fotoama-pricing-card--popular{border-color:var(--c-accent);border-width:2px;background:#fff;transform:translateY(-10px);}
.fotoama-pricing-card__badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--c-accent);color:var(--c-dark);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;padding:6px 16px;white-space:nowrap;}
.fotoama-pricing-card h3{font-size:1.05rem;letter-spacing:.1em;margin-bottom:14px;}
.fotoama-pricing-card__price{font-family:var(--font-display);font-size:2.1rem;margin-bottom:26px;}
.fotoama-pricing-card ul{list-style:none;margin:0 0 30px;padding:0;display:flex;flex-direction:column;gap:10px;font-size:.85rem;color:rgba(42,35,28,.75);}
.fotoama-pricing-note{text-align:center;font-size:.8rem;color:rgba(42,35,28,.55);margin-top:34px;}

/* Leistung - Einzelseite (the_content Typografie) */
.fotoama-leistung-content{max-width:720px;margin:0 auto;font-size:1.02rem;}
.fotoama-leistung-content p{margin-bottom:20px;}
.fotoama-leistung-content ul,
.fotoama-leistung-content ol{margin-bottom:20px;padding-left:22px;}
.fotoama-leistung-content h2,
.fotoama-leistung-content h3{margin-top:36px;}

/* FAQ */
.fotoama-faq{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;}
.fotoama-faq__item{display:flex;flex-direction:column;text-align:left;background:none;border:0;border-bottom:1px solid var(--c-line-onlight);padding:18px 0;cursor:pointer;font-family:var(--font-body);position:relative;color:var(--c-text-onlight);width:100%;}
.fotoama-faq__item > span:first-child{font-size:.92rem;padding-right:30px;color:var(--c-text-onlight);}
.fotoama-faq__icon{position:absolute;top:16px;right:0;font-size:1.1rem;color:var(--c-accent);transition:.2s;}
.fotoama-faq__item.is-open .fotoama-faq__icon{transform:rotate(45deg);}
.fotoama-faq__answer{display:none;font-size:.85rem;color:rgba(42,35,28,.7) !important;margin-top:12px;padding-right:30px;}
.fotoama-faq__item.is-open .fotoama-faq__answer{display:block;}

@media (max-width:900px){
	.fotoama-sessions-grid{grid-template-columns:1fr 1fr;}
	.fotoama-process{grid-template-columns:1fr 1fr;gap:34px;}
	.fotoama-premium__grid{grid-template-columns:1fr;gap:40px;}
	.fotoama-pricing-grid{grid-template-columns:1fr;max-width:420px;margin:0 auto;}
	.fotoama-pricing-card--popular{transform:none;}
	.fotoama-faq{grid-template-columns:1fr;}
}
@media (max-width:560px){
	.fotoama-sessions-grid{grid-template-columns:1fr;}
	.fotoama-process{grid-template-columns:1fr;}
}

/* ===== Kontakt ===== */

.fotoama-contact__grid{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;}
.fotoama-contact__form h2{margin-bottom:26px;}

.fotoama-form-message{padding:14px 18px;margin-bottom:24px;font-size:.88rem;border-left:3px solid;}
.fotoama-form-message--success{background:rgba(182,152,111,.12);border-color:var(--c-accent);color:var(--c-text-onlight);}
.fotoama-form-message--error{background:rgba(180,60,40,.08);border-color:#b43c28;color:#8a2e1e;}

.fotoama-form-honeypot{position:absolute;left:-9999px;top:-9999px;}
.fotoama-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.fotoama-form-field{margin-bottom:18px;}
.fotoama-form-field label{display:block;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(42,35,28,.7);margin-bottom:8px;}
.fotoama-form-field input[type="text"],
.fotoama-form-field input[type="email"],
.fotoama-form-field input[type="password"],
.fotoama-form-field textarea{width:100%;border:1px solid var(--c-line-onlight);background:#ffffff;padding:12px 14px;font-family:var(--font-body);font-size:.95rem;color:var(--c-text-onlight);}
.fotoama-form-field input:focus,
.fotoama-form-field textarea:focus{outline:1px solid var(--c-accent);}
.fotoama-form-field--checkbox label{display:flex;align-items:flex-start;gap:10px;font-size:.82rem;text-transform:none;letter-spacing:normal;color:rgba(42,35,28,.75);}
.fotoama-form-field--checkbox input{margin-top:3px;}
.fotoama-form-field--checkbox a{color:var(--c-accent);}

.fotoama-contact-list{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-direction:column;gap:22px;}
.fotoama-contact-list strong{display:block;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(42,35,28,.55);margin-bottom:4px;}
.fotoama-contact-list a,
.fotoama-contact-list span{font-size:.95rem;}

/* Studio besuchen */
.fotoama-visit-studio__grid{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:center;}
.fotoama-visit-studio__image{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:2px;}
.fotoama-visit-studio__text p{margin-bottom:24px;}

/* Karte + Öffnungszeiten */
.fotoama-map-section{display:grid;grid-template-columns:1.6fr 1fr;min-height:300px;}
.fotoama-map-section__map{position:relative;background:var(--c-cream-soft);}
.fotoama-map-section__map .fotoama-img--placeholder{position:absolute;}
.fotoama-map-section__hours{background:var(--c-dark);color:var(--c-text-ondark);padding:40px;display:flex;flex-direction:column;justify-content:center;}
.fotoama-map-section__hours dl{margin:18px 0 0;}
.fotoama-map-section__hours dt{font-size:.82rem;color:rgba(244,239,230,.6);}
.fotoama-map-section__hours dd{margin:2px 0 16px;font-size:1rem;}

@media (max-width:900px){
	.fotoama-contact__grid{grid-template-columns:1fr;gap:50px;}
	.fotoama-visit-studio__grid{grid-template-columns:1fr;gap:32px;}
	.fotoama-map-section{grid-template-columns:1fr;}
	.fotoama-map-section__map{min-height:280px;}
}
@media (max-width:560px){
	.fotoama-form-row{grid-template-columns:1fr;}
}

/* ===== Kundenbereich ===== */

.fotoama-page-hero--small{min-height:38vh;background:var(--c-dark);}

.fotoama-login-wrap{max-width:440px;margin:0 auto;text-align:center;}
.fotoama-login-wrap h2{margin-bottom:8px;}
.fotoama-login-form{text-align:left;margin-top:30px;}
.fotoama-login-form .fotoama-btn{width:100%;margin-top:6px;}

.fotoama-account-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;flex-wrap:wrap;gap:14px;}
.fotoama-account-header p{margin:0;}

.fotoama-client-galleries{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px;}
.fotoama-client-gallery-card{display:block;border:1px solid var(--c-line-onlight);padding:28px;background:var(--c-cream-soft);}
.fotoama-client-gallery-card h3{font-size:1.05rem;margin-bottom:8px;}
.fotoama-client-gallery-card span{display:block;font-size:.82rem;color:rgba(42,35,28,.6);}
.fotoama-client-gallery-card .fotoama-session-card__link{color:var(--c-accent);margin-top:10px;}

.fotoama-proof-count{text-align:center;font-size:.92rem;color:rgba(42,35,28,.7);margin-bottom:24px;}
.fotoama-proof-count #fotoama-count{font-family:var(--font-display);font-size:1.2rem;color:var(--c-accent);}
.fotoama-proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.fotoama-proof-item{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;cursor:pointer;border:3px solid transparent;}
.fotoama-proof-item img{width:100%;height:100%;object-fit:cover;}
.fotoama-proof-item input{position:absolute;opacity:0;}
.fotoama-proof-item__check{position:absolute;top:8px;right:8px;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.85);color:var(--c-dark);display:flex;align-items:center;justify-content:center;font-size:.85rem;opacity:0;transition:.15s;}
.fotoama-proof-item.is-selected{border-color:var(--c-accent);}
.fotoama-proof-item.is-selected .fotoama-proof-item__check{opacity:1;background:var(--c-accent);}
.fotoama-proof-submit{text-align:center;margin-top:34px;position:sticky;bottom:20px;}

/* Buchung (Amelia) */
.fotoama-booking-section .fotoama-container{max-width:980px;}

/* ===== WooCommerce (Shop) ===== */

/* Allgemein */
.woocommerce,
.woocommerce-page{color:var(--c-text-onlight);font-family:var(--font-body);}
.woocommerce h1,.woocommerce h2,.woocommerce h3{font-family:var(--font-display);}
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-Button{background:var(--c-text-onlight);color:var(--c-cream)!important;border:1px solid var(--c-text-onlight);border-radius:0;padding:13px 28px;font-family:var(--font-body);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;transition:.2s;box-shadow:none;}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-dark)!important;}
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-dark)!important;}

/* Hinweise / Meldungen */
.woocommerce-message,.woocommerce-info{border-top-color:var(--c-accent);background:rgba(182,152,111,.08);}
.woocommerce-error{border-top-color:#b43c28;background:rgba(180,60,40,.06);}
.woocommerce-message::before,.woocommerce-info::before{color:var(--c-accent);}
.woocommerce-message .button,.woocommerce-info .button{background:var(--c-text-onlight);}

/* Shop-Archiv: Produktraster */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;list-style:none;margin:0;}
.woocommerce ul.products li.product{position:relative;text-align:center;}
.woocommerce ul.products li.product img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:0;margin-bottom:14px;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--font-display);font-size:1rem;font-weight:500;letter-spacing:.02em;margin:0 0 6px;color:var(--c-text-onlight);}
.woocommerce ul.products li.product .price{font-family:var(--font-body);font-size:.9rem;color:var(--c-accent);}
.woocommerce ul.products li.product .price del{color:rgba(42,35,28,.4);text-decoration:line-through;margin-right:6px;}
.woocommerce ul.products li.product .price ins{text-decoration:none;}
.woocommerce ul.products li.product .button{margin-top:14px;display:inline-block;}
.woocommerce ul.products li.product .onsale{position:absolute;top:10px;left:10px;background:var(--c-accent)!important;color:var(--c-dark)!important;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px!important;border-radius:0!important;min-height:0;min-width:0;line-height:1.4;right:auto;}

/* Astra-eigenes "Card Layout" Onsale-Badge (eigene Klasse, nicht Standard-WooCommerce) */
span.ast-onsale-card,
.ast-on-card-button.ast-onsale-card{
	background:var(--c-accent)!important;
	color:var(--c-dark)!important;
	border-color:var(--c-accent)!important;
	text-transform:uppercase;
	letter-spacing:.06em;
}
.ast-on-card-button:not(.ast-onsale-card){
	background:var(--c-dark)!important;
	color:var(--c-cream)!important;
}
.ast-on-card-button:not(.ast-onsale-card):hover{
	background:var(--c-accent)!important;
	color:var(--c-dark)!important;
}
.woocommerce-result-count,.woocommerce-ordering{font-size:.85rem;color:rgba(42,35,28,.65);margin-bottom:30px;}
.woocommerce-ordering select{border:1px solid var(--c-line-onlight);background:#fff;padding:8px 12px;font-family:var(--font-body);}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul{border:0;}
.woocommerce nav.woocommerce-pagination ul li{border:0;}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{border:1px solid var(--c-line-onlight);color:var(--c-text-onlight);background:none;}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--c-text-onlight);color:var(--c-cream);}

/* Einzelnes Produkt */
.woocommerce div.product .product_title{font-family:var(--font-display);font-size:2rem;margin-bottom:10px;}
.woocommerce div.product p.price,
.woocommerce div.product span.price{color:var(--c-accent);font-size:1.3rem;font-family:var(--font-display);}
.woocommerce div.product .woocommerce-product-details__short-description{margin:20px 0;color:rgba(42,35,28,.8);}
.woocommerce div.product form.cart{margin-top:24px;}
.woocommerce div.product .stock{color:rgba(42,35,28,.55);font-size:.85rem;}
.woocommerce .quantity .qty{border:1px solid var(--c-line-onlight);padding:13px 10px;text-align:center;width:64px;background:#fff;}
.woocommerce-tabs ul.tabs{border-bottom:1px solid var(--c-line-onlight);padding:0;margin:40px 0 0;}
.woocommerce-tabs ul.tabs li{background:none;border:0;}
.woocommerce-tabs ul.tabs li a{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(42,35,28,.55);}
.woocommerce-tabs ul.tabs li.active a{color:var(--c-text-onlight);border-bottom:2px solid var(--c-accent);}
.woocommerce-tabs .panel{padding-top:24px;}

/* Warenkorb & Kasse */
.woocommerce table.shop_table{border:1px solid var(--c-line-onlight);border-radius:0;}
.woocommerce table.shop_table th{font-family:var(--font-body);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--c-line-onlight);}
.woocommerce table.shop_table td{border-top:1px solid var(--c-line-onlight);}
.woocommerce-checkout input.input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce-cart-form input.input-text{border:1px solid var(--c-line-onlight);background:#fff;padding:12px 14px;font-family:var(--font-body);}
.woocommerce-checkout .woocommerce-input-wrapper label,
.woocommerce-billing-fields label,
.woocommerce-shipping-fields label{font-size:.82rem;color:rgba(42,35,28,.7);}
#order_review_heading,#order_review{border:1px solid var(--c-line-onlight);padding:24px;background:var(--c-cream-soft);}
.woocommerce-checkout-payment ul.payment_methods{border-top:1px solid var(--c-line-onlight);}

@media (max-width:900px){
	.woocommerce ul.products{grid-template-columns:1fr 1fr;gap:20px;}
}
@media (max-width:560px){
	.woocommerce ul.products{grid-template-columns:1fr;}
}

@media (max-width:900px){
	.fotoama-client-galleries{grid-template-columns:1fr 1fr;}
	.fotoama-proof-grid{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:560px){
	.fotoama-client-galleries{grid-template-columns:1fr;}
	.fotoama-proof-grid{grid-template-columns:repeat(2,1fr);}
}

/* Shop-Hero auf volle Breite "ausbrechen", auch wenn er im Astra-Container steckt */
.fotoama-page-hero--shop{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);}

/* Einfache, sichere Variante ohne Breakout/Negative-Margin-Tricks - für tief
   verschachtelte Seiten (Warenkorb/Kasse/Konto), wo diese Tricks nicht
   zuverlässig funktionieren. */
.fotoama-page-hero.fotoama-page-hero--boxed{
	width:auto;
	margin-top:0;
	margin-left:0;
	margin-right:0;
	min-height:280px;
}
.fotoama-page-hero--boxed .fotoama-page-hero__content{padding:50px 20px;}

/* Generische Astra-Seiten (Warenkorb, Kasse, Mein Konto) - kein eigenes
   Template, also Astra-Standardstruktur. Weißen Kasten entfernen,
   Titel in unserer Typografie, einheitlicher Innenabstand. */
body,
#primary,#main,.ast-article-single,.ast-article-post,.entry-content,
.site-content,.ast-container,article,.hentry{background-color:var(--c-cream)!important;}
.entry-header.ast-no-thumbnail{max-width:1180px;margin:0 auto;padding:50px 24px 0;}
.entry-title{font-family:var(--font-display);font-size:2.2rem;font-weight:500;color:var(--c-text-onlight);margin:0;}
.entry-content{max-width:1180px;margin-left:auto;margin-right:auto;padding:30px 24px 60px;box-sizing:border-box;}
body.fotoama-wc-utility-page .entry-header{display:none;}
body.fotoama-wc-utility-page .entry-content{padding-top:0;}

/* Innenabstand direkt auf den Inhalts-Elementen, falls Astras Seiten-Layout
   für Shop/Kategorie/Produkt-Seiten kein eigenes Padding mitbringt. */
.woocommerce-breadcrumb,
.woocommerce-notices-wrapper,
.fotoama-filters--shop,
.woocommerce ul.products,
nav.woocommerce-pagination,
.woocommerce div.product{
	max-width:1180px;
	margin-left:auto;
	margin-right:auto;
	padding-left:24px;
	padding-right:24px;
	box-sizing:border-box;
}
/* Result-count/Sortierung: eigene Zeile, gleicher seitlicher Abstand, ohne die normale Float-Anordnung zu zerstören */
.woocommerce-result-count,
.woocommerce-ordering{
	max-width:1180px;
	margin-left:auto;
	margin-right:auto;
	padding-left:24px;
	padding-right:24px;
	box-sizing:border-box;
	display:block;
	width:100%;
}
