/*
Theme Name: Truhlářství Babušík
Theme URI: https://truhlarstvi-babusik.cz
Author: Truhlářství Babušík
Description: Zakázková WordPress šablona s posuvnou časovou osou realizací.
Version: 1.1.16
Text Domain: truhlarstvi-babusik
*/

:root { --ink:#171814; --paper:#e8e1d5; --cream:#eee7db; --wood:#8b5639; --line:rgba(25,28,24,.18); --font-sans:"Segoe UI",Arial,sans-serif; --font-serif:Georgia,"Times New Roman",serif; --font-accent:"Segoe Print","Bradley Hand",cursive; }
* { box-sizing:border-box; }
html { margin:0 !important; }
body.admin-bar .nav { top:32px; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font-sans),sans-serif; }
a { color:inherit; text-decoration:none; }
img { object-fit:cover; }
.hero > img,.about-visual > img,.project-image > img,.gallery figure > img { position:absolute; inset:0; width:100%; height:100%; }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.nav { position:absolute; z-index:10; top:0; left:0; width:100%; display:flex; justify-content:space-between; align-items:center; padding:26px 5vw; color:white; border-bottom:1px solid rgba(255,255,255,.25); }
.brand { display:flex; flex-direction:column; line-height:.8; width:max-content; }
.brand strong { font-family:var(--font-serif),serif; font-size:31px; font-weight:600; letter-spacing:-.03em; }
.brand span { margin-top:7px; font-size:9px; letter-spacing:.34em; text-transform:uppercase; }
.brand-logo { width:250px; height:58px; overflow:visible; display:flex; align-items:center; }
.brand-logo img { width:100%; height:100%; object-fit:contain; object-position:left center; }
.nav nav { display:flex; align-items:center; gap:34px; font-size:13px; }
.nav-cta { border:1px solid rgba(255,255,255,.45); padding:12px 18px; }
.hero { height:auto; min-height:max(760px,100svh); position:relative; color:white; overflow:hidden; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(10,13,10,.72) 0%,rgba(10,13,10,.22) 58%,rgba(10,13,10,.08)); }
.hero-copy { position:relative; z-index:2; padding:190px 7vw 140px; max-width:810px; }
.eyebrow { margin:0 0 24px; text-transform:uppercase; letter-spacing:.25em; font-size:11px; font-weight:700; color:#865033; }
.eyebrow.light { color:#d5b49c; }
h1,h2 { margin:0; font-family:var(--font-serif),serif; font-weight:500; letter-spacing:-.045em; line-height:.9; }
.hero h1 { font-size:clamp(68px,8vw,126px); }
h1 em,h2 em { font-weight:500; color:#c88a60; }
.hero-intro { margin:34px 0 0; max-width:590px; font-size:17px; line-height:1.7; color:rgba(255,255,255,.83); }
.hero-actions { margin-top:38px; display:flex; align-items:center; gap:32px; }
.button { display:inline-flex; align-items:center; justify-content:center; padding:16px 22px; border:0; font:600 13px var(--font-sans); cursor:pointer; }
.light-button { background:#f5f1e8; color:var(--ink); }
.text-link { font-size:13px; font-weight:650; }
.light-link { color:white; }
.light-link span { margin-left:10px; }
.section { padding:115px 7vw; }
.section-head { display:flex; align-items:end; justify-content:space-between; gap:50px; margin-bottom:55px; }
.section-head h2,.about-copy h2 { font-size:clamp(46px,5vw,74px); }
.section-head > p { max-width:410px; font-size:15px; line-height:1.75; color:#5e625c; }
.services { background:#1a1c18; color:#f1ece3; }
.services .section-head > p,.services .service-card p { color:#aeb2a8; }
.services .service-grid,.services .service-card { border-color:rgba(255,255,255,.17); }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }
.service-card { padding:40px 34px 15px 0; border-right:1px solid var(--line); min-height:280px; }
.service-card:not(:first-child) { padding-left:34px; }
.service-card:last-child { border:0; }
.service-card > span { color:#a06b49; font-size:12px; }
.service-card h3 { margin:55px 0 12px; font:600 25px var(--font-serif); }
.service-card p { color:#656960; font-size:14px; }
.service-card a { display:inline-block; margin-top:30px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.about { display:grid; grid-template-columns:1fr 1fr; gap:8vw; background:#a97857; color:#171814; align-items:center; }
.about .eyebrow { color:#462b1d; }
.about .about-copy > p:not(.eyebrow) { color:#2e2924; }
.about-visual { position:relative; min-height:620px; }
.about-visual > p { position:absolute; left:-25px; bottom:24px; padding:22px 28px; margin:0; background:var(--ink); color:white; display:flex; flex-direction:column; }
.about-visual span { font-size:10px; text-transform:uppercase; letter-spacing:.2em; color:#caa488; }
.about-visual strong { margin-top:6px; font:500 24px var(--font-serif); }
.about-copy > p:not(.eyebrow) { color:#555a53; line-height:1.85; font-size:15px; }
.stats { display:flex; gap:50px; padding-top:26px; margin-top:28px; border-top:1px solid var(--line); }
.stats span { display:flex; flex-direction:column; font-size:11px; text-transform:uppercase; letter-spacing:.12em; }
.stats strong { font:600 40px var(--font-serif); letter-spacing:0; }
.process { background:#20231f; color:white; }
.process h2 { font-size:clamp(48px,5vw,76px); }
.steps { display:grid; grid-template-columns:repeat(4,1fr); margin-top:65px; border-top:1px solid rgba(255,255,255,.2); }
.steps article { min-height:245px; padding:30px 25px 15px 0; border-right:1px solid rgba(255,255,255,.18); }
.steps article:not(:first-child) { padding-left:25px; }
.steps article:last-child { border:0; }
.steps span { color:#c88a60; font-size:11px; }
.steps h3 { margin:60px 0 14px; font:500 24px var(--font-serif); }
.steps p { font-size:13px; line-height:1.7; color:#b8bdb5; }
.craft-break { position:relative; min-height:520px; overflow:hidden; display:flex; align-items:flex-end; color:white; isolation:isolate; }
.craft-break > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 56%; z-index:-2; }
.craft-break::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(20,14,10,.85) 0%,rgba(20,14,10,.52) 45%,rgba(20,14,10,.08) 78%),linear-gradient(0deg,rgba(20,14,10,.52),transparent 55%); }
.craft-break::after { content:"POCTIVÉ ŘEMESLO"; position:absolute; right:4vw; top:50%; transform:translateY(-50%) rotate(90deg); transform-origin:center; font-size:10px; letter-spacing:.42em; color:rgba(255,255,255,.62); }
.craft-break-copy { width:100%; padding:80px 7vw; display:flex; align-items:flex-end; justify-content:space-between; gap:50px; }
.craft-break-copy h2 { max-width:820px; font-size:clamp(58px,7.5vw,112px); line-height:.83; }
.craft-break-copy h2 em { display:block; margin:20px 0 0 12vw; color:#efbd8f; }
.craft-break-note { max-width:250px; margin:0 5vw 6px 0; padding:20px 0 0; border-top:1px solid rgba(255,255,255,.45); font-size:12px; line-height:1.7; color:#e0d8ce; }
.projects { background:#20221e; color:#f1ece3; }
.projects .section-head > p { color:#aeb2a8; }
.timeline-shell { margin-right:-7vw; }
.timeline-controls { display:flex; align-items:center; justify-content:space-between; padding-right:7vw; margin-bottom:26px; }
.timeline-controls > p { position:relative; display:flex; align-items:center; gap:150px; margin:0; color:#b5b9b0; font-size:11px; }
.timeline-controls > p::after { content:""; position:absolute; left:27px; width:120px; height:1px; background:rgba(255,255,255,.26); }
.timeline-controls > div { display:flex; gap:8px; }
.timeline-controls button { width:48px; height:48px; border:1px solid rgba(255,255,255,.3); background:transparent; color:white; font-size:20px; cursor:pointer; transition:.2s ease; }
.timeline-controls button:hover { background:#f1ece3; color:#171814; }
.timeline-rail { display:flex; gap:22px; overflow-x:auto; padding:0 7vw 20px 0; scroll-snap-type:x mandatory; scrollbar-width:none; outline:none; }
.timeline-rail::-webkit-scrollbar { display:none; }
.timeline-item { flex:0 0 min(520px,42vw); scroll-snap-align:start; }
.timeline-marker { height:46px; border-top:1px solid rgba(255,255,255,.24); position:relative; display:flex; align-items:flex-end; margin-bottom:14px; }
.timeline-marker span { font-size:10px; letter-spacing:.18em; color:#c99d7e; }
.timeline-marker i { position:absolute; top:-5px; left:0; width:9px; height:9px; border-radius:50%; background:#c88a60; box-shadow:0 0 0 5px #20221e; }
.timeline-hint { margin:16px 7vw 0 0; text-align:right; font-size:10px; text-transform:uppercase; letter-spacing:.16em; color:#8f948b; }
.project-card { display:block; }
.project-image { position:relative; aspect-ratio:16/10; overflow:hidden; }
.project-image img { transition:transform .55s ease; }
.project-card:hover img { transform:scale(1.035); }
.project-meta { position:relative; padding:20px 4px; border-bottom:1px solid rgba(255,255,255,.18); }
.project-meta > span:first-child { color:#86634f; font-size:10px; text-transform:uppercase; letter-spacing:.16em; }
.project-meta h3 { margin:7px 0 0; font:600 30px var(--font-serif); }
.project-meta .arrow { position:absolute; right:5px; bottom:22px; font-size:22px; }
.contact { background:#85533a; color:white; display:grid; grid-template-columns:.85fr 1fr; gap:9vw; align-items:start; }
.contact-copy h2 { font-size:clamp(54px,6vw,85px); }
.contact-copy h2 em { display:block; margin-top:32px; font-family:var(--font-accent),cursive; font-size:1.08em; line-height:1.05; letter-spacing:0; color:#f0c79f; }
.contact-copy > p:not(.eyebrow) { margin:32px 0; max-width:480px; line-height:1.75; color:#e1cfc5; }
.contact-lines { display:flex; flex-direction:column; gap:10px; padding-top:25px; border-top:1px solid rgba(255,255,255,.25); font-family:var(--font-serif); font-size:24px; }
.contact-form { background:#f4f0e8; color:var(--ink); padding:38px; display:flex; flex-direction:column; gap:21px; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.contact-form label { display:flex; flex-direction:column; gap:8px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.contact-form input,.contact-form select,.contact-form textarea { width:100%; border:0; border-bottom:1px solid #b6b0a6; background:transparent; padding:12px 3px; outline:none; font:14px var(--font-sans); color:var(--ink); border-radius:0; }
.contact-form textarea { border:1px solid #c8c1b7; padding:12px; resize:vertical; }
.submit { background:var(--ink); color:white; justify-content:space-between; margin-top:3px; }
.contact-form small { color:#74776f; font-size:10px; line-height:1.5; }
footer { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:42px 7vw; background:#161915; color:white; font-size:11px; }
footer > div { display:flex; flex-direction:column; gap:6px; text-align:right; }
.solid-nav { position:relative; color:#f1ece3; border-color:rgba(255,255,255,.18); background:#171814; }
.back-link { font-size:12px; text-transform:uppercase; letter-spacing:.12em; font-weight:700; }
.project-page { background:#1c1e1a; color:#f1ece3; }
.project-hero { padding-top:85px; padding-bottom:65px; }
.project-hero h1 { font-size:clamp(70px,9vw,135px); }
.project-hero > div { display:grid; grid-template-columns:1fr 1fr; gap:9vw; margin-top:55px; border-top:1px solid rgba(255,255,255,.18); padding-top:28px; }
.project-hero > div p { margin:0; max-width:600px; line-height:1.8; color:#b8bbb3; }
.project-hero > div span { font-size:11px; text-transform:uppercase; letter-spacing:.15em; color:#8c5b3f; }
.gallery { padding-top:0; display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.gallery figure { position:relative; margin:0; aspect-ratio:4/3; overflow:hidden; }
.gallery .gallery-wide { grid-column:1/-1; aspect-ratio:16/9; }
.project-cta { background:#85533a; color:white; text-align:center; }
.project-cta h2 { margin:0 auto 35px; max-width:820px; font-size:clamp(52px,7vw,90px); }
.footer-links { display:flex; gap:18px; flex-wrap:wrap; }
.cookie-settings-link { border:0; padding:0; background:none; color:inherit; font:inherit; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.cookie-banner { position:fixed; z-index:10000; left:24px; right:24px; bottom:24px; display:flex; align-items:center; justify-content:space-between; gap:30px; max-width:1180px; margin:auto; padding:24px 28px; color:#f7f2e9; background:#181a17; border:1px solid rgba(255,255,255,.18); box-shadow:0 18px 60px rgba(0,0,0,.35); }
.cookie-banner[hidden],.cookie-modal[hidden] { display:none; }
.cookie-banner strong { font:600 22px var(--font-serif); }.cookie-banner p{max-width:660px;margin:7px 0 0;color:#c9ccc5;font-size:13px;line-height:1.55}.cookie-banner a{text-decoration:underline;text-underline-offset:3px}
.cookie-actions,.cookie-modal-actions{display:flex;gap:10px;flex-wrap:wrap}.cookie-button{min-height:44px;padding:11px 16px;border:1px solid #d8d1c5;font:600 12px var(--font-sans);cursor:pointer}.cookie-primary{background:#eee7db;color:#171814}.cookie-secondary{background:transparent;color:inherit}
.cookie-modal{position:fixed;z-index:10001;inset:0;display:grid;place-items:center;padding:20px;background:rgba(10,10,9,.72)}.cookie-modal-card{position:relative;width:min(620px,100%);max-height:90vh;overflow:auto;padding:34px;background:#f2ece1;color:#171814}.cookie-modal-card h2{font-size:38px;line-height:1}.cookie-modal-card>p{color:#5d615a}.cookie-close{position:absolute;right:18px;top:14px;border:0;background:none;font-size:30px;cursor:pointer}.cookie-choice{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:19px 0;border-top:1px solid rgba(0,0,0,.14)}.cookie-choice span{display:flex;flex-direction:column;gap:5px}.cookie-choice small{color:#666b63;line-height:1.4}.cookie-choice input{width:22px;height:22px;accent-color:#85533a}.cookie-modal-actions{justify-content:flex-end;margin-top:22px}.cookie-modal .cookie-secondary{color:#171814;border-color:#777}
.legal-page{min-height:100vh;background:#e8e1d5}.legal-wrap{max-width:900px;margin:auto;padding:90px 24px 110px}.legal-wrap h1{font-size:clamp(50px,8vw,88px);margin-bottom:45px}.legal-content{font-size:15px;line-height:1.8}.legal-content h2{font-size:32px;line-height:1.1;margin:48px 0 14px}.legal-content h3{font:600 21px var(--font-serif);margin:30px 0 8px}.legal-content a{text-decoration:underline;text-underline-offset:3px}.legal-content code{background:rgba(0,0,0,.07);padding:2px 5px}
.legal-table-wrap{margin:24px 0;overflow-x:auto}.cookie-table{width:100%;min-width:720px;border-collapse:collapse;font-size:13px;line-height:1.5}.cookie-table th,.cookie-table td{padding:14px 12px;border:1px solid rgba(0,0,0,.18);text-align:left;vertical-align:top}.cookie-table th{background:#20231f;color:#f1ece3;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.cookie-table tbody tr:nth-child(even){background:rgba(255,255,255,.28)}
@media (max-width:800px) {
  body.admin-bar .nav { top:46px; }
  .nav { padding:20px; }.nav nav a:not(.nav-cta){display:none}.nav nav{gap:0}.brand strong{font-size:27px}.brand-logo{width:205px;height:48px}
  .hero { min-height:800px; }.hero-copy{padding:175px 22px 120px}.hero h1{font-size:64px}.hero-intro{font-size:15px}
  .hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.section{padding:80px 22px}
  .section-head{display:block}.section-head>p{margin-top:28px}.section-head h2,.about-copy h2{font-size:46px}
  .service-grid,.steps{grid-template-columns:1fr}.service-card,.service-card:not(:first-child),.steps article,.steps article:not(:first-child){padding:30px 0;border-right:0;border-bottom:1px solid var(--line);min-height:0}.service-card h3,.steps h3{margin-top:30px}
  .timeline-shell{margin-right:-22px}.timeline-controls{padding-right:22px}.timeline-controls>p{gap:90px}.timeline-controls>p::after{left:25px;width:54px}.timeline-item{flex-basis:82vw}.timeline-rail{padding-right:22px}.timeline-hint{margin-right:22px}.project-image{aspect-ratio:4/3}
  .about{grid-template-columns:1fr}.about-visual{min-height:430px}.about-visual>p{left:-10px}.stats{gap:28px}
  .craft-break{min-height:520px}.craft-break::after{display:none}.craft-break-copy{padding:65px 22px;display:block}.craft-break-copy h2{font-size:58px}.craft-break-copy h2 em{margin:16px 0 0}.craft-break-note{margin:38px 0 0;max-width:280px}
  .contact{grid-template-columns:1fr;gap:50px}.contact-copy h2{font-size:55px}.contact-copy h2 em{margin-top:26px}.contact-form{padding:25px 20px}.field-row{grid-template-columns:1fr}
  footer{align-items:flex-start;flex-direction:column}footer>div{text-align:left}
  .cookie-banner{left:10px;right:10px;bottom:10px;display:block;padding:20px}.cookie-actions{margin-top:18px}.cookie-button{flex:1}.cookie-modal-card{padding:28px 20px}.cookie-modal-actions .cookie-button{flex-basis:100%}
  .project-hero h1{font-size:62px}.project-hero>div{grid-template-columns:1fr;gap:24px}.gallery{grid-template-columns:1fr}.gallery .gallery-wide{grid-column:auto;aspect-ratio:4/3}
}


/* Nastavitelné rozložení úvodní obrazovky */
.hero {
  --hero-title-size:112px;
  --hero-line-height:.88;
  --hero-copy-width:760px;
  --hero-copy-y:50%;
  --hero-copy-x:7vw;
  --hero-image-x:50%;
  --hero-image-y:50%;
  --hero-overlay:.55;
}
.hero > img {
  object-fit:cover;
  object-position:var(--hero-image-x) var(--hero-image-y);
  transform:scaleX(1);
  transition:transform .45s ease,object-position .45s ease;
}
.hero.hero-image-flipped > img { transform:scaleX(-1); }
.hero .hero-shade {
  background:linear-gradient(90deg,rgba(10,13,10,var(--hero-overlay)) 0%,rgba(10,13,10,.24) 58%,rgba(10,13,10,.06) 100%);
}
.hero.hero-text-right .hero-shade {
  background:linear-gradient(270deg,rgba(10,13,10,var(--hero-overlay)) 0%,rgba(10,13,10,.24) 58%,rgba(10,13,10,.06) 100%);
}
.hero .hero-copy {
  position:absolute;
  top:var(--hero-copy-y);
  left:var(--hero-copy-x);
  right:auto;
  width:min(var(--hero-copy-width),calc(100% - (2 * var(--hero-copy-x))));
  max-width:none;
  padding:0;
  transform:translateY(-50%);
}
.hero.hero-text-right .hero-copy { left:auto; right:var(--hero-copy-x); }
.hero.hero-align-left .hero-copy { text-align:left; }
.hero.hero-align-center .hero-copy { text-align:center; }
.hero.hero-align-right .hero-copy { text-align:right; }
.hero.hero-align-center .hero-intro { margin-left:auto; margin-right:auto; }
.hero.hero-align-right .hero-intro { margin-left:auto; }
.hero.hero-align-center .hero-actions { justify-content:center; }
.hero.hero-align-right .hero-actions { justify-content:flex-end; }
.hero h1 { font-size:var(--hero-title-size); line-height:var(--hero-line-height); }
.hero.hero-font-sans h1 { font-family:var(--font-sans),sans-serif; font-weight:600; letter-spacing:-.055em; }
.hero.hero-font-sans h1 em { font-family:var(--font-accent),cursive; font-weight:400; letter-spacing:normal; }

@media (max-width:780px) {
  .hero .hero-copy,
  .hero.hero-text-right .hero-copy {
    top:auto;
    bottom:86px;
    left:22px;
    right:22px;
    width:auto;
    transform:none;
    text-align:left;
  }
  .hero h1 { font-size:min(var(--hero-title-size),64px); }
  .hero .hero-actions { justify-content:flex-start; }
  .hero .hero-intro { margin-left:0; margin-right:0; }
}


/* Nastavitelná typografie celé úvodní stránky */
main {
  --tb-body-size:17px;
  --tb-body-line:1.7;
  --tb-body-letter:0em;
  --tb-small-size:12px;
  --tb-small-letter:.16em;
  --tb-button-size:12px;
  --tb-button-letter:.16em;
  --tb-card-size:27px;
  --tb-card-line:1.15;
  --tb-card-letter:0em;
}
main p,
main li,
main label,
main input,
main textarea,
main select {
  font-size:var(--tb-body-size);
  line-height:var(--tb-body-line);
  letter-spacing:var(--tb-body-letter);
}
main .eyebrow,
main .timeline-marker span,
main .project-meta > span,
main .timeline-hint,
main footer {
  font-size:var(--tb-small-size);
  letter-spacing:var(--tb-small-letter);
}
main .button,
main .text-link,
main .service-card a,
main .nav a,
main .footer-links a,
main .cookie-settings-link {
  font-size:var(--tb-button-size);
  letter-spacing:var(--tb-button-letter);
}
main .service-card h3,
main .steps h3,
main .project-meta h3 {
  font-size:var(--tb-card-size);
  line-height:var(--tb-card-line);
  letter-spacing:var(--tb-card-letter);
}
.hero h1 { letter-spacing:var(--hero-letter-spacing,-.03em); }
.tb-type h2 {
  font-size:var(--tb-title-size);
  line-height:var(--tb-title-line);
  letter-spacing:var(--tb-title-letter);
  overflow-wrap:normal;
  word-break:normal;
}
.tb-type.tb-font-serif h2 { font-family:var(--font-serif),serif; }
.tb-type.tb-font-sans h2 { font-family:var(--font-sans),sans-serif; font-weight:600; }
.tb-type.tb-font-sans h2 em { font-family:var(--font-accent),cursive; font-weight:400; }
.tb-type.tb-align-left h2 { text-align:left; }
.tb-type.tb-align-center h2 { text-align:center; }
.tb-type.tb-align-right h2 { text-align:right; }
.tb-type.tb-align-center .section-head > div,
.tb-type.tb-align-center .about-copy,
.tb-type.tb-align-center .craft-break-copy,
.tb-type.tb-align-center .contact-copy { text-align:center; }
.tb-type.tb-align-right .section-head > div,
.tb-type.tb-align-right .about-copy,
.tb-type.tb-align-right .craft-break-copy,
.tb-type.tb-align-right .contact-copy { text-align:right; }

@media (max-width:780px) {
  .tb-type h2 { font-size:min(var(--tb-title-size),54px); }
  main p, main li, main label { letter-spacing:min(var(--tb-body-letter),.08em); }
}


/* Zarovnání všech typů textu */
main.tb-body-align-left p,
main.tb-body-align-left label { text-align:left; }
main.tb-body-align-center p,
main.tb-body-align-center label { text-align:center; }
main.tb-body-align-right p,
main.tb-body-align-right label { text-align:right; }

main.tb-small-align-left .eyebrow,
main.tb-small-align-left .timeline-marker span,
main.tb-small-align-left .project-meta > span,
main.tb-small-align-left .timeline-hint { text-align:left; }
main.tb-small-align-center .eyebrow,
main.tb-small-align-center .timeline-marker span,
main.tb-small-align-center .project-meta > span,
main.tb-small-align-center .timeline-hint { text-align:center; }
main.tb-small-align-right .eyebrow,
main.tb-small-align-right .timeline-marker span,
main.tb-small-align-right .project-meta > span,
main.tb-small-align-right .timeline-hint { text-align:right; }

main.tb-button-align-left .button,
main.tb-button-align-left .text-link,
main.tb-button-align-left .service-card a,
main.tb-button-align-left .nav a { text-align:left; }
main.tb-button-align-center .button,
main.tb-button-align-center .text-link,
main.tb-button-align-center .service-card a,
main.tb-button-align-center .nav a { text-align:center; }
main.tb-button-align-right .button,
main.tb-button-align-right .text-link,
main.tb-button-align-right .service-card a,
main.tb-button-align-right .nav a { text-align:right; }

main.tb-card-align-left .service-card h3,
main.tb-card-align-left .steps h3,
main.tb-card-align-left .project-meta h3 { text-align:left; }
main.tb-card-align-center .service-card h3,
main.tb-card-align-center .steps h3,
main.tb-card-align-center .project-meta h3 { text-align:center; }
main.tb-card-align-right .service-card h3,
main.tb-card-align-right .steps h3,
main.tb-card-align-right .project-meta h3 { text-align:right; }

.tb-type.tb-align-left,
.tb-type.tb-align-left h2,
.tb-type.tb-align-left h3,
.tb-type.tb-align-left p,
.tb-type.tb-align-left .eyebrow,
.tb-type.tb-align-left a,
.tb-type.tb-align-left label { text-align:left; }
.tb-type.tb-align-center,
.tb-type.tb-align-center h2,
.tb-type.tb-align-center h3,
.tb-type.tb-align-center p,
.tb-type.tb-align-center .eyebrow,
.tb-type.tb-align-center a,
.tb-type.tb-align-center label { text-align:center; }
.tb-type.tb-align-right,
.tb-type.tb-align-right h2,
.tb-type.tb-align-right h3,
.tb-type.tb-align-right p,
.tb-type.tb-align-right .eyebrow,
.tb-type.tb-align-right a,
.tb-type.tb-align-right label { text-align:right; }

.tb-type.tb-align-center .hero-actions,
.tb-type.tb-align-center .contact-lines { justify-content:center; }
.tb-type.tb-align-right .hero-actions,
.tb-type.tb-align-right .contact-lines { justify-content:flex-end; }


/* Zarovnání zvolené u sekce má před

/* Obrysové symboly služeb a pracovního postupu */
.tb-symbol { width:76px; height:76px; border:1px solid rgba(160,107,73,.62); border-radius:50%; display:grid; place-items:center; color:#a06b49; flex:0 0 76px; }
.tb-symbol svg { display:block; width:40px; height:40px; fill:none !important; stroke:currentColor !important; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.tb-symbol svg * { fill:none !important; stroke:currentColor !important; vector-effect:non-scaling-stroke; }
.service-card .tb-symbol { margin:32px auto 0; }
.service-card h3 { margin-top:24px; }
.steps .tb-symbol { margin:28px 0 0; }
.steps h3 { margin-top:22px; }
@media (max-width:800px) { .tb-symbol { width:68px; height:68px; flex-basis:68px; } .tb-symbol svg { width:35px; height:35px; } .service-card .tb-symbol,.steps .tb-symbol { margin:24px auto 0; } }


/* Jednotné zarovnání: počítač vlevo, tablet a telefon na střed */
@media (min-width:1025px) {
  .hero-copy,.section-head,.about-copy,.process,.craft-break-copy,.projects,.contact-copy,.service-card,.steps article,.project-meta,footer { text-align:left !important; }
  .section-head > p,.about-copy > p,.contact-copy > p,.craft-break-note,.hero-intro { margin-left:0; margin-right:0; }
  .hero-actions { justify-content:flex-start; }
  .contact-lines { align-items:flex-start; }
  .service-card .tb-symbol,.steps .tb-symbol { margin-left:0; margin-right:0; }
  footer { align-items:center; }
  footer > div { text-align:left; }
}
@media (max-width:1024px) {
  .hero-copy,.section-head,.about-copy,.process,.craft-break-copy,.projects,.contact-copy,.service-card,.steps article,.project-meta,.timeline-hint,footer { text-align:center !important; }
  .section-head > p,.about-copy > p,.contact-copy > p,.craft-break-note,.hero-intro { margin-left:auto !important; margin-right:auto !important; }
  .hero-actions { justify-content:center; align-items:center; }
  .contact-lines { align-items:center; }
  .service-card .tb-symbol,.steps .tb-symbol { margin-left:auto; margin-right:auto; }
  .about-visual > p { text-align:center; }
  footer { align-items:center; }
  footer > div { text-align:center; }
  .contact-form,.contact-form label,.contact-form input,.contact-form select,.contact-form textarea,.contact-form small { text-align:left !important; }
}


/* Veškerý text na tabletu a telefonu je na střed */
@media (max-width:1024px) {
  main,main *,footer,footer * { text-align:center !important; }
  .contact-form input,.contact-form select,.contact-form textarea { text-align:center !important; }
  .hero-actions,.contact-lines { justify-content:center; align-items:center; }
  .section-head > p,.about-copy > p,.contact-copy > p,.craft-break-note,.hero-intro { margin-left:auto !important; margin-right:auto !important; }
}

@media (max-width:1024px) { .contact-form label,.contact-form small { text-align:center !important; } }
