/* Customer app shell, matching the approved September home design. */
.customer-page{--cc-nav-height:72px;--cc-safe-bottom:env(safe-area-inset-bottom,0px)}
.customer-page .cc-header,.customer-page .cc-tabs,.customer-page .cc-header *,.customer-page .cc-tabs *{box-sizing:border-box}
.customer-page .cc-header{position:relative;top:auto;z-index:25;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:8px;width:100%;max-width:1160px;min-height:76px;height:auto;margin:0 auto;padding:calc(9px + env(safe-area-inset-top,0px)) 22px 9px;border:0;background:var(--cream);backdrop-filter:none;color:var(--dark)}
.cc-header svg,.cc-tabs svg,.cc-page-back svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.customer-page .cc-brand{justify-self:center;font:600 16px/1.2 var(--sans);letter-spacing:2.1px;white-space:nowrap;text-decoration:none;color:var(--dark)}
.cc-brand span{color:var(--red)}
.cc-header-left{display:flex;align-items:center;min-width:0}
.customer-page .cc-icon-button{display:flex;align-items:center;justify-content:center;position:static;min-width:44px;width:44px;height:44px;min-height:44px;margin:0;padding:0;border:1px solid var(--line);border-radius:14px;background:white;color:var(--red);text-decoration:none;cursor:pointer;opacity:1;visibility:visible;transform:none}
.customer-page .cc-account-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:48px;min-height:48px;margin:0;padding:0;font-size:9px;line-height:1.2;color:var(--dark);text-decoration:none;white-space:nowrap}
.cc-account-link svg{width:23px;height:23px}.customer-page .cc-account-link[aria-current]{color:var(--red)}
.customer-page .cc-desktop-nav{display:none}
.customer-page .cc-tabs{position:fixed;inset:auto 0 0;z-index:40;display:flex;justify-content:center;gap:0;min-height:calc(var(--cc-nav-height) + var(--cc-safe-bottom));padding:8px 6px calc(10px + var(--cc-safe-bottom));border-top:1px solid var(--border);background:#ffffffed;backdrop-filter:blur(20px)}
.customer-page .cc-tabs a{display:flex;flex:1;max-width:160px;min-width:0;min-height:52px;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:4px 1px;font-size:10px;line-height:1.3;color:#74666a;text-decoration:none;border-radius:10px}
.cc-tabs svg{width:22px;height:22px}.customer-page .cc-tabs a[aria-current]{color:var(--red)}
.customer-page.cc-layout main,.customer-page.cc-layout .wrap{padding-bottom:calc(106px + var(--cc-safe-bottom))}
.cc-layout.page-account :is(.top,#bottomNav,#sideNav),.cc-layout.page-booking .app>header,.cc-layout.page-giftcard .app>header{display:none!important}
.cc-layout.page-account .shell{display:block;min-height:0;max-width:1160px;margin:auto}
.cc-layout.page-account .wrap{max-width:760px;padding-top:22px;margin:auto}
.cc-layout.page-account [data-view="hem"]>.greet{display:none}
.cc-account-heading{margin-bottom:24px}.cc-eyebrow{font-size:9px;letter-spacing:1.4px;color:var(--red);font-weight:500;margin:0 0 10px}
.cc-account-heading h1{font-size:29px;font-weight:500;line-height:1.2;letter-spacing:-.9px;margin:0 0 10px}
.cc-lead{font-size:13px;line-height:1.65;color:var(--muted);margin:0}
.cc-account-sections{display:flex;gap:5px;padding:5px;margin-top:25px;background:#f3eae9;border-radius:15px}
.cc-account-sections a{flex:1;display:flex;align-items:center;justify-content:center;min-height:46px;padding:8px;font-size:13px;text-decoration:none;color:var(--muted);border-radius:11px}
.cc-account-sections a[aria-current]{background:white;color:var(--red);box-shadow:0 3px 8px #68344006}
.cc-layout.page-account :is([data-view="hem"],[data-view="historik"])>.card>h2{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.cc-layout.page-account .bk{padding:22px;border-radius:20px;box-shadow:0 4px 20px #65343005}.cc-layout.page-account .bk .meta{font-size:12px;line-height:1.8}
.cc-layout.page-account .bk [data-check-ref]{display:flex;align-items:center;justify-content:center;gap:8px}
.cc-layout.page-account .empty{background:white;border:1px solid var(--border);border-radius:20px;padding:28px 22px;line-height:1.7;text-align:center}
.cc-profile-shortcuts{display:flex;gap:12px;margin-bottom:22px}.cc-profile-shortcuts a{display:flex;align-items:center;justify-content:center;min-height:48px;flex:1;border:1px solid var(--border);border-radius:13px;background:white;font-size:13px;text-decoration:none}
.cc-page-back{display:inline-flex;align-items:center;gap:5px;min-height:44px;font-size:13px;text-decoration:none;margin-bottom:14px}
.cc-page-back svg{width:16px;height:16px}
.cc-layout.page-account #login{margin:8px auto 0;max-width:460px}
.cc-layout.page-booking .cc-booking-home{display:none}.cc-layout.page-booking[data-booking-step="0"] #back,.cc-layout.page-booking[data-booking-step="5"] #back{display:none}
.cc-layout.page-booking[data-booking-step="0"] .cc-booking-home,.cc-layout.page-booking[data-booking-step="5"] .cc-booking-home{display:flex}
.cc-layout.page-booking main{padding-bottom:calc(214px + var(--cc-safe-bottom))}
.cc-layout.page-booking .progress{top:0}
.cc-layout main :is(button,input,select,textarea){scroll-margin-block:30px calc(180px + var(--cc-safe-bottom))}
.cc-layout.page-booking .cta-bar{bottom:calc(var(--cc-nav-height) + var(--cc-safe-bottom));padding:12px 22px 14px}
.cc-layout.page-booking[data-booking-step="0"] .cta-bar{display:none!important}
.cc-layout.page-booking[data-booking-step="0"] main{padding-bottom:calc(106px + var(--cc-safe-bottom))}
.cc-layout.page-booking .install{bottom:calc(145px + var(--cc-nav-height) + var(--cc-safe-bottom))}
.cc-layout.page-booking.install-open main{padding-bottom:calc(340px + var(--cc-safe-bottom))}
.cc-layout.page-giftcard .app{max-width:740px}.cc-layout.page-giftcard main{padding-top:22px}
.cc-layout.page-wellness>main>.back{display:none}.cc-layout.page-wellness .page-head{background:#f2e8e3;border-radius:25px;padding:28px 25px;margin:0 0 25px}
.cc-layout.page-wellness .page-head h1{font-size:34px;letter-spacing:-1px}.cc-layout.page-wellness .panel{border-radius:20px;background:white}
.cc-layout.page-wellness main{padding-bottom:calc(106px + var(--cc-safe-bottom))!important}
.cc-layout:is(.page-manage,.page-support)>.wrap>.brand{display:none}
.cc-layout:is(.page-pay,.page-invoice)>.top{padding-top:20px}
.cc-layout [hidden]{display:none!important}

/* Home: red gift card, warm wellness tile, photography and real account data. */
.page-home{margin:0;line-height:1.5}.page-home *{box-sizing:border-box}
.page-home :is(h1,h2,h3,p){margin:0}.page-home a{text-decoration:none}
.page-home .icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.page-home .skip{position:fixed;top:-80px;left:20px;background:white;padding:12px;z-index:100}.page-home .skip:focus{top:10px}
.page-home .view-home{max-width:680px;margin:auto;padding:17px 24px calc(106px + var(--cc-safe-bottom))}
.page-home .home-greeting{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px}
.page-home .home-greeting .eyebrow{font-size:9px;letter-spacing:1.4px;margin-bottom:6px;color:var(--red)}
.page-home .home-greeting h1{font-size:27px;line-height:1.2;font-weight:500;letter-spacing:-.9px;margin-bottom:4px}
.page-home .home-greeting .lead{font-size:12px;color:#807678;margin:0}
.hello-icon{width:41px;height:41px;border-radius:50%;background:#f8e9e9;color:var(--red);display:flex;align-items:center;justify-content:center;flex:none}
.season-feature{display:grid;gap:18px}.season-priorities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.page-home .priority-tile{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;min-height:160px;padding:17px;border-radius:21px;border:1px solid #e9deda;color:#662d32;background:#f2e8e3}
.page-home .priority-tile>svg{width:24px;height:24px;margin-bottom:10px}.page-home .priority-tile h2{font-size:20px;line-height:1.2;font-weight:500;letter-spacing:-.6px;margin:0 0 6px}
.page-home .priority-tile p{font-size:12px;line-height:1.45;margin:0 0 13px;color:inherit}
.page-home .priority-tile .tile-action{font-size:11px;display:flex;align-items:center;gap:7px;min-height:24px;margin-top:auto}.tile-action .icon{width:15px;height:15px}
.page-home .priority-gift{background:var(--red);border-color:var(--red);color:white}.priority-gift:after{content:'';position:absolute;right:-45px;top:-45px;width:150px;height:150px;border:1px solid #ffffff40;border-radius:50%;pointer-events:none}
.page-home .home-hero{position:relative;overflow:hidden;height:211px;border-radius:25px;background:#372821}.home-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#241b16e6 0%,#291e1694 56%,#261a1133 100%)}
.hero-content{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:24px 22px;color:white}.hero-kicker{font-size:8px;letter-spacing:1.7px;font-weight:500}
.page-home .hero-content h2{font-size:27px;letter-spacing:-.8px;font-weight:500;line-height:1.24;margin:10px 0 18px}.hero-content h2 span{color:#ffdbd5}
.page-home .hero-button{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:48px;width:100%;max-width:238px;padding:6px 7px 6px 17px;font-size:12px;border-radius:30px;background:var(--red);color:white}
.hero-button>span{display:flex;align-items:center;justify-content:center;width:33px;height:33px;border-radius:50%;background:white;color:var(--red)}.hero-button .icon{width:18px;height:18px}
.season-body{display:grid;gap:18px}.page-home .section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:20px;min-height:46px}
.page-home .section-heading h2{font-size:16px;font-weight:500;letter-spacing:-.4px}.page-home .text-btn{display:inline-flex;align-items:center;gap:3px;min-height:44px;font-size:10px}.section-heading .icon{width:13px;height:13px}
.home-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:5px}.page-home .home-category{display:flex;flex-direction:column;align-items:flex-start;min-width:0;min-height:118px;padding:14px 10px 12px;background:white;color:var(--dark);border-radius:17px;box-shadow:0 4px 24px #6f424209}
.home-category>span{display:flex;align-items:center;justify-content:center;height:32px;width:32px;border-radius:10px;background:#fbf0ef;color:var(--red);margin-bottom:9px}.home-category>span .icon{width:19px;height:19px}
.home-category strong{font-size:13px;line-height:1.35;font-weight:500}.home-category small{display:flex;align-items:center;gap:2px;font-size:11px;color:var(--muted);margin-top:auto;padding-top:7px}.home-category small .icon{width:11px;height:11px}
.home-salon-note{text-align:center;font-size:11px;color:var(--muted);padding:20px 0 0}
.page-home .home-login-card{display:flex;align-items:center;gap:12px;padding:20px 17px;margin-top:5px;border-radius:19px;background:white;color:var(--dark);box-shadow:0 4px 22px #653a3a07}
.home-login-card>div{flex:1;min-width:0}.home-login-card strong{font-size:13px;font-weight:500}.page-home .home-login-card p{font-size:12px;color:var(--muted);line-height:1.6;margin-top:5px}
.soft-icon{display:flex;align-items:center;justify-content:center;width:42px;height:46px;border-radius:12px;background:#fbf0ee;color:var(--red);flex:none}.home-login-card>.icon{width:16px;height:16px;color:var(--red)}
.partners-block{padding:22px;margin-top:23px;border:1px solid #eadfda;border-radius:22px}.page-home .partners-block h2{font-size:19px;margin-bottom:8px;font-weight:500}.page-home .partners-block p{font-size:12px;color:var(--muted);line-height:1.65;margin-bottom:14px}
.provider-badges{display:flex;flex-wrap:wrap;gap:8px}.provider-badges span{padding:8px 11px;border-radius:8px;background:#f1ebe7;color:#614e50;font-size:12px;font-weight:500}.partners-block>a{display:flex;align-items:center;gap:8px;font-size:12px;min-height:44px;margin-top:7px}
.app-note{display:flex;align-items:center;gap:13px;padding:22px 3px}.app-note>svg{color:var(--red);width:26px;height:34px}.app-note strong{font-size:14px;font-weight:500}.page-home .app-note p{font-size:12px;line-height:1.65;color:var(--muted);margin-top:4px}
.page-home .booking-card{padding:22px;margin-top:5px;border:1px solid var(--border);border-radius:22px;background:white;box-shadow:0 3px 22px #68383807}.page-home .booking-card h3{font-size:20px;line-height:1.35;letter-spacing:-.4px;margin:8px 0 15px}
.booking-date{display:flex;align-items:center;gap:14px;margin-bottom:16px;font-size:13px}.booking-date small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.date-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:58px;min-height:65px;border-radius:12px;background:#fbefec;color:var(--red)}.date-tile strong{font-size:24px;line-height:1.2;font-weight:500}.date-tile span{font-size:11px}
.page-home .booking-card .btn{width:100%;display:flex;align-items:center;justify-content:center;text-decoration:none;border:0;cursor:pointer;margin-top:10px;padding:13px;font-family:inherit}.page-home .booking-card .btn.ghost{background:white;border:1px solid var(--border);color:var(--red)}.booking-status{font-size:10px;color:#426b4c;background:#eef6ec;padding:5px 9px;border-radius:7px;display:inline-block}.page-home .booking-card [data-visit-ref]{font-size:12px;color:#426b4c;display:block;margin-top:10px}
.page-home dialog .btn{display:block;width:100%;min-height:48px;padding:12px 18px;font:inherit;cursor:pointer}
.page-home .month-offer{display:grid;grid-template-columns:100px minmax(0,1fr);gap:17px;border:1px solid #ebdfdc;border-radius:22px;background:white;overflow:hidden;color:var(--dark)}.month-offer img{height:100%;width:100%;min-height:160px;object-fit:cover}.month-offer>div{padding:20px 16px 20px 0}.page-home .month-offer h3{font-size:19px;line-height:1.25;margin:8px 0}.page-home .month-offer p{font-size:12px;color:var(--muted);margin-bottom:10px;line-height:1.6}.offer-tag{font-size:10px;color:var(--red);letter-spacing:.6px}.offer-cta{font-size:12px;color:var(--red)}
@media(min-width:900px){
 .customer-page .cc-header{grid-template-columns:auto minmax(0,1fr) 60px;gap:26px;min-height:88px;padding:16px 32px}.cc-header-left{display:none}.cc-layout.page-booking .cc-header{grid-template-columns:44px auto minmax(0,1fr) 60px}.cc-layout.page-booking .cc-header-left{display:flex}
 .customer-page .cc-brand{justify-self:start}.customer-page .cc-desktop-nav{display:flex;justify-content:flex-end;gap:22px;align-items:center}.cc-desktop-nav svg{display:none}.customer-page .cc-desktop-nav a{font-size:13px;min-height:44px;display:flex;align-items:center;white-space:nowrap;text-decoration:none;color:var(--muted)}.customer-page .cc-desktop-nav a[aria-current]{color:var(--red)}.customer-page .cc-tabs{display:none}
 .customer-page{--cc-nav-height:0px}.customer-page.cc-layout main,.customer-page.cc-layout .wrap{padding-bottom:60px}.cc-layout.page-booking main{padding-bottom:140px}.cc-layout.page-account .wrap{max-width:820px;padding-top:35px}.cc-account-heading h1{font-size:36px}.cc-account-sections{max-width:440px}
 .page-home .view-home{max-width:1160px;padding:22px 32px 50px}.page-home .home-greeting{margin-bottom:26px}.page-home .home-greeting h1{font-size:34px}.page-home .home-greeting .lead{font-size:14px}.page-home .home-greeting .eyebrow{font-size:10px}
 .season-feature,.season-body{grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr);gap:28px}.season-priorities{grid-column:2;grid-row:1;grid-template-columns:1fr;grid-template-rows:1fr 1fr;gap:16px}.page-home .home-hero{grid-column:1;grid-row:1;height:353px}
 .page-home .priority-tile{min-height:0;padding:22px 25px;display:grid;grid-template-columns:1fr auto;align-content:center;gap:0 15px}.page-home .priority-tile>svg{grid-column:2;grid-row:1/4;width:47px;height:47px;stroke-width:1.2}.page-home .priority-tile h2{font-size:28px}.page-home .priority-tile p{font-size:13px;margin:5px 0 12px}.page-home .priority-tile .tile-action{font-size:12px}
 .hero-content{padding:32px}.page-home .hero-content h2{font-size:41px;margin-bottom:25px}.hero-kicker{font-size:10px}.page-home .hero-button{font-size:14px;max-width:280px;min-height:52px}.hero-button>span{width:38px;height:38px}.home-categories{gap:15px}.page-home .home-category{min-height:133px;padding:18px}.home-category strong{font-size:15px}.page-home .section-heading h2{font-size:20px}.page-home .text-btn{font-size:12px}
}
@media(max-width:360px){.customer-page .cc-header{padding-inline:16px}.customer-page .cc-brand{font-size:14px}.page-home .view-home{padding-inline:18px}.page-home .home-greeting h1{font-size:25px}.page-home .priority-tile{padding:14px;min-height:157px;border-radius:18px}.page-home .priority-tile h2{font-size:18px}.page-home .priority-tile p{font-size:11px}.season-priorities{gap:9px}.home-category strong{font-size:12px}.page-home .hero-content h2{font-size:24px}.hero-content{padding:22px 18px}.customer-page .cc-tabs a{font-size:9px}.cc-layout.page-account .bk{padding:18px}}
@media(hover:hover){.cc-tabs a:hover,.cc-desktop-nav a:hover{color:var(--red)}.priority-tile:hover{filter:brightness(.98)}.home-category:hover{box-shadow:0 4px 24px #6f424215}.customer-page .hero-button:hover{background:var(--red-dark)}}
@media(prefers-reduced-motion:reduce){.cc-layout *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}


/* ---------------------------------------------------------------------------
   Fel i ett inmatningsfält, i dag bara mejladressen.

   Kunden ska se att adressen maste rattas medan hon staar kvar i formulaaret,
   i stallet for att upptacka det genom att bekraftelsen aldrig kommer. Fjorton
   bokningar hade en felskriven adress innan 25/9 2026.

   Reglerna ligger HAR och inte i index.html, for customer-theme.css laddas efter
   sidans egen style-tagg och skriver over fältens ram.
   --------------------------------------------------------------------------- */
.customer-page :is(.field input, .field select, input[type=email]).fel,
.field input.fel,
.field select.fel {
  border-color: #C41E3A !important;
  background: rgba(196, 30, 58, .045);
}
.customer-page :is(.field input, .field select, input[type=email]).fel:focus,
.field input.fel:focus,
.field select.fel:focus {
  border-color: #C41E3A !important;
  box-shadow: 0 0 0 3px rgba(196, 30, 58, .18);
}
.faltfel {
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.35;
  color: #C41E3A;
  font-weight: 600;
}
.faltfel a { color: inherit; }

/* ---------------------------------------------------------------------------
   Portalväljaren i bokningen (friskvård).

   Pilen ligger HÄR och inte i index.html: customer-theme.css laddas efter sidans
   egen style-tagg och sätter background: white på varje select, vilket nollar en
   background-image som satts tidigare. Samma fälla som .fel-ramen ovan.
   --------------------------------------------------------------------------- */
.customer-page .field select,
.field select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%236F635D' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  padding-right: 40px;
}
