/*
Theme Name: Framinta Corporate
Theme URI: https://framinta.ee
Author: Framinta OÜ
Description: Elegant multilingual corporate landing page for Framinta OÜ (14 languages).
Version: 2.1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: framinta
*/
:root{--ink:#07172b;--gold:#aa7a35;--paper:#f7f2e9;--line:#c5a477}*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body{margin:0;background:#f5efe5;color:var(--ink);font-family:Georgia,'Times New Roman',serif}.site{min-height:100svh;padding:46px clamp(20px,5.2vw,85px) 32px;display:flex;flex-direction:column;justify-content:space-between;position:relative;isolation:isolate;background:radial-gradient(ellipse at 50% 25%,#fffdf7 0%,#f8f2e9 55%,#eae0d4 100%)}.site:before{content:"";position:absolute;inset:16px;border:1px solid rgba(176,132,70,.45);pointer-events:none}.site:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.13;background-image:url('assets/grain.svg');background-size:180px}.top{display:flex;justify-content:space-between;align-items:flex-start;min-height:65px;gap:15px}.motto{font-size:10px;line-height:1.85;letter-spacing:.29em;color:#986d32;max-width:175px;text-transform:uppercase}.langs{display:flex;justify-content:flex-end;align-items:center;gap:7px;flex-wrap:wrap;max-width:750px}.langs a{font:12px/1.2 Georgia,serif;text-decoration:none;color:var(--ink);padding:7px 5px 8px;border-bottom:1px solid transparent;white-space:nowrap}.langs a:hover,.langs a[aria-current="true"]{border-color:var(--gold);color:#8c642c}.langs .sep{color:#b59c78;font-size:10px}.hero{text-align:center;margin:5px auto 25px;max-width:1100px}.mark{display:block;width:clamp(100px,13vw,184px);height:auto;max-height:145px;object-fit:contain;margin:0 auto 4px}.wordmark{font-weight:400;line-height:.97;letter-spacing:.045em;font-size:clamp(56px,8vw,116px);margin:0}.tagline{font-size:clamp(10px,1.4vw,18px);letter-spacing:.27em;margin:18px 0 20px;line-height:1.8}.rule{height:1px;width:min(320px,60%);background:var(--gold);margin:0 auto 19px}.est{font-size:clamp(11px,1.2vw,16px);letter-spacing:.35em}.anniversary{font-size:clamp(14px,1.8vw,25px);color:#9c6f31;letter-spacing:.28em;margin:17px 0}.values{font-size:clamp(10px,1.1vw,14px);letter-spacing:.28em;margin:0}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:1450px;width:100%;margin:15px auto 27px}.card{min-height:205px;padding:25px 14px 16px;text-align:center;border:1px solid #c5a373;text-decoration:none;color:var(--ink);background:rgba(255,253,249,.43);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform .2s,background .2s,box-shadow .2s}.card:hover,.card:focus-visible{background:rgba(255,255,255,.88);transform:translateY(-3px);box-shadow:0 9px 25px rgba(52,36,17,.08)}.card-icon{width:45px;height:45px;color:#956921;stroke-width:1.6;margin-bottom:14px}.card h2{font-size:clamp(19px,2.2vw,32px);font-weight:400;letter-spacing:.045em;margin:0}.card-line{height:1px;background:#b18445;width:54px;margin:13px 0}.card p{font-size:clamp(10px,1vw,13px);letter-spacing:.18em;line-height:1.6;margin:0;min-height:34px}.arrow{color:#966d30;font-size:31px;line-height:1;margin-top:10px}.footer{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;border-top:1px solid rgba(177,137,83,.55);padding-top:15px;font-size:12px;letter-spacing:.08em;line-height:1.6}.footer .legal,.footer .copy{max-width:45%}.footer .copy{text-align:right}.footer a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(160,120,65,.6)}.footer a:hover{color:#996c31}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(max-width:850px){.site{padding:36px 25px 28px}.top{min-height:60px}.motto{display:none}.langs{margin-left:auto}.hero{margin:28px auto}.cards{gap:9px}.card{min-height:180px;padding:16px 8px}.card h2{font-size:21px}.card p{font-size:10px;letter-spacing:.07em}}@media(max-width:640px){.site{padding:35px 24px 25px;min-height:100svh}.site:before{inset:9px}.top{justify-content:center}.langs{justify-content:center;margin:0}.langs a{font-size:11px;padding:6px 3px}.hero{margin:36px auto 25px}.mark{width:115px}.wordmark{font-size:clamp(42px,12vw,68px);letter-spacing:.025em}.tagline{font-size:10px;letter-spacing:.1em}.anniversary{font-size:15px;letter-spacing:.14em}.values{font-size:10px;letter-spacing:.11em}.cards{grid-template-columns:1fr;gap:10px}.card{min-height:122px;padding:15px}.card-icon{width:27px;height:27px;margin-bottom:7px}.card h2{font-size:23px}.card-line{margin:8px 0}.card p{min-height:0}.arrow{margin-top:6px;font-size:22px}.footer{font-size:10px;flex-direction:column;align-items:center;text-align:center;gap:12px}.footer .legal,.footer .copy{max-width:100%;text-align:center}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Framinta 1.1 — discreet multilingual selector */
.language-nav{margin-left:auto;position:relative;z-index:10;direction:ltr}
.language-picker{position:relative;font-family:Georgia,'Times New Roman',serif}
.language-picker summary{list-style:none;display:flex;align-items:center;justify-content:center;gap:10px;min-width:92px;min-height:40px;padding:8px 11px;color:var(--ink);font-size:13px;letter-spacing:.09em;cursor:pointer;border:1px solid rgba(170,122,53,.32);background:rgba(255,253,249,.48);transition:background .2s,border-color .2s}
.language-picker summary::-webkit-details-marker{display:none}
.language-picker summary::marker{content:""}
.language-picker summary:hover,.language-picker[open] summary{background:#fffaf1;border-color:var(--gold)}
.language-picker summary:focus-visible,.language-options a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.language-globe{width:17px;height:17px;flex-shrink:0;color:#986d32}
.language-chevron{width:13px;height:13px;flex-shrink:0;transition:transform .2s}
.language-picker[open] .language-chevron{transform:rotate(180deg)}
.language-options{position:absolute;top:calc(100% + 7px);right:0;width:192px;max-height:min(370px,65vh);overflow-y:auto;overscroll-behavior:contain;padding:6px;background:#fcf8f0;border:1px solid rgba(170,122,53,.48);box-shadow:0 12px 30px rgba(30,25,20,.14);text-align:left;z-index:50}
.language-options a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 11px;color:var(--ink);font-size:13px;letter-spacing:.015em;text-decoration:none;transition:background .15s}
.language-options a:hover,.language-options a[aria-current="page"]{background:#efe5d4;color:#855c24}
.language-check{color:#946927}
@media(max-width:640px){.top{justify-content:flex-end}.language-nav{margin-left:auto}.language-picker summary{min-height:38px;padding:7px 10px}.language-options{max-height:min(360px,65vh)}}

/* Version 1.2: restrained gold laurel corners; existing cream layout preserved */
.site:before{inset:17px;border-color:rgba(170,122,53,.52)}
.laurel-corners{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}
.laurel-corner{position:absolute;width:clamp(78px,10.5vw,145px);height:clamp(78px,10.5vw,145px);background:url('assets/laurel-corner.svg') center/contain no-repeat;opacity:.85}
.laurel-tl{top:12px;left:12px}
.laurel-tr{top:12px;right:12px;transform:scaleX(-1)}
.laurel-bl{bottom:12px;left:12px;transform:scaleY(-1)}
.laurel-br{bottom:12px;right:12px;transform:scale(-1)}
.card{position:relative;overflow:hidden}
.card:before,.card:after{content:"";position:absolute;width:53px;height:53px;background:url('assets/laurel-corner.svg') center/contain no-repeat;opacity:.43;pointer-events:none}
.card:before{top:2px;left:2px}
.card:after{bottom:2px;right:2px;transform:scale(-1)}
@media(max-width:640px){.site:before{inset:9px}.laurel-corner{width:67px;height:67px;opacity:.65}.laurel-tl{top:5px;left:5px}.laurel-tr{top:5px;right:5px}.laurel-bl{bottom:5px;left:5px}.laurel-br{bottom:5px;right:5px}.card:before,.card:after{width:36px;height:36px;opacity:.36}}


/* v1.4 — compact laurels; original v1.1 vertical rhythm restored */
.laurel-corners{z-index:0}
.laurel-corner{width:clamp(42px,5.6vw,74px);height:clamp(42px,5.6vw,74px);opacity:.64}
.laurel-tl{top:15px;left:15px}.laurel-tr{top:15px;right:15px}
.laurel-bl{bottom:15px;left:15px}.laurel-br{bottom:15px;right:15px}
.top,.hero,.cards,.footer{position:relative;z-index:1}
.card:before,.card:after{width:30px;height:30px;opacity:.25}
.card:before{top:4px;left:4px}.card:after{bottom:4px;right:4px}
@media(max-width:640px){
 .laurel-corner{width:34px;height:34px;opacity:.53}
 .laurel-tl{top:8px;left:8px}.laurel-tr{top:8px;right:8px}
 .laurel-bl{bottom:8px;left:8px}.laurel-br{bottom:8px;right:8px}
 .card:before,.card:after{width:24px;height:24px;opacity:.2}
 .hero{width:100%;max-width:100%;text-align:center;margin-left:auto;margin-right:auto}
 .mark{display:block;width:clamp(92px,29vw,115px);max-width:100%;height:auto;margin-left:auto;margin-right:auto;object-position:center}
 .wordmark{width:100%;max-width:100%;font-size:clamp(35px,10.2vw,58px);letter-spacing:.015em;text-align:center;overflow-wrap:normal}
 .tagline,.est,.anniversary,.values{text-align:center;margin-left:auto;margin-right:auto}
}

/* v1.5: compact optional social links; no changes to page spacing */
.footer-right{display:flex;flex-direction:column;align-items:flex-end;gap:7px;max-width:50%}
.footer-right .copy{max-width:100%}
.social-links{display:flex;justify-content:flex-end;align-items:center;gap:11px;flex-wrap:wrap}
.social-links a{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:#956921;border:1px solid rgba(170,122,53,.4);border-radius:50%;text-decoration:none;transition:background .15s,color .15s}
.social-links a:hover,.social-links a:focus-visible{background:#956921;color:#fff;outline-offset:2px}
@media(max-width:640px){.footer-right{align-items:center;max-width:100%}.social-links{justify-content:center}.footer-right .copy{text-align:center}}


/* v1.6 — animated ivory language panel, replaces the plain white dropdown */
.language-nav{z-index:30}
.language-picker summary{border-radius:24px;background:rgba(247,240,227,.72);border-color:rgba(170,122,53,.48);box-shadow:0 2px 10px rgba(99,72,38,.035);transition:background .25s,border-color .25s,box-shadow .25s}
.language-picker summary:hover,.language-picker[open] summary{background:#f0e5d3;border-color:#b78d50;box-shadow:0 4px 16px rgba(99,72,38,.09)}
.language-chevron{transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.language-options{width:298px;max-height:min(440px,72dvh);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;padding:15px;border:1px solid rgba(171,127,63,.53);border-radius:15px;background:linear-gradient(145deg,rgba(255,251,242,.98),rgba(236,224,204,.98));box-shadow:0 17px 42px rgba(47,34,18,.16),inset 0 1px rgba(255,255,255,.65);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transform-origin:top right;overflow-y:auto;scrollbar-color:#c4a574 transparent}
.language-picker[open] .language-options{animation:framinta-lang-reveal .32s cubic-bezier(.16,1,.3,1) both}
@keyframes framinta-lang-reveal{from{opacity:0;transform:translateY(-11px) scale(.965)}to{opacity:1;transform:translateY(0) scale(1)}}
.language-options a{min-height:39px;padding:9px 10px;border-radius:8px;font-size:12px;letter-spacing:0;transition:background .18s,color .18s,transform .18s}
.language-options a:hover,.language-options a:focus-visible{background:rgba(184,146,91,.16);color:#795323;transform:translateX(2px)}
.language-options a[aria-current="page"]{background:rgba(172,126,61,.15);color:#76501d}
.language-check{font-size:14px}
@media(max-width:640px){.language-options{width:min(298px,calc(100vw - 42px));max-height:min(420px,65dvh);right:0;padding:11px}.language-options a{font-size:12px}}
@media(prefers-reduced-motion:reduce){.language-picker[open] .language-options{animation:none}.language-options a{transform:none!important}}

/* v1.7 — transparent gold language ribbon; compact, accessible and responsive */
.language-nav{z-index:40}
.language-picker summary{color:#926727;border:1px solid rgba(170,122,53,.52);background:rgba(247,242,233,.16);box-shadow:none;border-radius:999px;min-width:85px;min-height:38px}
.language-picker summary:hover,.language-picker[open] summary{color:#80551b;background:rgba(170,122,53,.09);border-color:#aa7a35;box-shadow:none}
.language-options{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:3px 5px;position:absolute;top:calc(100% + 8px);right:0;width:max-content;max-width:min(680px,calc(100vw - 48px));max-height:min(55dvh,350px);overflow-y:auto;padding:10px 13px;border:1px solid rgba(170,122,53,.38);border-radius:12px;background:rgba(247,242,233,.72);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 8px 25px rgba(67,47,23,.09);transform-origin:top right;direction:ltr}
.language-options a{display:inline-flex;justify-content:center;gap:5px;min-height:34px;padding:7px 9px;white-space:nowrap;color:#936826;font-size:12px;line-height:1.3;border-radius:5px}
.language-options a:hover,.language-options a:focus-visible{color:#694513;background:rgba(170,122,53,.12);transform:none}
.language-options a[aria-current="page"]{background:rgba(170,122,53,.14);color:#704913}
.language-picker[open] .language-options{animation:framinta-ribbon-drop .26s cubic-bezier(.2,.8,.2,1) both}
@keyframes framinta-ribbon-drop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.laurel-corner{width:clamp(49px,6.4vw,85px);height:clamp(49px,6.4vw,85px);opacity:.66}
@media(max-width:640px){
 .language-nav{margin-left:auto;max-width:100%}
 .language-picker summary{min-height:36px;min-width:76px;padding:6px 9px}
 .language-options{position:absolute;right:0;left:auto;top:calc(100% + 7px);width:min(315px,calc(100vw - 48px));max-width:calc(100vw - 48px);max-height:min(55dvh,330px);padding:9px 7px;gap:2px 3px;justify-content:center;transform-origin:top right}
 .language-options a{min-height:35px;padding:8px 7px;font-size:11px}
 .laurel-corner{width:40px;height:40px;opacity:.56}
}
@media(max-width:380px){.language-options{width:min(282px,calc(100vw - 42px))}.language-options a{font-size:10.5px;padding:7px 5px}}
@media(prefers-reduced-motion:reduce){.language-picker[open] .language-options{animation:none}}


/* v1.8: mobile language tray stays in document flow, never overlaps the F. */
@media(max-width:640px){
 .top{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;min-height:0}
 .language-nav{width:100%;margin:0;position:relative;z-index:5}
 .language-picker{display:flex;flex-direction:column;align-items:flex-end;width:100%}
 .language-picker summary{align-self:flex-end;position:relative;z-index:1}
 .language-options{position:relative;inset:auto;top:auto;right:auto;left:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-self:stretch;width:100%;max-width:none;max-height:none;overflow:visible;gap:3px;margin:9px 0 0;padding:8px 6px;border:1px solid rgba(170,122,53,.26);border-radius:9px;background:rgba(247,242,233,.32);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transform-origin:top center;text-align:center}
 .language-options a{min-width:0;min-height:32px;padding:7px 2px;gap:3px;font-size:clamp(10px,2.65vw,12px);line-height:1.15;white-space:normal;overflow-wrap:anywhere}
 .language-check{font-size:11px}
 .hero{position:relative;z-index:1}
 .language-picker[open] .language-options{animation:framinta-mobile-tray .24s ease-out both}
}
@media(max-width:380px){.language-options{width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}.language-options a{font-size:10px;padding:6px 1px}}
@keyframes framinta-mobile-tray{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.language-picker[open] .language-options{animation:none}}

/* v2.0 desktop-only: menu expands in document flow, never covers the brand or motto.
   Mobile v1.9 rules intentionally unchanged. */
@media (min-width:641px) {
 .top{align-items:flex-start;}
 .language-nav{flex:0 1 auto;max-width:min(100%,720px);min-width:0;}
 .language-picker{display:flex;flex-direction:column;align-items:flex-end;}
 .language-options{position:relative;inset:auto;top:auto;right:auto;left:auto;
   align-self:flex-end;width:min(620px,calc(100vw - 220px));max-width:100%;
   max-height:none;overflow:visible;display:flex;flex-wrap:wrap;justify-content:center;
   gap:4px 7px;margin-top:8px;padding:10px 12px;
   background:rgba(247,242,233,.45);box-shadow:none;border-radius:10px;
   backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
   transform-origin:top right;}
 .language-options a{font-size:12px;min-height:32px;padding:6px 9px;}
 .language-picker[open] .language-options{animation:framinta-ribbon-drop .26s ease-out both;}
}
@media (min-width:641px) and (max-width:900px){
 .language-options{width:min(510px,calc(100vw - 120px));}
}

/* v2.1 — desktop floating language selector: no layout reflow.
   Mobile <=640px retains the proven in-flow tray unchanged. */
@media (min-width:641px) {
 .top { position:relative; align-items:flex-start; }
 .language-nav { position:relative; z-index:60; flex:0 0 auto; max-width:none; margin-left:auto; }
 .language-picker { position:relative; display:block; }
 .language-options {
   position:absolute; top:calc(100% + 9px); right:0; left:auto;
   width:310px; max-width:min(310px,calc(100vw - 56px));
   max-height:min(68vh,490px); overflow-y:auto;
   display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
   gap:3px 4px; margin:0; padding:10px;
   background:rgba(247,242,233,.94);
   border:1px solid rgba(170,122,53,.42); border-radius:12px;
   box-shadow:0 12px 32px rgba(63,45,22,.11);
   -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
   transform-origin:top right;
 }
 .language-options a { min-width:0; min-height:34px; padding:7px 8px; font-size:12px; justify-content:center; }
 .language-picker[open] .language-options { animation:framinta-ribbon-drop .23s ease-out both; }
}
@media (min-width:641px) and (max-width:900px) {
 .language-options { width:260px; max-width:calc(100vw - 48px); }
 .language-options a { font-size:11px; padding:6px 5px; }
}
