/* Palette */
:root{
  --gb-bg:#282828; --gb-bgh:#1d2021; --gb-bg1:#3c3836; --gb-bg2:#504945; --gb-bg3:#665c54; --gb-bg4:#7c6f64;
  --gb-fg4:#a89984; --gb-fg3:#bdae93; --gb-fg2:#d5c4a1; --gb-fg1:#ebdbb2; --gb-fg0:#fbf1c7;
  --gb-red:#cc241d; --gb-green:#98971a; --gb-yellow:#d79921; --gb-yellow2:#fabd2f; --gb-blue:#458588;
  --gb-purple:#b16286; --gb-aqua:#689d6a; --gb-orange:#d65d0e;

  /* Layout tokens (kept from your original so print layout stays identical) */
  --page-margin:1cm;
  --content-margin:1em;
  --content-margin-2:.5em;

  /* Role mapping */
  --accent-color:var(--gb-yellow2);
  --primary-color:var(--gb-fg0);
  --primary-color-light:var(--gb-fg3);
  --divider-color:var(--gb-bg4);
}

html, body{
  background:var(--gb-bgh);
  color:var(--primary-color);
  margin:0;
  font-family: 'IBM Plex Sans', Arial, sans-serif;
  -webkit-print-color-adjust:exact;
          print-color-adjust:exact;
}

/* PAGE CANVAS (A4, fixed) */
page{
  background:var(--gb-bgh);
  color:var(--primary-color);
  display:block;
  margin:0 auto .5cm auto;
  box-shadow:0 0 .5cm rgba(0,0,0,.5);
  overflow:hidden;
}
page[size="A4"]{ width:21cm; height:29.7cm; }

/* HEADER */
.header{
  /* background:linear-gradient(90deg,var(--gb-bg1) 55%,var(--gb-orange) 140%); */
  background:var(--gb-bg1);
  padding:.7rem 0 .5rem 0;
}

.header-fill{
  /* background:var(--accent-color); */
  width:100%;
  height:1cm;

  display:flex;
  align-items:center;
  justify-content:center;
}
.header-icons{
  display:flex;
  align-items:center;
  gap:.5cm; /* spacing between icons */
}
.header-icons i{
  font-size:.8cm;   /* fit inside 1cm bar */
  line-height:1;
  -webkit-print-color-adjust:exact;
          print-color-adjust:exact;
}

.header-icons img{ width:.8cm; height:.8cm; }

.header-icons i:not(.colored){ color:var(--gb-blue); }

/* Accessibility helper (screen-reader only) */
.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

.page-margin{ margin-left:var(--page-margin); margin-right:var(--page-margin); }
.center{ display:flex; flex-direction:column; align-items:center; }
.name{
  font-size:3em; letter-spacing:.15em; color:var(--accent-color); text-align:center;
  /* text-shadow:0 1px 4px #0003; */
}
.subtitle{ font-size:1em; color:var(--primary-color-light); }
.h-line{ width:100%; height:.2em; margin-top:.5em; background:var(--divider-color); }

/* GRID */
.container{ display:flex; flex-direction:column; height:100%; }
.content{
  display:flex; flex-direction:row; flex:1; margin-bottom:var(--page-margin); overflow:hidden;
}
.left-column{ display:flex; flex-direction:column; flex:1; margin-right:var(--content-margin); overflow:hidden; }
.right-column{
  display:flex; flex-direction:column; flex:3; padding-left:var(--content-margin);
  border-left:.1em solid var(--divider-color); overflow:hidden;
}

/* TYPO */
.text{ font-size:.75em; text-align:justify; text-justify:inter-word; color:var(--primary-color); }
b{ font-weight:600; }
a{ color:var(--accent-color); text-decoration:underline; }
a:hover{ color:var(--gb-orange); }
.icon{ font-size:1.5em !important; color:var(--gb-blue); opacity:.9; }
.experience-icon{ font-size:.75em !important; color:var(--accent-color); }

/* SECTION */
.section{ display:flex; flex-direction:column; margin-top:var(--content-margin); break-inside:avoid; page-break-inside:avoid; }
.section-title{
  font-size:1.5em; color:var(--primary-color-light);
  border-bottom:.05em solid var(--divider-color);
}

/* TAGS / HIGHLIGHTS */
.highlight{
  /* background:var(--gb-bg2);  */
  color:var(--gb-yellow2); 
  padding:0 .25em; 
  border-radius:.2em;
}
.exp-tags{ margin-top:.35em; }
.exp-tag{
  display:inline-block; background:var(--gb-bg1); color:var(--primary-color);
  padding:.12em .55em; border-radius:.3em; font-size:.9em; margin:.08em .14em .08em 0; font-weight:500;
}
.exp-tag.red{color:var(--gb-red);} .exp-tag.orange{color:var(--gb-orange);} .exp-tag.yellow{color:var(--gb-yellow2);}
.exp-tag.green{color:var(--gb-green);} .exp-tag.blue{color:var(--gb-blue);} .exp-tag.purple{color:var(--gb-purple);}
.exp-tag.aqua{color:var(--gb-aqua);} .exp-tag.fg{color:var(--primary-color);}

/* EXPERIENCE CARDS */
.experience-elm{
  margin-top:var(--content-margin);
  padding:1.05rem 1.1rem .95rem 1.15rem;
  background:var(--gb-bg);
  border-left:6px solid transparent;
  border-image:linear-gradient(to bottom,var(--gb-orange) 0%,var(--gb-yellow2) 35%,var(--gb-green) 70%,var(--gb-blue) 100%) 1 100%;
  /* border-image:linear-gradient(to bottom, var(--gb-orange)) 1; */
  break-inside:avoid; page-break-inside:avoid;
}
.experience-title{ font-size:1.25em; font-weight:600; color:var(--gb-orange); display:flex; align-items:center; gap:.3em; }
.experience-title a{ color:var(--gb-red); }
.experience-title a:hover{ color:var(--gb-blue); }
.experience-subtitle{ color:var(--gb-blue); margin-top:var(--content-margin-2); font-weight:600; letter-spacing:.02em; }
.experience-description{ color:var(--gb-fg0); margin-top:var(--content-margin-2); line-height:1.55;
     /* text-shadow:0 1px 4px #0002;  */
    }

/* LIST BLOCKS */
.contact-elm{ display:flex; align-items:center; margin-top:var(--content-margin); }
.education-elm{ display:flex; flex-direction:column; margin-top:var(--content-margin); }
.skill-list-elm{ margin-top:var(--content-margin); color:var(--gb-green); }

.material-icons.icon {
    margin-right: 0.5em;
}

/* PRINT: keep exact sizing and colors; hide mobile-only page to avoid duplication */
@page{ size:A4; margin:0; }
@media print{
  html,body{ background:transparent !important; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  body,page{ margin:0 !important; box-shadow:none !important; }
  page[size="A4"]{ width:21cm !important; height:29.7cm !important; }
  .section,.experience-elm,.education-elm{ break-inside:avoid; page-break-inside:avoid; }
}
