/* =====================================
   GLOBAL.CSS V1
   3D LOGO MAKER
===================================== */

/* =====================================
   ROOT VARIABLES
===================================== */

:root{

   --container:1280px;

   --radius:24px;

   --shadow:
   0 10px 30px rgba(0,0,0,.05);

}

/* =====================================
   THEME SYSTEM
===================================== */

.theme-light{

   --bg:#ffffff;

   --text:#111111;

   --muted:#666666;
   --text-muted:#666666;

   --card:#ffffff;

   --border:#e8e8e8;

}

.theme-paper{

   --bg:#f6f1e7;

   --text:#2b2b2b;

   --muted:#666666;
   --text-muted:#666666;

   --card:#fbf7ef;

   --border:#dfd8ca;

}

.theme-dark{

   --bg:#101010;

   --text:#f5f5f5;

   --muted:#a1a1a1;
   --text-muted:#a1a1a1;

   --card:#171717;

   --border:#2a2a2a;

}

/* =====================================
   RESET
===================================== */

*{

   margin:0;
   padding:0;

   box-sizing:border-box;

}

html{

   scroll-behavior:smooth;

}

body{

   background:var(--bg);

   color:var(--text);

   font-family:
   Inter,
   Arial,
   sans-serif;

   line-height:1.7;

   transition:
   background .25s,
   color .25s;

}

img{

   display:block;

   max-width:100%;

}

a{

   color:inherit;

   text-decoration:none;

}

button{

   font-family:inherit;

}

input,
textarea,
select{

   font-family:inherit;

}

/* =====================================
   CONTAINER
===================================== */

.container{

   max-width:
   var(--container);

   margin:auto;

   padding:
   0 24px;

}

/* =====================================
   HEADER
===================================== */

.header{

   position:sticky;

   top:0;

   z-index:9999;

   background:var(--bg);

   border-bottom:
   1px solid var(--border);

   transition:.25s;

}

.header.scrolled{

   box-shadow:var(--shadow);

}

.headerContainer{

   height:78px;

   display:flex;

   align-items:center;

   justify-content:space-between;

}

.logoLink{

   display:flex;

   align-items:center;

}

.logoLink img{

   width:52px;
   height:52px;

   object-fit:contain;

}

/* =====================================
   NAVIGATION
===================================== */

.desktopNav{

   display:flex;

   align-items:center;

   gap:42px;

}

.desktopNav a{

   color:var(--muted);

   font-size:15px;

   font-weight:500;

   transition:.2s;

}

.desktopNav a:hover{

   color:var(--text);

}

.desktopNav a.active{

   color:var(--text);

}

/* =====================================
   HEADER ACTIONS
===================================== */

.navActions{

   display:flex;

   align-items:center;

   gap:10px;

}

/* =====================================
   ICON BUTTON
===================================== */

.iconBtn{

   width:42px;

   height:42px;

   border:none;

   border-radius:12px;

   background:var(--card);

   border:
   1px solid var(--border);

   cursor:pointer;

   display:flex;

   align-items:center;

   justify-content:center;

   transition:.2s;

}

.iconBtn:hover{

   transform:
   translateY(-2px);

}

.iconBtn img{

   width:18px;

   height:18px;

   object-fit:contain;

}

/* =====================================
   DROPDOWNS
===================================== */

.dropdownWrap{

   position:relative;

}

.dropdownMenu{

   display:none;

   position:absolute;

   top:56px;

   right:0;

   background:var(--card);

   border:
   1px solid var(--border);

   border-radius:18px;

   overflow:hidden;

   box-shadow:
   0 20px 40px rgba(0,0,0,.08);

   z-index:1000;

}

.dropdownMenu.active{

   display:block;

}

.languageMenu{

   width:80px;

}

.themeMenu{

   width:74px;

}

/* =====================================
   LANGUAGE ITEMS
===================================== */

.langItem{

   width:100%;

   height:58px;

   border:none;

   background:none;

   color:var(--text);

   font-size:15px;

   font-weight:600;

   cursor:pointer;

}

.langItem:hover{

   background:
   rgba(0,0,0,.04);

}

/* =====================================
   THEME ITEMS
===================================== */

/* =====================================
   THEME MENU V3
===================================== */

.themeMenu{

   width:64px;

   padding:8px 0;

   border-radius:20px;

}

.themeItem{

   width:100%;

   height:46px;

   border:none;

   background:transparent;

   display:flex;

   align-items:center;

   justify-content:center;

   cursor:pointer;

   transition:.25s;

}

/* LIGHT MODE */

.theme-light .themeItem:hover,
.theme-paper .themeItem:hover{

   background:rgba(0,0,0,.06);

}

/* DARK MODE */

.theme-dark .themeItem{

   color:#ffffff;

}

.theme-dark .themeItem:hover{

   background:#262626;

}

.theme-dark .themeItem.active{

   background:#303030;

}

/* ICONS */

.themeItem img{

   width:18px;

   height:18px;

   opacity:.9;

}

.theme-dark .themeItem img{

   filter:
   brightness(0)
   invert(1);

}
/* =====================================
   FOOTER V2
===================================== */

.siteFooter{

    margin-top:120px;

    border-top:1px solid var(--border);

    background:var(--bg);

}

.footerTop{

    display:grid;

    grid-template-columns:
    1.5fr
    1fr
    1fr;

    gap:80px;

    padding:80px 0 60px;

}

/* =====================================
   BRAND
===================================== */

.footerBrand{

    max-width:420px;

}

.footerLogo{

    display:inline-flex;

    margin-bottom:24px;

}

.footerLogo img{

    width:72px;

    height:72px;

    object-fit:contain;

}

.footerDescription{

    margin:0;

    line-height:1.8;

    color:var(--text-muted);

    font-size:15px;

}

/* =====================================
   SOCIAL
===================================== */

.footerSocial{

    margin-top:36px;

}

.footerSocialTitle{

    margin:0 0 20px;

    font-size:22px;

    font-weight:700;

    color:var(--text);

}

.socialLinks{

    display:flex;

    align-items:center;

    gap:16px;

    flex-wrap:wrap;

}

.socialLinks a{

    width:48px;

    height:48px;

    border-radius:14px;

    display:flex;

    align-items:center;

    justify-content:center;

    text-decoration:none;

    transition:.3s ease;

    border:1px solid var(--border);

    background:var(--card);

}

.socialLinks a:hover{

    transform:translateY(-4px);

}

.socialLinks img{

    width:22px;

    height:22px;

    object-fit:contain;

}

/* =====================================
   FOOTER LINKS
===================================== */

.footerColumn h3{

    margin:0 0 24px;

    font-size:20px;

    font-weight:700;

    color:var(--text);

}

.footerColumn ul{

    list-style:none;

    padding:0;

    margin:0;

}

.footerColumn li{

    margin-bottom:16px;

}

.footerColumn a{

    color:var(--text-muted);

    text-decoration:none;

    transition:.25s;

}

.footerColumn a:hover{

    color:var(--text);

}

/* =====================================
   COPYRIGHT
===================================== */

.footerBottom{

    border-top:1px solid var(--border);

    padding:32px 0;

    text-align:center;

}

.footerBottom p{

    margin:0;

    color:var(--text-muted);

    font-size:15px;

}

/* =====================================
   DARK MODE
===================================== */

.theme-dark .socialLinks a{

    background:#171717;

    border-color:#2f2f2f;

}

.theme-dark .socialLinks a:hover{

    background:#222222;

}

.theme-dark .socialLinks img{

    filter:
    brightness(0)
    invert(1);

}

.theme-dark .footerColumn a{

    color:#9b9b9b;

}

.theme-dark .footerColumn a:hover{

    color:#ffffff;

}

/* =====================================
   PAPER MODE
===================================== */

.theme-paper .socialLinks a{

    background:#f8f4ec;

    border-color:#d9d0c3;

}

.theme-paper .socialLinks a:hover{

    background:#efe8db;

}

/* =====================================
   LIGHT MODE
===================================== */

.theme-light .socialLinks a{

    background:#ffffff;

    border-color:#dddddd;

}

.theme-light .socialLinks a:hover{

    background:#f7f7f7;

}

/* =====================================
   TABLET
===================================== */

@media(max-width:1024px){

    .footerTop{

        grid-template-columns:
        1fr
        1fr;

        gap:50px;

    }

    .footerBrand{

        grid-column:
        1 / -1;

        max-width:none;

    }

}

/* =====================================
   MOBILE
===================================== */

@media(max-width:768px){

    .footerTop{

        grid-template-columns:1fr;

        gap:40px;

        padding:60px 0 40px;

    }

    .footerBrand{

        text-align:center;

    }

    .footerLogo{

        justify-content:center;

    }

    .socialLinks{

        justify-content:center;

    }

    .footerColumn{

        text-align:center;

    }

    .footerSocialTitle{

        font-size:20px;

    }

}
/* =====================================
   DARK MODE HEADER BUTTONS
===================================== */

.theme-dark .iconBtn{

   background:#1b1b1b;

   border:1px solid #343434;

   box-shadow:
   0 0 0 1px rgba(255,255,255,.03);

}

.theme-dark .iconBtn:hover{

   background:#262626;

   border-color:#444444;

}

.theme-dark .iconBtn img{

   filter:
   brightness(0)
   invert(1);

}
/* =====================================
   TABLET
===================================== */

@media(max-width:1100px){

   .footerTop{

      grid-template-columns:
      1fr 1fr;

   }

}

/* =====================================
   MOBILE
===================================== */

@media(max-width:768px){

   .desktopNav{

      display:none;

   }

   .headerContainer{

      height:72px;

   }

   .footerTop{

      grid-template-columns:1fr;

      gap:40px;

   }

   .container{

      padding:
      0 20px;

   }

}

/* =====================================
   SMALL MOBILE
===================================== */

@media(max-width:480px){

   .container{

      padding:
      0 18px;

   }

   .logoLink img{

      width:46px;
      height:46px;

   }

}

/* =====================================
   MOBILE + TABLET BOTTOM NAVIGATION
===================================== */

#mobile-bottom-nav{
   display:none;
}

@media(max-width:820px){

   .desktopNav{
      display:none;
   }

   body:not(.mobile-nav-excluded){
      padding-bottom:
      calc(84px + env(safe-area-inset-bottom));
   }

   #mobile-bottom-nav{
      display:block;
      position:fixed;
      left:50%;
      bottom:12px;
      z-index:9998;
      width:min(620px, calc(100% - 32px));
      transform:translateX(-50%);
      transition:opacity .2s ease, transform .2s ease;
   }

   .mobileBottomNav{
      display:grid;
      grid-template-columns:repeat(5, minmax(0, 1fr));
      align-items:center;
      min-height:64px;
      padding:6px;
      border:1px solid var(--border);
      border-radius:22px;
      background:color-mix(in srgb, var(--card) 94%, transparent);
      box-shadow:0 14px 38px rgba(0,0,0,.14);
      backdrop-filter:blur(16px);
      -webkit-backdrop-filter:blur(16px);
   }

   .mobileBottomNav__item{
      position:relative;
      min-width:0;
      min-height:54px;
      padding:6px 3px;
      border-radius:16px;
      color:var(--muted);
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      gap:3px;
      font-size:11px;
      font-weight:650;
      line-height:1;
      transition:background .2s ease, color .2s ease, transform .2s ease;
      -webkit-tap-highlight-color:transparent;
   }

   .mobileBottomNav__item img{
      width:21px;
      height:21px;
      opacity:.82;
   }

   .theme-dark .mobileBottomNav__item{
      color:#b8b8b8;
   }

   .theme-dark .mobileBottomNav__item img{
      filter:brightness(0) invert(1);
   }

   .mobileBottomNav__item:hover,
   .mobileBottomNav__item:focus-visible{
      color:var(--text);
      background:color-mix(in srgb, var(--text) 7%, transparent);
   }

   .mobileBottomNav__item:focus-visible{
      outline:2px solid #c79a45;
      outline-offset:1px;
   }

   .mobileBottomNav__item.active{
      color:#9b690b;
      background:rgba(199,154,69,.14);
   }

   .mobileBottomNav__item.active img{
      opacity:1;
      filter:sepia(1) saturate(5) hue-rotate(358deg) brightness(.72);
   }

   .theme-dark .mobileBottomNav__item.active{
      color:#e0b55e;
      background:rgba(224,181,94,.14);
   }

   .theme-dark .mobileBottomNav__item.active img{
      filter:sepia(1) saturate(3) hue-rotate(358deg) brightness(1.16);
   }

   .mobileBottomNav__item.active::before{
      content:"";
      position:absolute;
      top:2px;
      width:20px;
      height:2px;
      border-radius:99px;
      background:currentColor;
   }

   .mobile-nav-modal-open #mobile-bottom-nav,
   .mobile-nav-keyboard-open #mobile-bottom-nav{
      opacity:0;
      pointer-events:none;
      transform:translate(-50%, 18px);
   }

}

/* =====================================
   LANGUAGE AVAILABILITY TOAST
===================================== */

.languageNotice{
   position:fixed;
   left:50%;
   bottom:28px;
   z-index:10020;
   width:min(420px, calc(100% - 32px));
   padding:13px 18px;
   border:1px solid var(--border);
   border-left:3px solid #c79a45;
   border-radius:14px;
   background:var(--card);
   color:var(--text);
   box-shadow:0 14px 38px rgba(0,0,0,.16);
   font-size:14px;
   font-weight:600;
   line-height:1.45;
   text-align:center;
   opacity:0;
   pointer-events:none;
   transform:translate(-50%, 14px);
   transition:opacity .22s ease, transform .22s ease;
}

.languageNotice.active{
   opacity:1;
   transform:translate(-50%, 0);
}

@media(max-width:820px){

   .languageNotice{
      bottom:calc(82px + env(safe-area-inset-bottom));
   }

}

@media(prefers-reduced-motion:reduce){

   .languageNotice{
      transition:none;
   }

}

@media(max-width:767px){

   body:not(.mobile-nav-excluded){
      padding-bottom:
      calc(72px + env(safe-area-inset-bottom));
   }

   #mobile-bottom-nav{
      left:0;
      bottom:0;
      width:100%;
      transform:none;
   }

   .mobileBottomNav{
      min-height:64px;
      padding:4px 6px calc(4px + env(safe-area-inset-bottom));
      border-width:1px 0 0;
      border-radius:0;
      box-shadow:0 -8px 28px rgba(0,0,0,.09);
   }

   .mobileBottomNav__item{
      min-height:56px;
      border-radius:13px;
      font-size:10px;
   }

   .mobile-nav-modal-open #mobile-bottom-nav,
   .mobile-nav-keyboard-open #mobile-bottom-nav{
      transform:translateY(18px);
   }

}

@media(max-width:360px){

   .mobileBottomNav__item{
      font-size:9px;
   }

   .mobileBottomNav__item img{
      width:20px;
      height:20px;
   }

}

/* =====================================
   SHARED HEADER + FOOTER POLISH V2
   Keeps global typography consistent across every page.
===================================== */

#site-header,
#site-footer,
#site-header *,
#site-footer *{
   font-family:inherit !important;
}

.desktopNav a{
   position:relative;
}

.desktopNav a::after{
   content:"";
   position:absolute;
   left:0;
   right:0;
   bottom:-7px;
   height:1.5px;
   border-radius:99px;
   background:currentColor;
   transform:scaleX(0);
   transform-origin:center;
   opacity:.72;
   transition:transform .24s ease, opacity .24s ease;
}

.desktopNav a:hover::after,
.desktopNav a:focus-visible::after,
.desktopNav a.active::after{
   transform:scaleX(1);
   opacity:1;
}

.footerColumn a{
   display:inline-block;
   transform:translateX(0);
   transition:color .25s ease, transform .25s ease;
}

.footerColumn a:hover,
.footerColumn a:focus-visible{
   transform:translateX(3px);
}

.socialLinks a:hover,
.socialLinks a:focus-visible{
   transform:translateY(-4px) scale(1.025);
}

@media(prefers-reduced-motion:reduce){
   .desktopNav a::after,
   .footerColumn a,
   .socialLinks a{
      transition:none;
   }

   .footerColumn a:hover,
   .footerColumn a:focus-visible,
   .socialLinks a:hover,
   .socialLinks a:focus-visible{
      transform:none;
   }
}

/* =====================================
   COOKIE CONSENT V1
===================================== */
body.consent-ui-open{overflow:hidden;}
.consentBanner,.consentReminder,.consentPanel{font-family:inherit;color:var(--text);}
.consentBanner{position:fixed;left:24px;right:24px;bottom:24px;z-index:11000;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:end;width:min(1180px,calc(100% - 48px));margin:auto;padding:24px;border:1px solid var(--border);border-radius:22px;background:var(--card);box-shadow:0 22px 70px rgba(0,0,0,.22);}
.consentBanner__content{max-width:760px;}.consentBanner h2,.consentPanel h2{margin:2px 0 8px;font-size:clamp(22px,3vw,30px);line-height:1.2;}.consentBanner p,.consentPanel p{margin:0;color:var(--text-muted);line-height:1.6;}.consentEyebrow{font-size:12px!important;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#9b690b!important;}.theme-dark .consentEyebrow{color:#e0b55e!important;}.consentLegal{margin-top:10px!important;font-size:13px;}.consentLegal a{text-decoration:underline;text-underline-offset:3px;}
.consentActions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;}.consentButton{min-height:44px;padding:10px 16px;border-radius:12px;border:1px solid var(--border);font:inherit;font-size:14px;font-weight:750;cursor:pointer;}.consentButton--primary{background:var(--text);color:var(--bg);border-color:var(--text);}.consentButton--secondary,.consentButton--quiet{background:var(--card);color:var(--text);}.consentButton:focus-visible,.consentClose:focus-visible,.consentReminder__close:focus-visible{outline:3px solid rgba(199,154,69,.5);outline-offset:2px;}
.consentOverlay{position:fixed;inset:0;z-index:11100;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.48);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);}.consentPanel{width:min(620px,100%);max-height:min(760px,calc(100vh - 40px));overflow:auto;padding:26px;border:1px solid var(--border);border-radius:22px;background:var(--card);box-shadow:0 28px 80px rgba(0,0,0,.3);}.consentPanel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:10px;}.consentClose,.consentReminder__close{border:0;background:transparent;color:var(--text);font-size:28px;line-height:1;cursor:pointer;}.consentChoice{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:14px;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--bg);}.consentChoice div{display:grid;gap:3px;}.consentChoice span{font-size:13px;color:var(--text-muted);}.consentChoice input{width:22px;height:22px;accent-color:#9b690b;}.consentAlways{white-space:nowrap;font-weight:700;}.consentActions--preferences{margin-top:20px;}
.consentReminder{position:fixed;left:50%;bottom:22px;z-index:11000;transform:translateX(-50%);width:min(900px,calc(100% - 32px));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:16px 18px;border:1px solid var(--border);border-radius:18px;background:var(--card);box-shadow:0 18px 55px rgba(0,0,0,.2);}.consentReminder__copy{display:grid;gap:2px;padding-right:24px;}.consentReminder__copy span{font-size:13px;line-height:1.45;color:var(--text-muted);}.consentReminder__actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}.consentReminder__close{position:absolute;top:8px;right:10px;font-size:22px;}
.cookiePreferencesButton{padding:0;border:0;background:none;color:var(--text-muted);font:inherit;cursor:pointer;transition:color .25s ease,transform .25s ease;}.cookiePreferencesButton:hover,.cookiePreferencesButton:focus-visible{color:var(--text);transform:translateX(3px);}
@media(max-width:820px){.consentBanner{left:14px;right:14px;bottom:78px;width:calc(100% - 28px);grid-template-columns:1fr;gap:18px;padding:20px;}.consentActions{justify-content:stretch;}.consentActions .consentButton{flex:1 1 145px;}.consentReminder{bottom:76px;grid-template-columns:1fr;gap:12px;}.consentReminder__actions{justify-content:stretch;}.consentReminder__actions .consentButton{flex:1 1 120px;}}
@media(max-width:520px){.consentBanner{max-height:calc(100vh - 96px);overflow:auto;}.consentActions{display:grid;grid-template-columns:1fr;}.consentButton{width:100%;}.consentPanel{padding:20px;}.consentChoice{align-items:flex-start;}.consentReminder__actions{display:grid;grid-template-columns:1fr 1fr;}.consentReminder__actions .consentButton--primary{grid-column:1/-1;}}
@media(prefers-reduced-motion:reduce){.cookiePreferencesButton{transition:none;}}
