/* Viking public website repair tracker: 2026-10-21 */
.repair-tracking{background:radial-gradient(ellipse at 6% 85%,#76292b27,transparent 48%),#141516;color:#f6f1ee;border-top:1px solid #303132;border-bottom:1px solid #353034}
.repair-track-shell{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.2fr);gap:clamp(28px,5vw,86px);align-items:center}
.repair-track-heading{min-width:0}
.repair-track-heading h2{font:900 clamp(57px,6vw,90px)/.86 var(--display);letter-spacing:-.035em;margin:34px 0 23px}
.repair-track-heading h2 em{color:#de5253;font-style:normal}
.repair-track-heading>p{font-size:14px;line-height:1.9;color:#b6b4b4;max-width:465px}
.repair-track-heading>p strong{color:#fff4f2}
.repair-track-privacy{display:inline-flex;align-items:center;gap:7px;padding:12px 14px;margin-top:24px;border:1px solid #5c3b3d;color:#f3aba0;background:#49252a2b;font:800 10px var(--body);letter-spacing:.13em}
.repair-track-privacy span{font-size:19px;line-height:1}
.repair-track-panel{background:linear-gradient(140deg,#2b2023,#1e1c21 60%,#17191d);border:1px solid #6b4145;box-shadow:0 30px 60px #0007,inset 0 1px #f5b1ac1c;border-radius:20px;overflow:hidden;min-width:0}
.repair-track-panelhead{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:21px 27px;border-bottom:1px solid #624246;color:#eeb9ab;font:800 10px var(--body);letter-spacing:.14em}
.repair-track-live{font-size:9px;color:#b8dcbf}.repair-track-live i{display:inline-block;width:7px;height:7px;background:#89dba0;border-radius:100%;margin-right:7px;box-shadow:0 0 11px #80dda0}
#repair-ticket-form{padding:35px 29px 39px}
#repair-ticket-form>label{font:800 11px var(--body);letter-spacing:.12em;color:#d6b4b0}
.repair-track-inputrow{display:flex;gap:9px;margin-top:11px}
.repair-track-inputrow input{background:#111316;border:1px solid #6f4a4d;border-radius:9px;padding:16px 14px;color:#fff;font:750 clamp(12px,1.3vw,15px) var(--body);letter-spacing:.07em;min-width:0;flex:1}
.repair-track-inputrow input:focus{border-color:#ff9c87;outline:none;box-shadow:0 0 0 2px #ce69664d}
.repair-track-inputrow button{background:#cf2f39;border:1px solid #d54952;border-radius:9px;color:#fff;font:800 11px var(--body);letter-spacing:.03em;padding:0 18px;min-height:54px;white-space:nowrap}
.repair-track-inputrow button:disabled{cursor:wait;opacity:.7}
.repair-track-inputrow button span{margin-left:8px}
#repair-ticket-hint{font:500 11px/1.7 var(--body);color:#a79395;margin:11px 0 0}
#repair-ticket-error{font:600 12px/1.65 var(--body);color:#ffb3a6;margin-top:10px;min-height:0}
#repair-ticket-error:empty{display:none}
#repair-ticket-result{padding:22px clamp(21px,3vw,34px) 26px}
#repair-ticket-result[hidden],#repair-ticket-form[hidden]{display:none!important}
.repair-customer-head{display:flex;justify-content:space-between;gap:13px;align-items:flex-start;border-bottom:1px solid #5a4145;padding-bottom:20px}
.repair-customer-head small,.repair-track-stage small{display:block;color:#e39a91;font:800 10px var(--body);letter-spacing:.17em}
.repair-customer-head h3{font:850 clamp(24px,3vw,34px)/1.15 var(--body);letter-spacing:-.03em;color:#ffefed;margin:8px 0 5px;overflow-wrap:anywhere}
.repair-customer-head p{font-size:12px;color:#b2a0a3;margin:0}
.repair-track-crest{font:50px Georgia,serif;color:#b66661;line-height:1;flex:none}
.repair-track-stage{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:27px 0 16px}
.repair-track-stage h4{font:500 clamp(22px,2.4vw,34px) Georgia,serif;color:#ffe7df;margin:6px 0 0}
.repair-track-stage strong{color:#ff9f8a;font-size:clamp(40px,5.2vw,62px);letter-spacing:-.07em;line-height:1}
.repair-progress-track{height:32px;border-radius:100px;border:2px solid #855259;background:#34262c;box-shadow:inset 0 3px 8px #0007;position:relative;overflow:hidden}
.repair-progress-fill{height:100%;width:0;border-radius:100px;background:linear-gradient(90deg,#8f2931,#ce4148,#f16e60 75%,#ffaa87);box-shadow:0 0 15px #da484d70;transition:width 1.25s cubic-bezier(.2,.8,.3,1);position:relative;isolation:isolate}
.repair-progress-fill::after{content:"";position:absolute;top:0;bottom:0;left:-120%;width:55%;background:linear-gradient(110deg,transparent,#fff7d755,transparent);transform:skewX(-19deg);animation:repair-sheen 5.5s ease-in-out infinite}
@keyframes repair-sheen{0%,15%{left:-120%}65%,100%{left:170%}}
.repair-progress-fine{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:10px;letter-spacing:.03em;color:#b49fa1;margin:13px 0 21px}
.repair-progress-fine span:last-child{color:#deaba3}
.repair-milestones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding-top:18px;border-top:1px solid #534045}
.repair-milestone{display:flex;align-items:center;gap:8px;min-width:0;color:#a39094;font:600 10px/1.4 var(--body)}
.repair-milestone i{width:26px;height:26px;flex:0 0 26px;background:#3b2b31;border:1px solid #6c4b50;border-radius:100%;display:grid;place-items:center;font:700 12px var(--body);font-style:normal}
.repair-milestone.complete{color:#f6dfd9}.repair-milestone.complete i{background:#8a3239;color:#fff;border-color:#cf7870}
.repair-track-end{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:11px;padding-top:22px;margin-top:18px;border-top:1px solid #544044;color:#eaa399;font:800 9px var(--body);letter-spacing:.13em}
.repair-track-end button{padding:11px 13px;background:#33282b;color:#eed4d0;border:1px solid #805158;border-radius:7px;font:800 10px var(--body);letter-spacing:.02em}
.repair-track-end button:hover{background:#573238}
@media(max-width:1050px){.repair-track-shell{grid-template-columns:1fr}.repair-track-heading{max-width:660px}.repair-track-panel{max-width:720px;width:100%}.repair-track-heading h2{font-size:clamp(56px,9vw,85px)}}
@media(max-width:610px){.repair-tracking{padding:75px 0}.repair-track-shell{width:min(100% - 32px,560px)}.repair-track-inputrow{flex-direction:column}.repair-track-inputrow input{width:100%;min-height:55px}.repair-track-inputrow button{width:100%;min-height:53px}.repair-milestones{grid-template-columns:1fr 1fr}.repair-track-panelhead{padding:17px}.repair-track-panelhead span{font-size:9px}.repair-track-heading h2{margin:23px 0;font-size:clamp(52px,12vw,70px)}#repair-ticket-form{padding:28px 19px 31px}.repair-track-stage{align-items:flex-start}.repair-track-stage strong{font-size:42px}}
@media(max-width:370px){.repair-milestones{grid-template-columns:1fr}.repair-track-stage h4{font-size:20px}}
@media(prefers-reduced-motion:reduce){.repair-progress-fill{transition:none}.repair-progress-fill::after{animation:none}}

/* Five-character access, verified with phone last four. */
.repair-track-inputrow #repair-ticket-input{flex:.75 1 0;min-width:98px;max-width:175px;text-align:center;font-size:20px;font-weight:850;letter-spacing:.16em;text-transform:uppercase}
.repair-track-inputrow #repair-phone-last4{flex:.9 1 0;min-width:98px;max-width:175px;font-size:13px;font-weight:650;letter-spacing:.015em}
.repair-track-inputrow #repair-ticket-submit{flex:0 0 auto;padding:0 13px}
@media(max-width:1290px) and (min-width:1051px){.repair-track-inputrow{flex-wrap:wrap}.repair-track-inputrow #repair-ticket-input,.repair-track-inputrow #repair-phone-last4{flex:1 1 35%;max-width:none}.repair-track-inputrow #repair-ticket-submit{flex:1 1 100%;min-height:49px}}
@media(max-width:610px){.repair-track-inputrow #repair-ticket-input,.repair-track-inputrow #repair-phone-last4{max-width:none;width:100%;min-height:55px;flex:auto}}

/* Navigation: Track your progress sits immediately beside Find us. */
.site-header .nav-grid nav{gap:clamp(12px,2vw,27px)}
.site-header .nav-grid nav a{white-space:nowrap}
.site-header .nav-grid nav a:last-child{color:#f0b5aa;font-weight:800}
.site-header .nav-grid nav a:last-child:hover{color:#fff}
@media(max-width:720px){
  .site-header .nav-grid nav{display:flex;position:absolute;top:100%;left:0;right:0;z-index:6;width:100%;margin:0;background:#201c1f;border-top:1px solid #5a373b;border-bottom:1px solid #5a373b;justify-content:center;gap:18px;padding:12px 13px;box-shadow:0 4px 15px #0005}
  .site-header .nav-grid nav a{font-size:11px;font-weight:750}
  .site-header .nav-grid nav a:nth-child(-n+2){display:none}
  .site-header .nav-grid nav a:last-child{color:#f4aaa3}
}

/* Mobile navigation repair (2026-10-21): navigation belongs inside the
   header's layout flow. Formerly it was absolutely positioned outside the
   74px header and the hero intercepted every touch/click. */
@media (max-width:720px){
  .site-header{height:auto;min-height:0;position:relative;z-index:30;overflow:visible}
  .site-header .nav-grid{
    height:auto;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-rows:74px 52px;
    gap:0 8px;
    align-items:center;
  }
  .site-header .nav-grid .brand{
    grid-column:1;grid-row:1;min-width:0;
    font-size:clamp(15px,4.2vw,20px);
    gap:8px;
  }
  .site-header .nav-grid .brand img{width:34px;height:34px;flex:none}
  .site-header .nav-grid .brand small{font-size:8px;letter-spacing:.13em}
  .site-header .nav-grid > .primary-button{
    grid-column:2;grid-row:1;justify-self:end;
    font-size:0;gap:0;min-width:0;min-height:42px;
    padding:0 13px;white-space:nowrap;
  }
  .site-header .nav-grid > .primary-button::after{
    content:"CALL ↗";font-size:12px;letter-spacing:.04em;
  }
  .site-header .nav-grid nav{
    position:static;top:auto;right:auto;left:auto;bottom:auto;
    grid-column:1/-1;grid-row:2;
    display:grid;grid-template-columns:1fr 1.3fr;
    gap:0;
    width:calc(100% + 36px);height:52px;
    margin:0 -18px;padding:0;
    border-left:0;border-right:0;
    z-index:auto;
  }
  .site-header .nav-grid nav a{
    display:flex;align-items:center;justify-content:center;
    text-align:center;min-height:52px;
    font-size:clamp(11px,3vw,13px);font-weight:800;
    padding:0 8px;
    cursor:pointer;pointer-events:auto;
    -webkit-tap-highlight-color:#ef767855;
    touch-action:manipulation;
    position:relative;
  }
  .site-header .nav-grid nav a[href="#location"]{
    border-right:1px solid #6e484b;
  }
  .site-header .nav-grid nav a[href="#tracking"]{
    background:linear-gradient(120deg,#632b31,#872a33);
    color:#fff;
  }
  .site-header .nav-grid nav a[href="#tracking"]:active{
    background:#b83b42;
  }
  .site-header .nav-grid nav a:nth-child(-n+2){display:none}
}

.viking-offline-cta.booking-preview-link {cursor:pointer!important;text-decoration:none!important;background:#4c3036;border-color:#98585e;color:#ffe6dd;transition:background .18s ease,transform .18s ease;position:relative;z-index:2;touch-action:manipulation}
.viking-offline-cta.booking-preview-link:hover {background:#8b3b44;transform:translateY(-2px)}

