/*
Theme Name: UVIXE Child
Template: generatepress
Version: 1.0
*/

/* ==================================================
   UVIXE GLOBAL DESIGN SYSTEM
================================================== */

:root{
  --bg:#ffffff;
  --ink:#0A0F1C;
  --ink-2:#1d2433;
  --muted:#5b6372;
  --line:#ececef;
  --line-2:#f4f4f6;
  --soft:#f8f8fa;
  --accent:oklch(0.52 0.17 258);
  --accent-2:oklch(0.62 0.18 290);
  --accent-soft:oklch(0.97 0.02 258);
  --max:1240px;
  --pad:32px;
  --serif:"Instrument Serif","Times New Roman",serif;
}

*{box-sizing:border-box}

html,body{
  margin:0;
  padding:0;
  background:var(--bg);
  color:var(--ink);
  font-family:Inter,system-ui,sans-serif;
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

body{overflow-x:hidden}

a{
  color:inherit;
  text-decoration:none;
  transition:.15s ease;
}

a:hover{color:var(--accent)}

img{
  max-width:100%;
  display:block;
}

/* CONTAINER */

.container,
.inside-header,
.main-navigation .inside-navigation{
  max-width:var(--max);
  margin:0 auto;
  padding-left:var(--pad);
  padding-right:var(--pad);
}

/* TYPOGRAPHY */

h1,h2,h3,h4,h5,h6{
  color:var(--ink);
  font-weight:800;
  letter-spacing:-0.03em;
  line-height:1.05;
}

p{color:var(--muted)}

.mono{
  font-family:"JetBrains Mono",ui-monospace,monospace;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}

/* BUTTONS */

.btn,
.wp-block-button__link,
button,
input[type="submit"]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 16px;
  border-radius:8px;
  font-size:14px;
  font-weight:500;
  border:1px solid transparent;
  transition:.12s ease;
  cursor:pointer;
}

.btn-primary,
.wp-block-button__link,
button,
input[type="submit"]{
  background:var(--ink);
  color:#fff !important;
}

.btn-primary:hover,
.wp-block-button__link:hover,
button:hover,
input[type="submit"]:hover{
  background:var(--accent);
  color:#fff !important;
}

.btn-ghost{
  background:transparent;
  color:var(--ink);
  border-color:var(--line);
}

.btn-ghost:hover{border-color:var(--ink)}

/* HEADER */

.site-header{
  position:sticky;
  top:0;
  z-index:999;
  background:rgba(255,255,255,.85);
  backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--line);
}

.inside-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:64px;
}

.site-logo img,
.custom-logo,
.site-branding img{
  max-height:42px;
  width:auto;
}

/* NAVIGATION DESKTOP */

.main-navigation{background:transparent}

.main-navigation .inside-navigation{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:64px;
}

.main-navigation .main-nav > ul{
  display:flex !important;
  align-items:center;
  gap:28px;
}

.main-navigation .main-nav > ul > li > a{
  color:var(--ink-2);
  font-size:14px;
  font-weight:500;
  line-height:64px;
}

.main-navigation .main-nav > ul > li > a:hover,
.main-navigation .main-nav > ul > li.current-menu-item > a{
  color:var(--accent);
}

.main-navigation .main-nav > ul > li.menu-quote > a{
  background:var(--ink);
  color:#fff !important;
  border-radius:8px;
  padding:10px 16px !important;
  line-height:1 !important;
}

.main-navigation .main-nav > ul > li.menu-quote > a:hover{
  background:var(--accent);
  color:#fff !important;
}

/* Desktop Dropdown */

@media(min-width:769px){
  .main-navigation .main-nav ul ul{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    min-width:220px;
    padding:12px 0;
    background:#fff;
    border:1px solid var(--line);
    border-radius:12px;
    box-shadow:0 18px 40px rgba(7,11,22,.08);
  }

  .main-navigation .main-nav ul ul li{
    display:block !important;
    width:100% !important;
  }

  .main-navigation .main-nav ul ul li a{
    display:block !important;
    width:100% !important;
    padding:12px 18px !important;
    line-height:1.4 !important;
    font-size:14px;
    font-weight:500;
    white-space:nowrap;
    color:var(--ink-2);
  }

  .main-navigation .main-nav ul ul li a:hover{
    background:var(--soft);
    color:var(--accent);
  }
}

/* SECTION / CARDS / TAGS */

section{padding:96px 0}

.rule{
  height:1px;
  background:var(--line);
  width:100%;
}

.card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  transition:.2s ease;
}

.card:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 40px rgba(7,11,22,.06);
}

.tag{
  padding:3px 8px;
  border:1px solid var(--line);
  border-radius:6px;
  font-family:"JetBrains Mono",monospace;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--ink-2);
  background:#fff;
}

/* TABLE */

table{
  width:100%;
  border-collapse:collapse;
  font-family:Arial,sans-serif;
  font-size:15px;
  table-layout:fixed;
}

table th{
  border:1px solid #dcdcdc;
  padding:12px;
  background:#f5f7fa;
  text-align:center;
}

table td{
  border:1px solid #dcdcdc;
  padding:10px;
  width:50%;
}

/* BLOG SINGLE PAGE */

.single-post{background:var(--soft)}

.single-post .site-content{
  padding-top:48px;
  padding-bottom:72px;
}

.single-post .inside-article{
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:48px;
}

.single-post .sidebar{
  position:sticky;
  top:88px;
  align-self:flex-start;
}

.single-post .sidebar .widget{
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:24px;
  margin-bottom:18px;
}
/* ==================================================
   BLOG ARCHIVE CARD LAYOUT
   Image + Title + Date/Author + Category + Read More
================================================== */

.blog,
.archive{
  background:var(--soft);
}

.blog .site-content,
.archive .site-content{
  padding-top:64px;
  padding-bottom:80px;
}

.blog .site-main,
.archive .site-main{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}

.blog .inside-article,
.archive .inside-article{
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:0;
  overflow:hidden;
  height:100%;
  transition:.2s ease;
}

.blog .inside-article:hover,
.archive .inside-article:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 40px rgba(7,11,22,.08);
}

/* Image */
.blog .post-image,
.archive .post-image{
  order:1;
  margin:0;
}

.blog .post-image img,
.archive .post-image img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
}

/* Title */
.blog .entry-header,
.archive .entry-header{
  order:2;
  padding:32px 32px 12px;
}

.blog .entry-title,
.archive .entry-title{
  font-size:34px;
  line-height:1.12;
  letter-spacing:-.03em;
  margin:0;
}

.blog .entry-title a,
.archive .entry-title a{
  color:var(--ink);
}

.blog .entry-title a:hover,
.archive .entry-title a:hover{
  color:var(--accent);
}

/* Date / Author */
.blog .entry-meta,
.archive .entry-meta{
  order:3;
  display:block !important;
  padding:0 32px 18px;
  font-family:"JetBrains Mono",monospace;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}

/* Hide comment link inside entry meta */
.blog .entry-meta .comments-link,
.archive .entry-meta .comments-link,
.blog .comments-link,
.archive .comments-link{
  display:none !important;
}

/* Category */
.blog .cat-links,
.archive .cat-links{
  display:block !important;
  padding:0 32px 22px;
  font-family:"JetBrains Mono",monospace;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}

.blog .cat-links a,
.archive .cat-links a{
  color:var(--muted);
}

/* Hide excerpt / tags */
.blog .entry-summary,
.archive .entry-summary,
.blog .entry-content,
.archive .entry-content,
.blog .tags-links,
.archive .tags-links{
  display:none !important;
}

/* Read More */
.blog .more-link,
.archive .more-link,
.blog .read-more,
.archive .read-more{
  display:inline-flex !important;
  margin:0 32px 32px;
  color:var(--accent) !important;
  font-size:15px;
  font-weight:600;
}

/* Pagination */
.blog .paging-navigation,
.archive .paging-navigation{
  grid-column:1 / -1;
  margin-top:32px;
}

/* FOOTER FINAL */

.site-footer,
.footer-widgets{
  width:100% !important;
  background:#f8f8fa !important;
}

.site-footer{
  border-top:1px solid var(--line);
}

.footer-widgets{
  padding:110px 0 85px !important;
}

.footer-widgets-container,
.footer-widgets .grid-container{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}

.footer-widgets .inside-footer-widgets{
  width:1240px !important;
  max-width:calc(100vw - 64px) !important;
  margin:0 auto !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:1.25fr 1fr 1fr .9fr !important;
  column-gap:96px !important;
  row-gap:40px !important;
  align-items:start !important;
}

.footer-widgets .grid-parent,
.footer-widgets .grid-25,
.footer-widgets .tablet-grid-50,
.footer-widgets .mobile-grid-100,
.footer-widget-1,
.footer-widget-2,
.footer-widget-3,
.footer-widget-4{
  float:none !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  clear:none !important;
  padding:0 !important;
  margin:0 !important;
}

.footer-widgets .widget{
  margin:0 !important;
}

.footer-widgets .widget-title,
.footer-widgets h2,
.footer-widgets h3,
.footer-widgets h4{
  font-family:"JetBrains Mono",monospace;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
  margin:0 0 24px !important;
  font-weight:600;
}

.footer-widgets p,
.footer-widgets li,
.footer-widgets a{
  color:var(--ink-2);
  font-size:14px;
  line-height:1.55;
}

.footer-widget-1 p{
  line-height:1.75;
  max-width:340px !important;
}

.footer-widgets ul{
  list-style:none;
  margin:0 !important;
  padding:0 !important;
}

.footer-widgets ul li{
  margin-bottom:12px !important;
}

.footer-widgets a:hover{
  color:var(--accent);
}

/* Copyright */

.site-info{
  width:100%;
  background:#fff;
  padding:18px 0 !important;
  font-size:0;
  border-top:1px solid var(--line);
}

.site-info *{
  display:none !important;
}

.site-info::after{
  content:"© 2026 UVIXE. All rights reserved.";
  display:block;
  max-width:1240px;
  margin:0 auto;
  padding:0 32px;
  text-align:center;
  color:var(--muted);
  font-family:"JetBrains Mono",monospace;
  font-size:11px;
  letter-spacing:.06em;
  text-transform:uppercase;
}

/* RESPONSIVE */

@media(max-width:1024px){
  .blog .site-main,
  .archive.category .site-main{
    grid-template-columns:repeat(2,1fr);
  }

  .footer-widgets .inside-footer-widgets{
    width:calc(100vw - 44px) !important;
    grid-template-columns:1.2fr 1fr 1fr .8fr !important;
    gap:48px !important;
  }
}

@media(max-width:920px){
  :root{--pad:22px}

  .container,
  .inside-header,
  .main-navigation .inside-navigation{
    padding-left:22px;
    padding-right:22px;
  }

  section{padding:72px 0}

  .single-post .inside-article{padding:28px}

  .single-post .sidebar{position:static}

  .footer-widgets{
    padding:72px 0 48px !important;
  }

  .footer-widgets .inside-footer-widgets{
    grid-template-columns:1fr 1fr !important;
    gap:40px !important;
  }
}

/* MOBILE HEADER / MENU */

@media(max-width:768px){
  :root{--pad:20px}

  body{padding-bottom:76px}

  .site-header{
    position:sticky;
    top:0;
    z-index:999;
    background:#fff !important;
    border-bottom:1px solid var(--line);
  }

  .inside-header{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    min-height:72px !important;
    padding:0 20px !important;
  }

  .site-logo,
  .site-branding{
    margin-right:auto !important;
  }

  .site-logo img,
  .custom-logo,
  .site-branding img{
    max-height:38px !important;
    width:auto !important;
  }

  .main-navigation{
    position:absolute !important;
    top:17px !important;
    right:20px !important;
    width:auto !important;
    margin:0 !important;
    z-index:1002 !important;
    background:transparent !important;
  }

  .main-navigation .inside-navigation{
    min-height:0 !important;
    height:auto !important;
    padding:0 !important;
    margin:0 !important;
    display:block !important;
  }

  .main-navigation .menu-toggle{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    margin:0 !important;
    background:#fff !important;
    color:var(--accent) !important;
    border:1px solid var(--accent) !important;
    border-radius:8px !important;
    padding:11px 20px !important;
    font-size:0 !important;
    line-height:1 !important;
  }

  .main-navigation .menu-toggle::after{
    content:"Menu";
    font-size:15px;
    font-weight:600;
  }

  .main-navigation .menu-toggle .mobile-menu{
    display:none !important;
  }

  .main-navigation:not(.toggled) .main-nav{
    display:none !important;
  }

  .main-navigation.toggled .main-nav{
    display:block !important;
  }

  .main-navigation .main-nav{
    position:fixed !important;
    top:72px !important;
    left:0 !important;
    right:0 !important;
    width:100vw !important;
    background:#fff !important;
    border-bottom:1px solid var(--line);
    box-shadow:0 18px 40px rgba(7,11,22,.08);
  }

  .main-navigation .main-nav > ul{
    display:block !important;
    width:100% !important;
    margin:0 auto !important;
    padding:18px 20px 24px !important;
    background:#fff !important;
  }

  .main-navigation .main-nav > ul > li{
    width:100% !important;
    border-bottom:1px solid var(--line-2);
  }

  .main-navigation .main-nav > ul > li > a{
    display:flex !important;
    justify-content:space-between !important;
    align-items:center !important;
    width:100% !important;
    padding:18px 0 !important;
    font-size:22px !important;
    font-weight:500 !important;
    line-height:1.35 !important;
    color:var(--ink) !important;
  }

  .main-navigation .main-nav > ul > li.menu-quote{
    display:none !important;
  }

  .main-navigation .main-nav ul ul{
    position:static !important;
    display:none !important;
    width:100% !important;
    min-width:100% !important;
    box-shadow:none !important;
    border:none !important;
    border-radius:0 !important;
    padding:0 0 12px !important;
    background:#fff !important;
  }

  .main-navigation .main-nav li:hover > ul,
  .main-navigation .main-nav li:focus-within > ul,
  .main-navigation .main-nav li.sfHover > ul{
    display:block !important;
  }

  .entry-content .wp-block-buttons{
    width:100% !important;
    padding:0 20px !important;
  }

  .entry-content .wp-block-button,
  .entry-content .wp-block-button__link{
    width:100% !important;
  }

  .entry-content .wp-block-button__link{
    min-height:56px !important;
    border-radius:12px !important;
    font-size:18px !important;
  }

  .blog .site-main,
  .archive.category .site-main{
    grid-template-columns:1fr;
  }

  .footer-widgets{
    padding:64px 0 44px !important;
  }

  .footer-widgets .inside-footer-widgets{
    width:calc(100vw - 40px) !important;
    grid-template-columns:1fr !important;
    gap:36px !important;
  }

  .footer-widget-1 p{
    max-width:none !important;
  }

  .footer-widgets p,
  .footer-widgets li,
  .footer-widgets a{
    font-size:16px !important;
    line-height:1.65 !important;
  }

  .site-info::after{
    padding:0 20px;
  }

  h1{font-size:42px !important}
  h2{font-size:32px !important}
  h3{font-size:24px !important}
}

/* MOBILE BOTTOM CTA */

.uvixe-mobile-bottom-cta{
  display:none;
}

@media(max-width:768px){
  .uvixe-mobile-bottom-cta{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:1000;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    padding:10px 14px;
    background:rgba(255,255,255,.92);
    backdrop-filter:saturate(180%) blur(12px);
    border-top:1px solid var(--line);
  }

  .uvixe-mobile-bottom-cta a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    border-radius:10px;
    font-size:15px;
    font-weight:600;
    text-decoration:none;
  }

  .uvixe-mobile-bottom-cta .quote{
    background:var(--ink);
    color:#fff !important;
  }

  .uvixe-mobile-bottom-cta .whatsapp{
    background:#25D366;
    color:#fff !important;
  }
}

/* Hide Header Widget duplicate buttons */
.header-widget{
  display:none !important;
}