/* Gemensam layout för startsidan */
.hero-location{color:var(--rose-dark);font-size:13px;font-weight:700;margin:0 0 20px}
.home-location{min-width:170px}
.home-gallery{padding-top:42px;padding-bottom:28px}
.reviews-section{padding-top:18px}
.hero{grid-template-columns:1fr;min-height:220px;padding-top:54px;padding-bottom:36px}
.hero-copy{max-width:720px}
.hero-brand-title{font-family:'Playfair Display',serif;font-size:clamp(40px,5vw,64px);font-weight:500;line-height:1.08;color:var(--ink)}
.hero .hero-brand-title{margin:0 0 42px!important}
#home-view .featured{padding-top:42px}
.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.customer-welcome .customer-treatments-link{display:block;margin-top:8px;padding:8px 0;text-align:left}

@media(min-width:801px){
  .site-header,footer{padding-left:max(30px,calc((100vw - 1120px)/2 + 30px));padding-right:max(30px,calc((100vw - 1120px)/2 + 30px))}
}

/* Håll startsidans huvudtexter på samma innehållskant. */
@media(min-width:801px){
  #home-view .hero{max-width:1120px}
}

@media(max-width:800px){
  #home-view .hero-copy .hero-actions{display:grid!important;grid-template-columns:1fr!important;justify-items:start;gap:6px}
  .site-header,footer,#home-view .hero,#home-view .section,#home-view .home-strip,#campaign-banner,#home-view .social-section{padding-left:18px!important;padding-right:18px!important}
  #home-view .hero-copy,#home-view .section-heading,#campaign-banner .campaign-heading{margin-left:0!important}
  #campaign-banner .campaign-heading{padding-left:0;padding-right:0}
  #home-view .social-card{text-align:left;padding-left:0!important;padding-right:0!important}
  .home-location{min-width:0}
  .hero{min-height:180px;padding-top:38px;padding-bottom:14px}
  .hero-brand-title{font-size:clamp(36px,9vw,48px)}
  .hero .hero-brand-title{margin-bottom:38px!important}
  .hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
  .hero-actions button[data-route=book],.hero-actions button[data-route=treatments]{box-sizing:border-box;width:230px;max-width:100%;min-width:0;margin:0;padding:12px 14px;text-align:left}
  .hero-actions button[data-route=book]{padding-left:14px}
  .hero-actions button[data-route=treatments]{padding-left:0}
  #home-view .featured{padding-top:24px}
  #featured-treatments{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .featured .treatment-card{min-width:0;min-height:0;padding:8px}
  .featured .treatment-card-image{display:block;width:calc(100% + 16px);height:112px;object-fit:cover;object-position:center;margin:-8px -8px 8px}
  .featured .treatment-card h3{font-size:12px;line-height:1.2;margin:0 0 5px;overflow-wrap:break-word;word-break:normal}
  .featured .treatment-card p{font-size:9px;line-height:1.3;overflow-wrap:break-word;word-break:normal}
  .featured .treatment-card .card-meta{font-size:9px;gap:3px;flex-direction:column;padding-top:7px}
  .featured .treatment-card .treatment-book-button{font-size:9px;padding:7px 5px;margin-top:8px;white-space:normal}
  #campaign-banner{padding-top:14px!important}
  #campaign-banner .campaign-heading{padding:14px 14px}
  #campaign-banner .campaign-heading .eyebrow{font-size:8px;margin-bottom:5px}
  #campaign-banner .campaign-heading h2{font-size:clamp(17px,5vw,20px);line-height:1.15;margin:0;white-space:nowrap}
  #campaign-banner .campaign-heading p:last-child{font-size:10px;line-height:1.35;margin-top:6px}
  #campaign-banner .campaign-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:6px 0}
  #campaign-banner .campaign-card{min-width:0;padding:8px}
  #campaign-banner .campaign-label{font-size:8px;letter-spacing:.3px;padding:4px 5px}
  #campaign-banner .campaign-card h3{font-size:12px;line-height:1.2;margin:8px 0 5px;overflow-wrap:break-word;word-break:normal}
  #campaign-banner .campaign-card p{font-size:9px;line-height:1.3;min-height:0;margin:5px 0}
  #campaign-banner .campaign-price{gap:3px;flex-wrap:wrap;margin:8px 0 4px}
  #campaign-banner .campaign-price s{font-size:9px}
  #campaign-banner .campaign-price strong{font-size:14px}
  #campaign-banner .campaign-card small{font-size:8px;line-height:1.3;margin-bottom:8px}
  #campaign-banner .campaign-card .primary-button{display:block;width:100%;font-size:9px;line-height:1.25;padding:7px 4px;white-space:normal}
}
