/*
Theme Name: ENSO Tattoo Studio
Theme URI: https://www.ensotattoo.de/
Author: ENSO Tattoo
Description: Individuelles, mobiloptimiertes WordPress-Theme für ENSO Tattoo in Olching.
Version: 6.3.1
Text Domain: enso-tattoo
*/
:root{--bg:#090909;--surface:#111;--panel:#171717;--text:#f6f3ee;--muted:#b9b4ac;--line:#2b2926;--accent:#c6a16b;--accent2:#e2c18c;--max:1220px;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}a{color:inherit}img{max-width:100%;height:auto;display:block}.container{width:min(var(--max),calc(100% - 44px));margin-inline:auto}.site-header{position:sticky;top:0;z-index:100;background:rgba(9,9,9,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none}.brand-logo{width:54px;height:54px;object-fit:contain;border-radius:50%;flex:0 0 auto}.brand-mark{width:42px;height:42px;border:1px solid var(--accent);border-radius:50%;display:grid;place-items:center;color:var(--accent2);font:25px var(--serif)}.brand-name{font-weight:850;letter-spacing:.22em;font-size:18px;line-height:1.15}.brand-name small{display:block;font-size:9px;letter-spacing:.34em;color:var(--muted);font-weight:500;margin-top:5px}.main-nav ul{list-style:none;display:flex;align-items:center;gap:25px;padding:0;margin:0}.main-nav a{text-decoration:none;font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:#ddd;transition:color .2s}.main-nav a:hover{color:var(--accent2)}.main-nav .menu-book a,.header-book{padding:12px 17px;border:1px solid var(--accent);color:var(--accent2)}.header-book{display:none;text-decoration:none;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.hero{min-height:690px;display:flex;align-items:center;position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(7,7,7,.97) 0%,rgba(7,7,7,.88) 42%,rgba(7,7,7,.32) 100%),url('assets/portfolio/tattoo-01.jpg') center 38%/cover no-repeat}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,var(--bg),transparent 22%,transparent 80%,rgba(0,0,0,.18));pointer-events:none}.hero-inner{position:relative;z-index:1;padding:110px 0;max-width:760px}.eyebrow,.kicker{font-size:10px;text-transform:uppercase;letter-spacing:.28em;color:var(--accent2);font-weight:750}.hero h1{font:clamp(48px,8vw,96px)/.96 var(--serif);letter-spacing:-.045em;margin:22px 0 25px}.hero h1 span{color:var(--accent2);font-style:italic}.hero p{max-width:620px;color:#dedbd5;font-size:clamp(17px,2vw,21px);margin:0}.actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 23px;text-decoration:none;text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:800;border:1px solid var(--accent);background:var(--accent);color:#101010;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px);background:var(--accent2)}.btn.ghost{background:transparent;color:var(--text)}.trust{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);background:#0d0d0d}.trust-item{text-align:center;padding:25px 12px;border-right:1px solid var(--line)}.trust-item:last-child{border:0}.trust strong{display:block;font:29px var(--serif);color:var(--accent2)}.trust span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.section{padding:96px 0}.section.alt{background:var(--surface)}.section-head{max-width:760px;margin-bottom:38px}.section h2,.page-hero h1{font:clamp(35px,5vw,58px)/1.05 var(--serif);letter-spacing:-.025em;margin:13px 0 18px}.lead{font-size:18px;color:var(--muted);max-width:760px}.portfolio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.portfolio-card{position:relative;overflow:hidden;background:#171717;aspect-ratio:4/5}.portfolio-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s;filter:saturate(.9)}.portfolio-card:hover img{transform:scale(1.045)}.portfolio-card:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.5))}.portfolio-caption{position:absolute;z-index:1;left:17px;bottom:15px;font-size:10px;letter-spacing:.16em;text-transform:uppercase}.center-action{text-align:center;margin-top:34px}.style-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.style-card{padding:30px;border:1px solid var(--line);background:var(--panel);min-height:180px}.style-card .number{font:28px var(--serif);color:var(--accent)}.style-card h3{font:25px var(--serif);margin:10px 0}.style-card p{color:var(--muted);margin:0}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:38px}.step{padding:20px 24px;border-left:1px solid var(--line)}.step:first-child{border-left:0}.step b{font:30px var(--serif);color:var(--accent)}.step h3{font:22px var(--serif);margin:10px 0}.step p{font-size:14px;color:var(--muted)}.price-wrap{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}.price-list{border-top:1px solid var(--line)}.price-row{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.price-row strong{color:var(--accent2);white-space:nowrap}.note{color:var(--muted);font-size:13px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.review{background:var(--panel);border:1px solid var(--line);padding:28px}.stars{color:var(--accent2);letter-spacing:.15em}.review blockquote{font:20px/1.45 var(--serif);margin:18px 0}.review cite{font-style:normal;color:var(--muted);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.faq-list details{border-top:1px solid var(--line);padding:20px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;font-weight:700}.faq-list p{max-width:800px;color:var(--muted)}.booking-panel{padding:58px;background:radial-gradient(circle at 90% 10%,rgba(198,161,107,.16),transparent 34%),#141414;border:1px solid var(--line)}.booking-panel h2{max-width:700px}.page-hero{padding:85px 0 55px;background:linear-gradient(110deg,#15120e,#090909);border-bottom:1px solid var(--line)}.page-content{padding:65px 0 100px}.prose{max-width:880px}.prose h2,.prose h3{font-family:var(--serif);margin-top:38px}.prose p,.prose li{color:var(--muted)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact-card{padding:28px;background:var(--panel);border:1px solid var(--line)}.site-footer{border-top:1px solid var(--line);padding:55px 0 90px;background:#070707;color:var(--muted)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px}.footer-grid h3{font:22px var(--serif);color:var(--text)}.footer-links{display:grid;gap:8px}.footer-links a{text-decoration:none;font-size:13px}.footer-bottom{border-top:1px solid var(--line);margin-top:38px;padding-top:20px;font-size:11px;display:flex;justify-content:space-between;gap:15px}.mobile-booking{display:none}.screen-reader-text{position:absolute;left:-9999px}
@media(max-width:950px){.main-nav ul{gap:14px}.main-nav a{font-size:10px}.portfolio-grid{grid-template-columns:repeat(3,1fr)}.steps{grid-template-columns:repeat(2,1fr)}.step:nth-child(3){border-left:0}.price-wrap{gap:25px}}
@media(max-width:700px){.container{width:calc(100% - 30px)}.header-inner{min-height:68px}.main-nav{display:none}.header-book{display:inline-flex}.hero{min-height:660px;background-position:57% center}.hero-inner{padding:85px 0}.hero h1{font-size:clamp(47px,14vw,72px)}.trust{grid-template-columns:1fr}.trust-item{padding:17px;border-right:0;border-bottom:1px solid var(--line)}.trust-item:last-child{border-bottom:0}.section{padding:68px 0}.portfolio-grid{grid-template-columns:repeat(2,1fr);gap:9px}.portfolio-caption{left:10px;bottom:10px;font-size:9px}.style-grid,.review-grid,.price-wrap,.contact-grid,.footer-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.step,.step:nth-child(3){border-left:1px solid var(--line)}.booking-panel{padding:34px 23px}.footer-bottom{display:block}.mobile-booking{display:flex;position:fixed;z-index:999;left:12px;right:12px;bottom:12px;box-shadow:0 10px 35px #000}body{padding-bottom:76px}}

/* Functional navigation, complete portfolio and responsive finishing */
.menu-toggle{display:none;background:transparent;border:1px solid var(--line);color:var(--text);width:44px;height:42px;padding:10px;cursor:pointer}.menu-toggle span{display:block;height:1px;background:var(--accent2);margin:5px 0;width:100%}
.portfolio-filters{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 28px}.filter-button{border:1px solid var(--line);background:#111;color:var(--muted);padding:10px 16px;font-family:inherit;font-size:10px;line-height:1.2;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.filter-button:hover,.filter-button.is-active{border-color:var(--accent);color:var(--accent2);background:#191510}.portfolio-card[hidden]{display:none!important}.portfolio-full{grid-template-columns:repeat(4,minmax(0,1fr))}.portfolio-end{text-align:center;padding:48px 0 10px}.portfolio-end p{color:var(--muted);margin-bottom:20px}.page-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:38px}.enso-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:10000;display:grid;place-items:center;padding:40px}.enso-lightbox img{max-width:min(90vw,1100px);max-height:88vh;object-fit:contain}.enso-lightbox button{position:absolute;right:22px;top:12px;background:transparent;color:#fff;border:0;font-size:42px;cursor:pointer}.main-nav .current-menu-item>a,.main-nav .current_page_item>a{color:var(--accent2)}
@media(max-width:950px){.portfolio-full{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.menu-toggle{display:block;order:3}.header-book{margin-left:auto}.main-nav{display:block;position:absolute;left:0;right:0;top:100%;background:#090909;border-bottom:1px solid var(--line);padding:0 20px;max-height:0;overflow:hidden;transition:max-height .25s ease,padding .25s ease}.main-nav.is-open{max-height:80vh;padding:12px 20px 22px}.main-nav ul{display:grid;gap:0}.main-nav li{border-bottom:1px solid var(--line)}.main-nav a{display:block;padding:13px 4px;font-size:12px}.main-nav .menu-book a{border:0;padding:13px 4px}.portfolio-full{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-filters{gap:7px}.filter-button{padding:9px 11px;font-size:9px}.enso-lightbox{padding:15px}}

/* ENSO v4: expanded portfolio, clear booking path, and robust mobile layout */
.portfolio-intro{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 34px;padding:20px 0;border-block:1px solid var(--line)}
.portfolio-intro>div{text-align:center;border-right:1px solid var(--line)}.portfolio-intro>div:last-child{border:0}
.portfolio-intro strong{display:block;color:var(--accent2);font:30px var(--serif)}.portfolio-intro span{display:block;color:var(--muted);font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.portfolio-full{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.portfolio-full .portfolio-card{aspect-ratio:4/5;cursor:zoom-in}.portfolio-full .portfolio-card img{object-position:center center}.portfolio-card[hidden]{display:none!important}
.portfolio-end{max-width:820px;margin:0 auto;text-align:center;padding:74px 0 18px}.portfolio-end h2{font:clamp(32px,4.5vw,50px)/1.08 var(--serif);margin:12px 0}.portfolio-end p{color:var(--muted);font-size:17px;max-width:700px;margin:0 auto 25px}
.page-hero .lead{max-width:780px}.page-hero .page-cta{margin-top:26px}
@media(max-width:950px){.portfolio-full{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.portfolio-full{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.portfolio-intro{gap:5px}.portfolio-intro strong{font-size:25px}.portfolio-intro span{font-size:8px;letter-spacing:.04em}.portfolio-end{padding:55px 0 10px}.page-hero .page-cta .btn{width:100%}}

/* ENSO v5.4 – information pages */
.footer-logo{width:78px;height:78px;object-fit:contain}.enso-portrait{width:100%;max-width:440px;border:1px solid var(--line);box-shadow:0 22px 60px #0008}.enso-about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:48px;align-items:center}.enso-price-table{width:100%;border-collapse:collapse;margin:24px 0 30px}.enso-price-table th,.enso-price-table td{padding:16px;border-bottom:1px solid var(--line);text-align:left}.enso-price-table td:last-child{text-align:right;color:var(--accent2);font-weight:700}.enso-faq details{border-bottom:1px solid var(--line);padding:18px 0}.enso-faq summary{cursor:pointer;font-weight:700;color:var(--text)}.enso-faq details p{margin-bottom:4px}.enso-note{border-left:3px solid var(--accent);padding:12px 18px;background:var(--panel)}@media(max-width:760px){.enso-about-grid{grid-template-columns:1fr;gap:22px}.enso-portrait{max-width:100%}.enso-price-table th,.enso-price-table td{padding:12px 7px}}

/* ENSO v5.5: linked styles and contact */
.enso-four-styles{grid-template-columns:repeat(4,minmax(0,1fr))}.enso-style-link{display:block;text-decoration:none;overflow:hidden;padding:0 0 25px;transition:transform .2s,border-color .2s}.enso-style-link:hover,.enso-style-link:focus-visible{transform:translateY(-3px);border-color:var(--accent)}.enso-style-link img{width:100%;aspect-ratio:4/3;object-fit:cover}.enso-style-link h3,.enso-style-link p,.enso-style-link .style-more{margin-left:20px;margin-right:20px}.enso-style-link .style-more{display:block;margin-top:14px;color:var(--accent2);font-size:12px}.enso-specials{margin-top:34px;padding:30px;border:1px solid var(--line);background:var(--panel)}.enso-specials h3{font:28px var(--serif);margin:0 0 16px}.enso-specials p{color:var(--muted)}.enso-whatsapp{background:#25d366;border-color:#25d366;color:#07190b}.enso-map-consent{min-height:170px;display:grid;place-items:center;background:#191919;border:1px solid var(--line)}@media(max-width:1000px){.enso-four-styles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.enso-four-styles{grid-template-columns:1fr}}

/* v5.6: external reviews widget */
.enso-reviews .elfsight-app-6ede3ce4-74cc-43f0-ad10-9384068bd909{min-height:180px;width:100%}

/* v6.2 footer profile links; originals and existing layouts unchanged */
.enso-social-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.enso-social-links a{display:inline-flex;padding:8px 12px;border:1px solid var(--line);color:var(--accent2);font-size:12px;text-decoration:none}.enso-social-links a:hover,.enso-social-links a:focus-visible{border-color:var(--accent)}

/* v6.3: picture wrappers keep the original gallery layout. */
.portfolio-card picture,.style-card picture,.portfolio-full a picture{display:block;width:100%;height:100%}
.portfolio-card picture img{width:100%;height:100%;object-fit:cover}

/* v6.3.1: Fix style cards: picture must not stretch to the entire card height. */
.enso-style-link picture{display:block;width:100%;height:auto;aspect-ratio:4/3;overflow:hidden}
.enso-style-link picture img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
.enso-style-link{height:auto;min-height:0}
