:root{
  --dr-petrol:#0b2b30;
  --dr-petrol-2:#071317;
  --dr-green:#2f8f2f;
  --dr-orange:#f28c28;
  --dr-bg:#f3f5f6;
  --dr-card:#ffffff;
  --dr-line:rgba(4,18,21,.12);
  --dr-text:#0d1b1f;
  --dr-muted:#5a6c70;
  --dr-shadow:0 14px 45px rgba(0,0,0,.08);
  --dr-radius:18px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--dr-bg);color:var(--dr-text);font-family: ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial;line-height:1.45}
img{max-width:100%;height:auto}
a{color:inherit}

.container{width:100%;max-width:1100px;margin:0 auto;padding:0 18px}

/* Utilities */
.d-flex{display:flex}.d-grid{display:grid}
.flex-wrap{flex-wrap:wrap}
.gap-2{gap:10px}.gap-3{gap:14px}
.justify-content-between{justify-content:space-between}
.align-items-center{align-items:center}
.align-items-start{align-items:flex-start}
.ms-auto{margin-left:auto}
.mb-0{margin-bottom:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mb-1{margin-bottom:.25rem}.mb-3{margin-bottom:1rem}
.py-3{padding-top:1rem;padding-bottom:1rem}.py-4{padding-top:1.25rem;padding-bottom:1.25rem}

.fw-black{font-weight:950}
.text-secondary{color:var(--dr-muted)}
.small{font-size:.92rem}


/* Extra utilities */
.p-3{padding:1rem}
@media (min-width:768px){.p-md-4{padding:1.5rem}}
.rounded-pill{border-radius:999px}
.text-white{color:#fff}
.text-white-50{color:rgba(255,255,255,.75)}
.align-items-stretch{align-items:stretch}
/* Grid (subset) */
.row{display:flex;flex-wrap:wrap;gap:14px}
.g-2{gap:10px}.g-3{gap:14px}
.col-12{flex:0 0 100%}
.col-6{flex:0 0 calc(50% - 7px)}

@media (min-width: 768px){
  .col-md-1{flex:0 0 calc(8.333% - 7px)}
  .col-md-2{flex:0 0 calc(16.666% - 7px)}
  .col-md-3{flex:0 0 calc(25% - 7px)}
  .col-md-4{flex:0 0 calc(33.333% - 7px)}
  .col-md-5{flex:0 0 calc(41.666% - 7px)}
  .col-md-6{flex:0 0 calc(50% - 7px)}
  .col-md-8{flex:0 0 calc(66.666% - 7px)}
  .col-md-12{flex:0 0 100%}
}
@media (min-width: 992px){
  .col-lg-4{flex:0 0 calc(33.333% - 7px)}
  .col-lg-5{flex:0 0 calc(41.666% - 7px)}
  .col-lg-6{flex:0 0 calc(50% - 7px)}
  .col-lg-7{flex:0 0 calc(58.333% - 7px)}
  .col-lg-8{flex:0 0 calc(66.666% - 7px)}
}

/* Navbar */
.sticky-top{position:sticky;top:0;z-index:50}
.navbar{background:rgba(11,43,48,.96);border-bottom:1px solid rgba(255,255,255,.10)}
.navbar .container{display:flex;align-items:center;gap:12px}
.navbar-brand{font-weight:950;text-decoration:none}
.navbar a:link,.navbar a:visited{color:#fff;text-decoration:none}
.navbar a:hover{opacity:.92}
.navbar-toggler{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#fff;border-radius:12px;padding:10px 12px;cursor:pointer}
.navbar-toggler-icon{display:block;width:22px;height:14px;border-top:2px solid #fff;border-bottom:2px solid #fff;position:relative}
.navbar-toggler-icon::after{content:"";position:absolute;left:0;right:0;top:50%;border-top:2px solid #fff;transform:translateY(-50%)}

.collapse{display:none}
.collapse.show{display:block}
.navbar-nav{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.nav-link{padding:10px 10px;border-radius:12px}
.nav-link:hover{background:rgba(255,255,255,.08)}

@media (min-width: 992px){
  .navbar-toggler{display:none}
  .navbar-nav{margin-left:auto}
  .collapse{display:block !important}
}

/* Card */
.card{background:var(--dr-card);border:1px solid var(--dr-line);border-radius:var(--dr-radius);box-shadow:var(--dr-shadow)}
.card-body{padding:18px}
@media (min-width: 768px){.card-body{padding:22px}}

  /* Buttons */
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:12px 16px;font-weight:900;cursor:pointer;border:1px solid transparent;text-decoration:none;user-select:none}
  .btn:disabled{opacity:.6;cursor:not-allowed}
  .btn-sm{padding:10px 12px;font-size:.92rem}
  .btn-outline-dark{background:transparent;border-color:rgba(4,18,21,.20);color:var(--dr-text)}
  .btn-outline-dark:hover{background:rgba(4,18,21,.04)}
  .btn-outline-danger{background:transparent;border-color:rgba(180,30,30,.35);color:#8d1010}
  .btn-outline-danger:hover{background:rgba(180,30,30,.08)}
  .btn-outline-light{background:transparent;border-color:rgba(255,255,255,.22);color:#fff}
  .btn-outline-light:hover{background:rgba(255,255,255,.10)}
  .btn-dr{background:linear-gradient(180deg,#37a937,#2f8f2f);color:#fff;box-shadow:0 18px 45px rgba(47,143,47,.25)}
  .btn-dr:hover{filter:brightness(1.03)}
.btn-close{background:transparent;border:0;color:inherit;width:42px;height:42px;border-radius:12px;cursor:pointer}
.btn-close::before{content:"×";font-size:26px;line-height:42px;display:block;text-align:center}

.badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;font-weight:850;font-size:.86rem;border:1px solid rgba(47,143,47,.20);background:rgba(47,143,47,.12);color:#0d3a14}

/* Progress */
.progress{height:10px;background:rgba(4,18,21,.10);border-radius:999px;overflow:hidden}
.progress-bar{height:100%;background:linear-gradient(90deg,#2f8f2f,#f28c28)}

/* Accordion */
.accordion{display:grid;gap:10px}
.accordion-item{border:1px solid var(--dr-line);border-radius:16px;overflow:hidden;background:#fff}
.accordion-button{width:100%;text-align:left;border:0;background:#fff;padding:14px 14px;font-weight:950;cursor:pointer;display:flex;justify-content:space-between;align-items:center}
.accordion-button::after{content:"▾";opacity:.55;font-weight:900}
.accordion-button[aria-expanded="true"]::after{content:"▴"}
.accordion-body{padding:14px 14px 18px}

/* Forms */
.form-label{display:block;font-weight:850;margin-bottom:6px}
.form-text{color:var(--dr-muted);font-size:.9rem;margin-top:6px}
.form-control,.form-select,textarea{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(4,18,21,.18);
  background:#fff;
  font:inherit;
  outline:none;
}
.form-control:focus,.form-select:focus,textarea:focus{border-color:rgba(47,143,47,.55);box-shadow:0 0 0 4px rgba(47,143,47,.12)}
textarea{min-height:110px;resize:vertical}

.form-check{display:flex;gap:10px;align-items:center}
.form-check-input{width:18px;height:18px}

.req::after{content:" *";color:#b11}

/* Tables */
.table-responsive{width:100%;overflow:auto}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:10px 10px;border-bottom:1px solid rgba(4,18,21,.10);vertical-align:middle}
.table thead th{font-size:.92rem;text-transform:uppercase;letter-spacing:.04em;color:#436064}

/* Alerts */
.alert{padding:12px 14px;border-radius:16px;border:1px solid rgba(4,18,21,.12);background:rgba(4,18,21,.04)}
.alert-warning{border-color:rgba(242,140,40,.25);background:rgba(242,140,40,.10)}
.alert-danger{border-color:rgba(180,30,30,.25);background:rgba(180,30,30,.10)}
.alert-success{border-color:rgba(47,143,47,.25);background:rgba(47,143,47,.10)}
.alert-info{border-color:rgba(11,43,48,.20);background:rgba(11,43,48,.06)}

/* Modal */
.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:100}
.modal.show{display:flex}
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.68);z-index:90}
.modal-dialog{width:min(1040px,92vw);max-height:88vh;overflow:auto}
.modal-content{background:#fff;border-radius:18px;overflow:hidden;border:1px solid rgba(4,18,21,.14);box-shadow:0 30px 110px rgba(0,0,0,.35)}
.modal-header{background:var(--dr-petrol);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:12px 14px}
.modal-title{margin:0;font-weight:950}
.modal-body{padding:14px}
.modal-footer{padding:12px 14px;border-top:1px solid rgba(4,18,21,.10);display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}

/* Specific to measures */
.shirt-figure{background:#fff;border:1px solid rgba(4,18,21,.12);border-radius:16px;overflow:hidden}
.size-row[data-active="true"]{outline:2px solid var(--dr-orange);background:rgba(242,140,40,.10)}

/* Headings */
.h3{font-size:1.6rem;line-height:1.1}
.h5{font-size:1.1rem}
