/* Petro Exir Atlas / Django component adapter / V15.
   The Modam font is declared once in templates/base.html.
   Only page/component adapters belong in this file. */

/* Django template adapter — built on the approved Petro Exir Atlas V12 design. */
[hidden]{display:none!important}
.ico{display:inline-flex;align-items:center;justify-content:center;flex:none;line-height:1;width:20px;height:20px}
.ico svg{width:100%;height:100%;display:block}
.ico.tiny{width:14px;height:14px}
.dock-symbol.ico{width:22px;height:22px}
.mobile-home-mark{display:inline-flex;flex:none}
.mobile-lang{display:inline-flex;align-items:center;justify-content:center;min-width:30px;font-size:11px;color:var(--blue);font-weight:750}
.mobile-title{min-width:0}
.site-header .brand{gap:10px}
.brand-lines{display:flex;flex-direction:column;min-width:0}
.brand-lines b{line-height:1.4;font-size:14px}
.brand-lines small{color:var(--muted);font:600 9px Arial;letter-spacing:.1em}
.desktop-tools .lang-shortcut{display:inline-flex;gap:6px;align-items:center;justify-content:center;padding:0 8px;font-weight:700;font-size:11px;color:var(--blue)}
.desktop-tools .lang-shortcut .ico{width:17px;height:17px}
.header-search[hidden]{display:none!important}
.header-search{position:absolute;inset:100% 0 auto;background:var(--surface);z-index:120;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px max(var(--gutter),18px)}
.header-search-row{max-width:780px;margin:auto;display:flex;gap:8px;align-items:center}
.header-search-field{display:flex;flex:1;gap:10px;align-items:center;border:1px solid var(--line);background:var(--surface-soft);border-radius:9px;padding:0 15px;height:47px}
.header-search-field input{width:100%;height:100%;background:none;border:0;outline:0;min-width:0}
.header-search-submit,.header-search-close{border:0;border-radius:9px;background:var(--surface-soft);color:var(--ink);height:45px;width:45px;display:grid;place-items:center}
.header-search-submit{background:var(--blue);color:white}
.header-search-submit .ico{width:20px;height:20px}
.atlas-messages{padding-top:10px}.atlas-message{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);background:var(--surface-soft);padding:11px 15px;font-size:12px;margin-bottom:7px}
.atlas-message button{border:0;background:none;font-size:18px;color:var(--muted)}
.atlas-message.message-error{border-inline-start:3px solid #d86868}.atlas-message.message-success{border-inline-start:3px solid #328e70}
.atlas-empty{margin-block:16px 30px}.atlas-pagination{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:30px;font-size:13px}
.atlas-pagination>a{border:1px solid var(--line);padding:6px 16px;border-radius:7px}
.atlas-brand-hero{min-height:270px;display:flex!important;align-items:center;background:linear-gradient(120deg,#0b2d43,#154563)!important}
.atlas-brand-hero .hero-content{position:relative;width:100%;padding:40px 5vw;color:white}
.atlas-brand-hero h1{color:white}
.hero-slide img.hero-photo{height:100%;width:100%;object-fit:cover}
.hero-slide picture{position:absolute;inset:0;display:block;width:100%;height:100%}
.hero-slide picture img{width:100%;height:100%;object-fit:cover}
.hero-v8 .hero-slide{position:absolute;inset:0}
.hero-v8 .hero-slides{position:relative;min-height:inherit}
.product-art{overflow:hidden}
.product-art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.product-art .product-no{z-index:2;position:relative;align-self:flex-end;margin-inline-start:auto;text-shadow:0 1px 0 #fff5}
.home-project-image img{width:100%;height:100%;object-fit:cover}
.editorial-thumb{display:grid;place-items:center;min-height:110px;background:var(--surface-soft);color:var(--blue);overflow:hidden}
.editorial-thumb img{width:100%;height:100%;object-fit:cover}
.media-card .editorial-thumb .ico{width:40px;height:40px}
.atlas-partner-strip{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.atlas-partner-logo{min-height:88px;min-width:120px;display:grid;place-items:center;padding:10px;border:1px solid var(--line)}
.atlas-partner-logo img{max-width:126px;max-height:75px;object-fit:contain}
.atlas-partner-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:23px}
.atlas-partner-item{border-top:1px solid var(--line);padding:16px 0;min-width:0}
.atlas-partner-item h2{font-size:15px;line-height:1.7;margin-block:11px 4px}
.atlas-partner-item p{font-size:12px}
.atlas-partner-visual{height:105px;display:flex;align-items:center}
.atlas-partner-visual img{max-height:95px;max-width:100%;object-fit:contain}
.atlas-office-grid,.atlas-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.atlas-office-grid .contact-card{border:1px solid var(--line);padding:20px}
.atlas-faq-list{border-top:1px solid var(--line)}
.atlas-faq{border-bottom:1px solid var(--line);padding:15px 1px}
.atlas-faq summary{cursor:pointer;font-size:14px;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:15px}
.atlas-faq summary::after{content:'+';font-size:20px;color:var(--blue)}
.atlas-faq[open] summary::after{content:'−'}
.atlas-faq .rich-content{padding-top:15px;font-size:12px}
.atlas-page-cover,.atlas-story-cover{width:100%;max-height:410px;object-fit:cover;margin-block:20px}
.rich-content{font-size:13px;line-height:2.05;min-width:0;overflow-wrap:anywhere}
.rich-content p{color:var(--ink);margin:10px 0}
.rich-content h2,.rich-content h3,.rich-content h4{margin:19px 0 10px;color:var(--navy)}
.rich-content h2{font-size:20px}.rich-content h3{font-size:17px}
.rich-content ul,.rich-content ol{padding-inline-start:24px;margin:8px 0 18px}
.rich-content img{max-width:100%;height:auto;border-radius:6px;margin:15px auto}
.rich-content table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}
.rich-content td,.rich-content th{border:1px solid var(--line);padding:9px}
.rich-content a{color:var(--blue);text-decoration:underline}
.atlas-plain-form .field>span{font-size:12px;font-weight:700}
.atlas-form-panel{background:var(--surface);border:1px solid var(--line);padding:22px;border-radius:6px}
.atlas-form-panel .field:has(textarea){grid-column:1/-1}
.atlas-download-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}
.atlas-download{display:inline-flex;align-items:center;gap:9px;min-height:46px;border:1px solid var(--line);background:var(--surface-soft);padding:9px 15px;border-radius:6px;font-size:12px}
.atlas-download:hover{color:var(--blue)}
.atlas-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-block:15px}
.atlas-gallery-grid a{min-width:0;display:block;overflow:hidden;background:var(--surface-soft);min-height:105px}
.atlas-gallery-grid img{height:170px;width:100%;object-fit:cover}
.atlas-gallery-tile{position:relative;display:block}.atlas-gallery-tile span:not(.ico){display:block;font-size:11px;padding:9px}
.atlas-lightbox{position:fixed;inset:0;z-index:9999;background:#030912ef;display:flex;align-items:center;justify-content:center;padding:35px}
.atlas-lightbox img{max-width:min(95vw,1250px);max-height:85vh;object-fit:contain}
.atlas-lightbox button{position:absolute;top:15px;inset-inline-end:20px;color:white;background:none;border:0;font-size:35px}
.atlas-progress-information{min-width:0;flex:1}
.atlas-progress-bar{height:8px;overflow:hidden;background:var(--line);border-radius:30px;margin-bottom:13px}
.atlas-progress-bar i{display:block;height:100%;background:var(--blue);border-radius:30px}
.atlas-report-list{display:grid;gap:8px}
.atlas-report-list article{border-bottom:1px solid var(--line);padding:17px 0;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.atlas-report-list b{font-size:21px;color:var(--blue)}.atlas-report-list span{color:var(--muted);font-size:11px}.atlas-report-list p{font-size:12px;flex:1 1 100%}
.atlas-cert-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.atlas-cert{border:1px solid var(--line);background:var(--surface);min-width:0}
.atlas-cert-image{height:130px;background:var(--surface-soft);display:grid;place-items:center}
.atlas-cert-image img{width:100%;height:100%;object-fit:cover}.atlas-cert-image .ico{width:44px;height:44px}
.atlas-cert-body{padding:16px}.atlas-cert-body h2{font-size:14px}.atlas-cert-body p{font-size:11px;margin:8px 0}
.atlas-csr-card{border:1px solid var(--line)!important;padding-bottom:13px}.atlas-csr-card .media-copy{padding-inline:13px}
.atlas-csr-card .media-art{display:block;height:170px;padding:0}.atlas-csr-card .media-art img{height:100%;width:100%;object-fit:cover}
.atlas-csr-body{padding:14px;font-size:12px}.atlas-csr-card .atlas-gallery-grid{grid-template-columns:repeat(3,1fr);padding:0 12px}.atlas-csr-card .atlas-gallery-grid img{height:70px}
.atlas-search-submit{border:0;background:transparent;display:inline-grid;place-items:center;width:28px;color:var(--blue)}
.atlas-metric{min-height:140px}.atlas-metric .hse-number{min-width:170px}.atlas-metric .rich-content p{font-size:12px}
.atlas-two-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
/* Faithful progressive wizard structure (V12). No React/runtime fixture objects. */
.atlas-wizard{width:min(100%,780px);margin:0 auto;position:relative;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:24px 26px 95px}
.atlas-wizard .ex-form-head{margin-bottom:22px}
.atlas-wizard .ex-progress-line{display:flex;gap:6px;margin:13px 0}
.atlas-wizard .ex-progress-line span{flex:1;height:4px;border-radius:9px;background:var(--line)}
.atlas-wizard .ex-progress-line span.filled{background:var(--blue)}
.atlas-wizard .ex-form-head h3{font-size:17px;color:var(--navy)}
.atlas-wizard .ex-step-row{display:flex;align-items:center;justify-content:space-between;color:var(--muted)}
.atlas-wizard .ex-cancel{font-size:11px;color:var(--muted)}
.atlas-wizard .ex-main-step{min-height:240px}
.atlas-wizard .ex-fields{display:grid;gap:15px}
.atlas-wizard .ex-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.atlas-wizard .ex-field-label{font-size:12px;color:var(--ink);font-weight:680}
.atlas-wizard .ex-field input,.atlas-wizard .ex-field select,.atlas-wizard .ex-field textarea{border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);border-radius:8px;min-height:46px;padding:10px 12px;width:100%;outline:none;font-size:13px}
.atlas-wizard .ex-field textarea{min-height:105px}
.atlas-wizard .ex-field input:focus,.atlas-wizard .ex-field select:focus,.atlas-wizard .ex-field textarea:focus{border-color:var(--blue);box-shadow:none}
.atlas-wizard .ex-choice-grid{display:flex;gap:9px;flex-wrap:wrap}
.atlas-choice-radios .ex-choice{border:1px solid var(--line);border-radius:8px;min-height:45px;display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;background:var(--surface-soft);cursor:pointer}
.atlas-choice-radios .ex-choice:has(input:checked){border-color:var(--blue);color:var(--blue);background:var(--subtle)}
.atlas-wizard .ex-availability{display:flex;gap:9px}
.atlas-wizard .ex-availability label{flex:1;border:1px solid var(--line);border-radius:7px;background:var(--surface-soft);padding:13px;display:flex;justify-content:center;align-items:center;gap:7px;cursor:pointer;font-size:12px}
.atlas-wizard .ex-availability label:has(input:checked){border-color:var(--blue);background:var(--subtle);color:var(--blue)}
.atlas-wizard .ex-upload-area{position:relative}
.atlas-wizard .ex-upload{margin-top:10px;border:1px dashed var(--line);background:var(--surface-soft);min-height:130px;display:grid;place-content:center;justify-items:center;gap:5px;cursor:pointer;border-radius:9px;text-align:center}
.atlas-wizard .ex-upload .ico{width:24px;height:24px;color:var(--blue)}
.atlas-wizard .ex-upload strong{font-size:12px;word-break:break-word}.atlas-wizard .ex-upload small{color:var(--muted);font-size:11px}
.atlas-wizard input[data-upload-file]{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.atlas-wizard .ex-remove-file{position:absolute;top:3px;inset-inline-end:5px;border:0;background:none;color:var(--muted)}
.atlas-wizard .ex-form-actions{position:sticky;bottom:0;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface);border-top:1px solid var(--line);padding:12px 0 0;margin-top:22px}
.atlas-wizard .ex-action-primary,.atlas-wizard .ex-action-previous{min-height:42px;padding:10px 22px;border:1px solid var(--line);border-radius:8px;font-size:12px;font-weight:700}
.atlas-wizard .ex-action-primary{background:var(--blue);color:#fff;border-color:var(--blue);margin-inline-start:auto;display:flex;align-items:center;gap:8px}
.atlas-wizard .ex-action-previous{background:transparent;color:var(--ink)}
.atlas-wizard .ex-review{display:grid;gap:0;border-top:1px solid var(--line)}
.atlas-wizard .ex-review-line{padding:14px 3px;display:flex;align-items:start;justify-content:space-between;gap:22px;border-bottom:1px solid var(--line)}
.atlas-wizard .ex-review-line span{color:var(--muted);font-size:12px}
.atlas-wizard .ex-review-line strong{font-size:12px;font-weight:640;overflow-wrap:anywhere;text-align:end}
.atlas-wizard .ex-error{font-size:12px;color:#c95353;margin:12px 0}
/* Calendar lives in its own wizard stage, never inside a modal. */
.atlas-wizard .ex-calendar{width:min(100%,515px);margin:7px auto 15px;border:1px solid var(--line);border-radius:12px;padding:15px 17px;background:var(--surface)}
.ex-calendar-top{display:flex;align-items:center;gap:8px;justify-content:space-between}
.ex-calendar-top>button{background:none;border:1px solid var(--line);border-radius:7px;padding:9px 12px;min-height:37px;font-weight:680;color:var(--ink)}
.ex-calendar-top .ex-calendar-controls{display:flex;gap:6px;margin-inline-start:auto}
.ex-calendar-controls button{background:var(--surface-soft);border:1px solid var(--line);height:36px;width:36px;border-radius:7px;font-size:20px}
.ex-calendar-controls button:disabled{opacity:.3;cursor:not-allowed}
.ex-days-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-top:14px}
.ex-days-grid button{min-width:0;height:39px;border:0;background:transparent;border-radius:8px;cursor:pointer}
.ex-days-grid button.selected{background:var(--blue);color:white}
.ex-days-grid button:disabled{opacity:.25;cursor:not-allowed}
.ex-days-grid button:hover:not(:disabled):not(.selected){background:var(--surface-soft)}
.ex-weekday{text-align:center;font-size:11px;color:var(--muted);padding-block:9px}
.ex-month-grid,.ex-year-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:10px 0}
.ex-year-grid{grid-template-columns:repeat(4,1fr)}
.ex-month-grid button,.ex-year-grid button{background:var(--surface-soft);border:1px solid var(--line);border-radius:6px;padding:10px 4px;font-size:11px}
.ex-month-grid button.selected,.ex-year-grid button.selected{border-color:var(--blue);color:var(--blue)}
.ex-month-grid button:disabled{opacity:.3}
.ex-date-selected{text-align:center;font-size:12px;color:var(--blue);min-height:22px;margin-top:12px}
.atlas-wizard-error{margin-top:16px}
.atlas-metric-grid .hse-feature{min-width:0}
/* Dark mode keeps real contrast; no gradient glows on fields. */
:root[data-theme=dark] .atlas-wizard,:root[data-theme=dark] .atlas-form-panel,:root[data-theme=dark] .atlas-cert{background:var(--surface)}
:root[data-theme=dark] .atlas-wizard .ex-field input,:root[data-theme=dark] .atlas-wizard .ex-field textarea,:root[data-theme=dark] .atlas-wizard .ex-field select{color:var(--ink);background:var(--surface-soft);border-color:var(--line)}
:root[data-theme=dark] .atlas-wizard .ex-upload,:root[data-theme=dark] .atlas-wizard .ex-choice,:root[data-theme=dark] .atlas-wizard .ex-availability label{color:var(--ink)}
@media(max-width:1050px){.atlas-partner-grid{grid-template-columns:repeat(3,1fr)}.atlas-cert-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:790px){
  .header-inner{position:relative}.mobile-title strong{font-weight:740}
  .site-header .mobile-actions{align-items:center}.mobile-lang{margin-inline:7px}
  .desktop-tools{display:none}.mobile-head{display:flex}
  .home-content .hero{min-height:0}.hero-v8 .hero-slides{min-height:355px}.hero-v8 .hero-slide{min-height:355px}
  .atlas-brand-hero{min-height:210px!important}.atlas-brand-hero .hero-content{padding:23px!important}
  .atlas-partner-grid,.atlas-cert-grid,.atlas-metric-grid,.atlas-office-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .atlas-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.atlas-gallery-grid img{height:125px}
  .atlas-wizard{margin-inline:0;border:0;background:transparent;padding:0 0 calc(76px + env(safe-area-inset-bottom));width:100%}
  .atlas-wizard .ex-main-step{min-height:auto}.atlas-wizard .ex-form-head h3{font-size:15px}
  .atlas-wizard .ex-form-actions{position:fixed;bottom:0;left:0;right:0;margin:0;z-index:130;min-height:calc(66px + env(safe-area-inset-bottom));padding:10px max(16px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);box-shadow:0 -4px 15px #061c3212}
  body:has(.atlas-wizard) .mobile-dock-wrap{display:none!important}
  .atlas-wizard .ex-calendar{padding:13px 10px;margin:3px auto;border:0;background:transparent}
  .atlas-wizard .ex-availability{gap:6px}
  .atlas-wizard .ex-availability label{padding:11px 6px;font-size:11px}
  .atlas-wizard .ex-review-line{gap:10px}
  .atlas-partner-strip{gap:8px}.atlas-partner-logo{min-width:94px;min-height:66px}.atlas-partner-logo img{max-width:95px;max-height:55px}
}
@media(max-width:450px){.atlas-partner-grid,.atlas-cert-grid,.atlas-office-grid,.atlas-metric-grid{grid-template-columns:1fr}.atlas-gallery-grid img{height:115px}.atlas-two-fields{gap:8px}.atlas-wizard .ex-calendar-top>button{font-size:11px;padding:8px}.ex-calendar-controls button{width:30px;height:34px}}

@media(max-width:790px){.form-screen-heading h2{display:none}.atlas-wizard .ex-action-primary{flex:1;justify-content:center}.atlas-wizard .ex-action-previous:not([hidden]){flex:1}}


/* V15 — component-level accessibility and theme integration. */
:root[data-theme="dark"] .atlas-wizard .ex-form-actions,
:root[data-theme="dark"] .atlas-message,
:root[data-theme="dark"] .atlas-search-submit { color: var(--ink); }
:root[data-theme="dark"] .atlas-wizard .ex-action-primary { color: #10283b; }
:root[data-theme="dark"] .atlas-form-panel,
:root[data-theme="dark"] .atlas-cert,
:root[data-theme="dark"] .atlas-office-grid .contact-card {
  background: var(--surface); border-color: var(--line);
}
.atlas-wizard :is(input,textarea,select), .atlas-plain-form :is(input,textarea,select) {
  max-width: 100%; min-width: 0;
}
@media (max-width: 1100px) {
  body:has(.atlas-wizard) .pea-dock-wrap { display: none !important; }
  body:has(.atlas-wizard) #content { padding-bottom: calc(78px + env(safe-area-inset-bottom, 0px)); }
}

/* V16 - Django components use the site-wide palette and accessible contrast. */
:root[data-theme='light'] body.pea-app .atlas-wizard,
:root[data-theme='dark'] body.pea-app .atlas-wizard {
    color: var(--ink);
    border-color: var(--line);
    background: var(--surface);
}
:root[data-theme='dark'] body.pea-app :is(.atlas-wizard .ex-form-actions,.atlas-message) {
    border-color: var(--line);
    color: var(--ink);
    background: var(--surface);
}
:root[data-theme='dark'] body.pea-app .atlas-wizard .ex-action-primary {
    color: #0b2545 !important;
    border-color: #faf3e0;
    background: #faf3e0;
}
