/* Shared finish for every page: raised buttons, clear fields, comfortable sizes on phones.
   Loaded after each page's own styles. */
:root{--ui-red-dk:#8E0E16;--ui-edge:#B9C1CB}

.btn,.btn-red,.btn-primary,.btn-dark,.btn-light,.btn-ghost,.btn-danger,.tbtn,.btn-google,.btn-apple,.btn-ghost-lg,.icon-btn{
  border-radius:8px!important;position:relative;
  box-shadow:0 3px 0 rgba(20,23,27,.28);
  transition:transform .08s ease,box-shadow .08s ease,background-color .15s,color .15s}
.btn-red,.btn-primary{box-shadow:0 3px 0 var(--ui-red-dk)}
.btn-dark,.btn-apple{box-shadow:0 3px 0 #000}
.btn-light,.tbtn,.btn-google,.btn-ghost-lg,.icon-btn{box-shadow:0 3px 0 var(--ui-edge)}
.btn:hover,.btn-red:hover,.btn-primary:hover,.btn-dark:hover,.btn-ghost:hover,.tbtn:hover,.btn-google:hover{transform:translateY(-1px)}
.btn:active,.btn-red:active,.btn-primary:active,.btn-dark:active,.btn-light:active,.btn-ghost:active,.btn-danger:active,.tbtn:active,.btn-google:active,.btn-apple:active,.btn-ghost-lg:active,.icon-btn:active{
  transform:translateY(2px);box-shadow:0 1px 0 rgba(20,23,27,.28)}
.btn[disabled],.btn:disabled,.btn-red:disabled,.btn-primary:disabled,.tbtn:disabled{box-shadow:none;transform:none}
/* buttons stay small and in proportion: sized by their text, never stretched across the page */
.btn{padding:9px 16px;font-size:.95rem;line-height:1.2}
.btn.btn-sm,.btn-sm{padding:6px 12px;font-size:.88rem}

input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=hidden]),select,textarea{
  border:1.5px solid var(--ui-edge)!important;border-radius:8px!important;background-color:#fff;
  box-shadow:inset 0 2px 3px rgba(20,23,27,.07);transition:border-color .15s,box-shadow .15s}
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):hover,select:hover,textarea:hover{border-color:#8E97A3!important}
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):focus,select:focus,textarea:focus{
  outline:none!important;border-color:#C8141F!important;box-shadow:0 0 0 3px rgba(200,20,31,.18)}
input:disabled,select:disabled,textarea:disabled{background-color:#EDF0F3;box-shadow:none}
input[type=checkbox],input[type=radio]{accent-color:#C8141F;width:18px;height:18px}

img,video{max-width:100%}

@media (max-width:760px){
  /* 16px stops iPhone from zooming into a field; 44px is a comfortable finger target */
  input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea{font-size:16px!important;min-height:44px}
  .btn,.btn-red,.btn-primary,.btn-dark,.btn-ghost,.btn-danger,.btn-google,.btn-apple{min-height:40px}
  .btn-sm,.tbtn{min-height:34px}
  main table,.table-wrap{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
  .modal-box,.drawer,.modal{max-width:100vw!important}
}
