/*
Theme Name: Tarivi Construction
Theme URI: https://tarivi.cz/
Author: Tarivi
Description: Custom WordPress theme for Tarivi, designed for Elementor editing.
Version: 1.0.0
Requires at least: 6.3
Requires PHP: 7.4
Text Domain: tarivi
*/

:root{--acc:#B8893A;--acc-d:#9A7128;--acc-dk:#E8C06C;--acc-tx:#8C6420;--acc-ink:#111111;--gold:linear-gradient(135deg,#B2863D 0%,#E8BF6C 55%,#F7D88A 100%);--ink:#141414;--txt:#3B3B3B;--bg:#EEEDEA;--dark:#0E0E0E;--line:#D9D7D2}
body{margin:0;background:var(--bg)}
a{color:inherit;text-decoration:none}
.hf{font-family:Archivo,sans-serif}
.nav>a,.nav .dd>a{position:relative;padding:6px 0}
.nav>a::after,.nav .dd>a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--acc);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nav>a:hover::after,.nav .dd:hover>a::after,.nav .on::after{transform:scaleX(1)}
.dd .mn{display:none}.dd:hover .mn,.dd:focus-within .mn{display:block}
.mi{display:block;padding:10px 22px;font-size:13px;font-weight:600;color:var(--ink);transition:background .15s,color .15s,padding .15s}
.mi:hover{background:var(--acc);color:var(--acc-ink);padding-left:28px}
.kick{display:inline-flex;align-items:center;gap:10px;font-family:Archivo,sans-serif;font-weight:700;font-size:12px;letter-spacing:2.5px;text-transform:uppercase;color:var(--acc-tx)}
.kick::before{content:"";width:22px;height:2px;background:currentColor}
.h2{margin:14px 0 0;font-family:Archivo,sans-serif;font-weight:900;font-size:clamp(28px,3.4vw,44px);line-height:1.05;letter-spacing:-.5px;color:var(--ink);text-transform:uppercase}
.b1{display:inline-flex;align-items:center;gap:10px;background:var(--acc);color:var(--acc-ink);font-family:Archivo,sans-serif;font-weight:700;font-size:14px;letter-spacing:.5px;padding:16px 26px;border-radius:999px;transition:background .2s,transform .2s}
.b1:hover{background:var(--acc-d);transform:translateY(-2px)}
.b1{background:var(--gold) !important;color:#111111 !important;box-shadow:0 8px 22px rgba(184,137,58,.28)}
.b1:hover{filter:brightness(1.07);box-shadow:0 12px 28px rgba(184,137,58,.38)}
.lg-t{display:flex;flex-direction:column;line-height:1}
.lg-t b{font-family:Archivo,sans-serif;font-weight:900;font-size:22px;letter-spacing:1.5px;color:#FFFFFF}
.lg-t small{font-family:Archivo,sans-serif;font-weight:700;font-size:9.5px;letter-spacing:3.2px;color:var(--acc-dk);margin-top:6px;text-transform:uppercase}
.b2{display:inline-flex;align-items:center;gap:10px;font-family:Archivo,sans-serif;font-weight:700;font-size:14px;letter-spacing:.5px;padding:15px 26px;border-radius:999px;border:1.5px solid currentColor;transition:background .2s,color .2s}
.b2:hover{background:#FFFFFF;color:var(--ink)}
.svc{position:relative;overflow:hidden;border-radius:14px;background:#BBB;display:block;min-height:250px}
.svc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.svc:hover img{transform:scale(1.06)}
.svc .ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.78) 100%)}
.svc .ar{width:40px;height:40px;border-radius:50%;background:#FFFFFF;color:var(--ink);display:flex;align-items:center;justify-content:center;flex:none;transition:background .2s,color .2s,transform .2s}
.svc:hover .ar{background:var(--acc);color:var(--acc-ink);transform:rotate(-45deg)}
.big{grid-column:span 2;grid-row:span 2}
.ico{width:58px;height:58px;border-radius:14px;border:1.5px solid rgba(255,255,255,.18);color:var(--acc-dk);display:flex;align-items:center;justify-content:center;flex:none}
details.fq{background:#FFFFFF;border-radius:14px;padding:22px 26px}
details.fq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;font-family:Archivo,sans-serif;font-weight:700;font-size:16px;color:var(--ink)}
details.fq summary::-webkit-details-marker{display:none}
details.fq .pl{width:30px;height:30px;border-radius:50%;background:var(--bg);color:var(--acc);display:flex;align-items:center;justify-content:center;font-size:20px;flex:none;transition:transform .2s,background .2s,color .2s}
details.fq[open] .pl{transform:rotate(45deg);background:var(--acc);color:var(--acc-ink)}
.rz{position:relative;display:block;overflow:hidden;border-radius:16px;background:#BBB}
.rz img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.rz:hover img{transform:scale(1.05)}
.rz .cap{position:absolute;left:14px;bottom:14px;right:14px;background:rgba(255,255,255,.94);color:var(--ink);border-radius:10px;padding:10px 14px;font-family:Archivo,sans-serif;font-weight:700;font-size:13px}
.rz .cap span{display:block;font-family:Manrope,sans-serif;font-weight:500;font-size:12px;color:var(--txt);margin-top:2px}
.rzg{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:240px;gap:18px;margin-top:48px}
.rzg .w2{grid-column:span 2;grid-row:span 2}
.ar-chip{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:999px;background:#FFFFFF;border:1px solid var(--line);font-weight:600;font-size:14px;color:var(--ink)}
.ar-chip.hq{background:var(--acc);border-color:var(--acc);color:var(--acc-ink)}
@media (max-width:900px){.rzg{grid-template-columns:repeat(2,1fr);grid-auto-rows:200px}}
@media (max-width:560px){.rzg{grid-template-columns:1fr}.rzg .w2{grid-column:auto;grid-row:span 1}}
.bxg{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:270px;gap:18px;margin-top:52px}
.bx{position:relative;display:block;overflow:hidden;border-radius:20px;background:#2A2A2A;color:#FFFFFF;isolation:isolate}
.bx img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.bx::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,10,10,.45) 0%,rgba(10,10,10,.05) 28%,rgba(10,10,10,.25) 52%,rgba(10,10,10,.88) 100%);transition:background .4s}
.bx:hover img{transform:scale(1.07)}
.bx:hover::after{background:linear-gradient(180deg,rgba(10,10,10,.25) 0%,rgba(10,10,10,.55) 40%,rgba(10,10,10,.92) 100%)}
.bx .nm{position:absolute;left:22px;top:20px;font-family:Archivo,sans-serif;font-weight:900;font-size:15px;letter-spacing:1px;color:#FFFFFF;display:flex;align-items:center;gap:10px;text-shadow:0 1px 6px rgba(0,0,0,.5)}
.bx .nm::after{content:"";width:26px;height:2px;background:var(--acc-dk)}
.bx .go{position:absolute;right:20px;top:18px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.16);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;font-size:18px;transition:background .25s,transform .25s}
.bx:hover .go{background:var(--acc);transform:rotate(-45deg)}
.bx .bd{position:absolute;left:0;right:0;bottom:0;padding:24px 24px 24px}
.bx h3{margin:0;color:#FFFFFF;text-shadow:0 2px 14px rgba(0,0,0,.5);font-family:Archivo,sans-serif;font-weight:900;font-size:19px;line-height:1.15;text-transform:uppercase;letter-spacing:.2px}
.bx p{margin:0;text-shadow:0 1px 8px rgba(0,0,0,.45);font-size:14px;line-height:1.55;color:#DCDCDC;max-height:0;opacity:0;overflow:hidden;transition:max-height .45s,opacity .35s,margin .35s}
.bx:hover p,.bx.x2 p,.bx.w p{max-height:120px;opacity:1;margin-top:10px}
.bx.x2{grid-column:span 2;grid-row:span 2}
.bx.fba{grid-row:span 2}
.fba-i{position:absolute;inset:0;z-index:-2;display:grid;grid-template-columns:1fr 1fr;gap:3px;background:var(--dark)}
.fba-i>div{position:relative;overflow:hidden}
.fba-i img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.bx.fba:hover .fba-i img{transform:scale(1.05)}
.fba-l{position:absolute;top:70px;left:22px;padding:7px 14px;border-radius:999px;background:rgba(14,14,14,.82);color:#FFFFFF;font-family:Archivo,sans-serif;font-weight:800;font-size:12px;letter-spacing:1.5px;text-transform:uppercase}
.fba-l.po{background:var(--gold);color:#111111}
@media (max-width:620px){.bx.fba{grid-row:span 2}.fba-l{top:62px;left:14px}}
.bx.full{grid-column:1/-1}
.bx.full p{max-height:120px;opacity:1;margin-top:10px;max-width:640px}
.bx.x2 .bd{padding:36px}
.bx.x2 h3{font-size:clamp(28px,2.8vw,40px)}
.bx.x2 p{font-size:16px;max-width:460px}
.bx.w{grid-column:span 2}
.bx .tg{display:inline-block;margin-bottom:14px;background:var(--acc);color:var(--acc-ink);font-family:Archivo,sans-serif;font-weight:800;font-size:11px;letter-spacing:1.6px;text-transform:uppercase;padding:7px 12px;border-radius:999px}
.bx .bt{display:inline-flex;align-items:center;gap:10px;margin-top:22px;background:#FFFFFF;color:var(--ink);font-family:Archivo,sans-serif;font-weight:800;font-size:13px;padding:13px 20px;border-radius:999px;transition:background .2s,color .2s}
.bx:hover .bt{background:var(--acc);color:var(--acc-ink)}
.sv-cta{position:relative;overflow:hidden;margin-top:22px;border-radius:24px;background:var(--dark);color:#FFFFFF;isolation:isolate;border:1px solid rgba(232,192,108,.25)}
.sv-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;z-index:-2;opacity:.9}
.sv-cta::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(12,12,12,.96) 0%,rgba(12,12,12,.9) 45%,rgba(12,12,12,.72) 100%)}
.sv-in{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;gap:28px 48px;align-items:center;padding:44px 48px}
.sv-h{margin-top:10px;font-weight:900;font-size:clamp(24px,2.4vw,32px);line-height:1.1;text-transform:uppercase}
.sv-t p{margin:12px 0 0;font-size:15px;color:#C9C9C9;max-width:440px}
.sv-st{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.sv-st li{display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);font-weight:600;font-size:14px}
.sv-st b{font-family:Archivo,sans-serif;font-weight:900;font-size:13px;color:var(--acc-dk)}
.sv-ac{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.sv-ph{display:inline-flex;align-items:center;gap:10px;font-family:Archivo,sans-serif;font-weight:800;font-size:16px;color:#FFFFFF}
.sv-ph svg{color:var(--acc-dk)}
@media (max-width:1000px){.sv-in{grid-template-columns:1fr;padding:34px 26px}}
@media (max-width:1000px){.bxg{grid-template-columns:repeat(2,1fr)}.bx.x2{grid-column:1/-1;grid-row:span 2}}
@media (max-width:620px){.bxg{grid-template-columns:1fr;grid-auto-rows:230px}.bx.x2{grid-column:auto;grid-row:span 2}.bx.full{grid-column:auto}.bx.w{grid-column:auto}.bx p{max-height:120px;opacity:1;margin-top:8px}.bx.x2 .bd{padding:26px}}
@keyframes hxin{from{opacity:0;transform:scale(1.1);filter:blur(14px)}to{opacity:1;transform:scale(1);filter:blur(0)}}
@keyframes ovin{from{opacity:0}to{opacity:1}}
.hx-bg{animation:hxin 1.9s cubic-bezier(.2,.7,.2,1) both}
.hx-ov{animation:ovin 1.2s .2s ease both}
.hx-in>*{animation:up 1s cubic-bezier(.2,.7,.2,1) both}
.hx-in>*:nth-child(1){animation-delay:.35s}.hx-in>*:nth-child(4){animation-delay:1.05s}.hx-in>*:nth-child(6){animation-delay:1.7s}.hx-in>*:nth-child(7){animation-delay:1.9s}
.hx-in>[data-split]{animation:none}
.hx{position:relative;min-height:620px;display:flex;align-items:center;overflow:hidden;background:var(--dark);color:#FFFFFF}
.hx-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:100% 45%;display:block}
.hx-ov{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,10,.92) 0%,rgba(10,10,10,.78) 30%,rgba(10,10,10,.35) 52%,rgba(10,10,10,0) 68%)}
.hx-in{position:relative;width:100%;max-width:1240px;margin:0 auto;padding:90px 24px 96px;box-sizing:border-box}
@media (max-width:900px){.hx{min-height:0}.hx-bg{object-position:68% 40%}.hx-ov{background:linear-gradient(180deg,rgba(10,10,10,.55) 0%,rgba(10,10,10,.82) 45%,rgba(10,10,10,.9) 100%)}.hx-in{padding:72px 24px 80px}}
.sc{display:flex;flex-direction:column;background:#FFFFFF;border-radius:16px;overflow:hidden;border:1px solid var(--line);transition:transform .25s,box-shadow .25s,border-color .25s}
.sc:hover{transform:translateY(-4px);box-shadow:0 22px 44px rgba(0,0,0,.10);border-color:transparent}
.sc .im{position:relative;height:190px;overflow:hidden;background:#CCC}
.sc .im img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.sc:hover .im img{transform:scale(1.06)}
.sc .no{position:absolute;left:16px;top:16px;background:var(--dark);color:#FFFFFF;font-family:Archivo,sans-serif;font-weight:800;font-size:12px;letter-spacing:1px;padding:6px 10px;border-radius:8px}
.sc .mo{display:inline-flex;align-items:center;gap:8px;font-family:Archivo,sans-serif;font-weight:700;font-size:13px;color:var(--acc-tx);margin-top:auto;padding-top:16px}
.sc:hover .mo{gap:12px}

.stats>div:last-child{border-right:0 !important}
.in{width:100%;box-sizing:border-box;background:#F4F4F2;border:1px solid transparent;border-radius:10px;color:var(--ink);padding:14px 16px;font-size:14px;font-family:Manrope,sans-serif;transition:border-color .2s,background .2s}
.in:focus{outline:none;border-color:var(--acc);background:#FFFFFF}
.fl{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600;color:var(--ink)}
.ck{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--txt)}
.ck input{width:16px;height:16px;margin:0;accent-color:var(--acc)}
.chip{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:#F4F4F2;border:1px solid transparent;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.chip input{width:15px;height:15px;margin:0;accent-color:var(--acc)}
.chip:hover{border-color:var(--acc)}
.chip:has(input:checked){background:var(--acc);color:var(--acc-ink)}
.map{background-color:#DCDCD9;background-image:linear-gradient(rgba(0,0,0,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.06) 1px,transparent 1px);background-size:44px 44px}
.ft a:hover{color:#FFFFFF}
.tile{transition:transform .25s,box-shadow .25s}.tile:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.08)}
.ph{overflow:hidden;border-radius:12px}.ph img{transition:transform .6s}.ph:hover img{transform:scale(1.05)}
@keyframes up{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes zoom{from{transform:scale(1.12)}to{transform:scale(1)}}
.hz{animation:zoom 2.4s cubic-bezier(.2,.7,.2,1) both}
.hin>*{animation:up .9s cubic-bezier(.2,.7,.2,1) both}
.hin>*:nth-child(1){animation-delay:.15s}.hin>*:nth-child(2){animation-delay:.28s}.hin>*:nth-child(3){animation-delay:.4s}.hin>*:nth-child(4){animation-delay:.52s}.hin>*:nth-child(5){animation-delay:.64s}
.stats{animation:up .9s .75s cubic-bezier(.2,.7,.2,1) both}
@supports (animation-timeline: view()){.sr{animation:up linear both;animation-timeline:view();animation-range:entry 0% entry 30%}}
@media (max-width:760px){.hov{background:rgba(12,12,12,.74) !important}.big{grid-column:auto;grid-row:span 2}.hide-m{display:none !important}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none !important;transition:none !important}}


.skip{position:absolute;left:-9999px;top:8px;z-index:10000;background:#FFFFFF;color:#111111;padding:10px 16px;border-radius:8px;font:700 14px Manrope,Arial,sans-serif}
.skip:focus{left:8px}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,label.chip:focus-within{outline:3px solid #E8C06C;outline-offset:3px}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}

.ck-bn{position:fixed;left:16px;right:16px;bottom:16px;z-index:9998;max-width:560px;background:#141414;color:#E6E6E6;border:1px solid rgba(232,192,108,.35);border-radius:18px;padding:22px 22px 20px;box-shadow:0 24px 60px rgba(0,0,0,.45);font:400 14px/1.6 Manrope,Arial,sans-serif;display:none}
.ck-bn.on{display:block;animation:ckin .5s cubic-bezier(.2,.7,.2,1)}@keyframes ckin{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.ck-bn h2{margin:0 0 6px;font:900 16px Archivo,Arial,sans-serif;color:#FFF;text-transform:uppercase;letter-spacing:.3px}.ck-bn p{margin:0}.ck-bn a{color:#E8C06C;text-decoration:underline}
.ck-bt{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.ck-bt button{flex:1 1 140px;border:1px solid rgba(255,255,255,.25);background:transparent;color:#FFF;font:700 13px Archivo,Arial,sans-serif;padding:12px 16px;border-radius:999px;cursor:pointer}
.ck-bt .ck-a{background:linear-gradient(135deg,#B2863D,#E8BF6C 55%,#F7D88A);color:#111;border:0}
.ck-op{display:none;margin-top:14px;border-top:1px solid rgba(255,255,255,.1);padding-top:12px}.ck-op.on{display:block}.ck-op label{display:flex;gap:10px;align-items:flex-start;margin:8px 0;font-size:13px}.ck-op input{margin-top:4px;accent-color:#B8893A}
@media (min-width:700px){.ck-bn{right:auto;left:24px;bottom:24px}}
.lb{position:fixed;inset:0;z-index:9999;background:rgba(8,8,8,.92);display:none;align-items:center;justify-content:center;padding:24px}.lb.on{display:flex}.lb img{max-width:100%;max-height:100%;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.5)}.lb button{position:absolute;top:16px;right:16px;width:48px;height:48px;border-radius:50%;border:0;background:#FFFFFF;color:#111;font-size:24px;cursor:pointer}

.w{display:inline-block;opacity:0;filter:blur(12px);transform:translateY(14px);animation:wd .85s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:var(--d)}
@keyframes wd{to{opacity:1;filter:blur(0);transform:none}}
html.js .rv{opacity:0;filter:blur(10px);transform:translateY(30px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),filter .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--rd,0s)}
html.js .rv.rvin{opacity:1;filter:none;transform:none}
html.js .sr{animation:none !important}
@media (prefers-reduced-motion:reduce){.w{animation:none;opacity:1;filter:none;transform:none}html.js .rv{opacity:1;filter:none;transform:none;transition:none}}

html{scroll-behavior:smooth}body{font-family:Manrope,sans-serif;color:var(--txt);font-size:15px;line-height:1.7} .nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;font-family:Archivo,sans-serif;font-weight:700;font-size:14px}.nav a{color:#fff;position:relative;padding:6px 0}.nav a:hover{color:var(--acc-dk)}.nav ul{display:flex;gap:20px;list-style:none;margin:0;padding:0}.nav li{position:relative}.nav li ul{display:none;position:absolute;top:100%;left:-20px;min-width:230px;background:#fff;border-radius:10px;padding:8px;box-shadow:0 16px 40px #0003;flex-direction:column;gap:0}.nav li:hover>ul,.nav li:focus-within>ul{display:flex}.nav li ul a{display:block;color:#141414;padding:9px 12px}.tarivi-content{min-height:40vh}.elementor-widget-container{max-width:100%}
