/* ===== Template 3 – Gulf Classic (A4 = 794 x 1123 px, single column, ATS friendly) ===== */
.tpl-gulf {
  --ac: #14284b; --ac-dark: #0b1d3a; --ac-soft: #b08d57; --ac-tint: #f5f1e8;
  --dens: 1; --ink: #1c1f26; --gray: #5b6472; --photo: 92px; --bullet: "•"; --bfs: 1em; --bfsn: 1;
  --ln: var(--ac-soft);
  width: 794px; min-height: 1123px; flex: none;
  padding: 36px 46px 30px;
  background: #fff; color: var(--ink);
  font-family: var(--f-body, Calibri, Carlito, 'Segoe UI', Arial, Helvetica, sans-serif);
  font-size: calc(13px * var(--s-body, 1));
  line-height: calc(1.4 + (var(--dens) - 1) * .4);
  box-shadow: 0 10px 40px rgba(11, 29, 58, .18);
}
.tpl-gulf, .tpl-gulf * { box-sizing: border-box; }
.tpl-gulf.has-foot { padding-bottom: 52px; }

/* Header */
.tpl-gulf .g-head { display: flex; justify-content: space-between; align-items: center; gap: 22px; }
.tpl-gulf .g-id { min-width: 0; flex: 1; }
.tpl-gulf .name {
  margin: 0; font-family: var(--f-head, Georgia, 'Times New Roman', serif); font-weight: 700;
  font-size: calc(30px * var(--s-name, 1)); line-height: 1.15; letter-spacing: .06em;
  text-transform: uppercase; color: var(--ac-dark); text-align: var(--a-name, left); overflow-wrap: anywhere;
}
.tpl-gulf.nc-off .name { text-transform: none; letter-spacing: .01em; }
.tpl-gulf .title-row { margin-top: 7px; text-align: var(--a-title, left); }
.tpl-gulf .title {
  display: inline-block; font-family: var(--f-head, Georgia, 'Times New Roman', serif); font-weight: 600;
  font-size: calc(12.5px * var(--s-title, 1)); line-height: 1.3; letter-spacing: .2em; text-transform: uppercase; color: var(--ac-soft);
}
.tpl-gulf.ts-plain .title { color: var(--ink); }
.tpl-gulf.ts-tag .title { background: var(--ac); color: #fff; padding: .35em .85em; border-radius: 3px; }
.tpl-gulf .g-contact { display: flex; flex-wrap: wrap; margin-top: 11px; color: var(--gray); font-size: calc(12.5px * var(--s-body, 1)); text-align: var(--a-body, left); }
.tpl-gulf .g-contact span + span::before { content: '|'; margin: 0 10px; color: var(--ac-soft); }
.tpl-gulf .photo-wrap { flex: none; width: var(--photo); height: var(--photo); }
.tpl-gulf .photo-wrap img { width: 100%; height: 100%; display: block; object-fit: contain; }

/* Double rule under the header */
.tpl-gulf .g-rule { position: relative; height: 0; margin: 12px 0 14px; border-top: 3px solid var(--ac-dark); }
.tpl-gulf .g-rule::after { content: ''; position: absolute; left: 0; right: 0; top: 4px; border-top: 1px solid var(--ac-soft); }
.tpl-gulf.hr-thick .g-rule { border-top-width: 5px; }
.tpl-gulf.hr-thick .g-rule::after { display: none; }
.tpl-gulf.hr-none .g-rule { border-top: 0; margin: 4px 0 8px; }
.tpl-gulf.hr-none .g-rule::after { display: none; }

/* Sections */
.tpl-gulf .sec { margin-bottom: calc(13px * var(--dens)); }
.tpl-gulf .sec h2 {
  margin: 0 0 calc(9px * var(--dens)); padding-bottom: 4px;
  font-family: var(--f-head, Georgia, 'Times New Roman', serif); font-weight: 700;
  font-size: calc(14px * var(--s-h2, 1)); line-height: 1.25; letter-spacing: .12em;
  text-transform: uppercase; color: var(--ac); text-align: var(--a-h2, left);
}
.tpl-gulf.hc-off .sec h2 { text-transform: none; letter-spacing: .02em; }
.tpl-gulf .summary { margin: 0; text-align: var(--a-body, justify); white-space: pre-line; }

/* Personal details */
.tpl-gulf .pd { display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(7px * var(--dens)) 18px; background: var(--ac-tint); border-left: 3px solid var(--ac-soft); padding: 10px 16px; }
.tpl-gulf .pd-k { display: block; font-size: .78em; letter-spacing: .1em; text-transform: uppercase; color: var(--gray); }
.tpl-gulf .pd-v { display: block; font-weight: 700; color: var(--ac-dark); overflow-wrap: anywhere; }
.tpl-gulf.pd-list .pd { grid-template-columns: repeat(2, 1fr); background: none; border-left: 0; padding: 0; gap: 3px 24px; }
.tpl-gulf.pd-list .pd-i { display: flex; gap: 6px; }
.tpl-gulf.pd-list .pd-k { display: inline; min-width: 112px; font-size: 1em; letter-spacing: 0; text-transform: none; font-weight: 700; color: var(--ac); }
.tpl-gulf.pd-list .pd-v { display: inline; font-weight: 400; color: var(--ink); }

/* Entries */
.tpl-gulf .job, .tpl-gulf .edu { margin-bottom: calc(12px * var(--dens)); }
.tpl-gulf .job:last-child, .tpl-gulf .edu:last-child { margin-bottom: 0; }
.tpl-gulf .row { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; }
.tpl-gulf .it { font-weight: 700; font-size: calc(14px * var(--s-sub, 1)); line-height: 1.3; text-align: var(--a-sub, left); color: var(--ac-dark); }
.tpl-gulf .dt { flex: none; white-space: nowrap; color: var(--gray); font-size: .92em; font-style: italic; }
.tpl-gulf .org { color: var(--ac); font-weight: 600; margin: 1px 0 4px; text-align: var(--a-body, left); }

/* Lists with themed bullets */
.tpl-gulf ul { margin: 4px 0 0; padding-left: 16px; list-style: none; }
.tpl-gulf li { --lh: calc(1.4 + (var(--dens) - 1) * .4); position: relative; margin-bottom: calc(1.5px * var(--dens)); line-height: var(--lh); text-align: var(--a-body, left); overflow-wrap: anywhere; }
.tpl-gulf li::before { content: var(--bullet); position: absolute; left: -13px; top: 0; font-size: var(--bfs); line-height: calc(var(--lh) / var(--bfsn, 1)); color: var(--ac-soft); }
.tpl-gulf ul.grid { margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 22px; }
.tpl-gulf.sc-2 ul.grid { grid-template-columns: repeat(2, 1fr); }
