
:root{
  --green:#185A4D;--dark:#10483E;--mint:#A7D4CC;--soft:#EDF7F4;
  --page-bg:#F7FAF9;--event-title-font:"Cormorant Garamond",Georgia,serif;
  --event-subtitle-font:"Montserrat",Arial,sans-serif;
}
body{background:var(--page-bg)!important}
.back{
  width:42px!important;height:42px!important;padding:0!important;
  display:inline-grid!important;place-items:center!important;border-radius:50%!important;
  border:1px solid color-mix(in srgb,var(--green) 18%,transparent)!important;
  background:rgba(255,255,255,.8)!important;color:var(--green)!important;
  box-shadow:0 6px 18px rgba(24,90,77,.06);
}
.back svg{display:block}
.title,h1{font-family:var(--event-title-font)!important}
.step,.moment,.kicker,.subtitle{font-family:var(--event-subtitle-font)!important}

/* Inlove Service Menu */
.service-menu-button{
  width:42px;height:42px;padding:0;border-radius:50%;
  border:1px solid color-mix(in srgb,var(--green) 18%,transparent);
  background:rgba(255,255,255,.82);color:var(--green);
  display:grid;place-items:center;box-shadow:0 6px 18px rgba(24,90,77,.06);
}
.service-menu-button svg{width:19px;height:19px}
.service-sheet{
  position:fixed;inset:0;z-index:1200;display:none;align-items:flex-end;
  background:rgba(8,34,29,.42);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.service-sheet.show{display:flex}
.service-panel{
  width:100%;padding:18px 16px calc(18px + env(safe-area-inset-bottom));
  border-radius:28px 28px 0 0;background:#fff;box-shadow:0 -18px 50px rgba(24,90,77,.16)
}
.service-grab{width:42px;height:4px;border-radius:999px;background:rgba(24,90,77,.18);margin:0 auto 15px}
.service-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.service-title{color:var(--green);font:600 30px/1 var(--event-title-font)}
.service-copy{margin-top:6px;color:#72827E;font:500 10px/1.55 var(--event-subtitle-font)}
.service-close{
  width:38px;height:38px;border-radius:50%;border:1px solid rgba(24,90,77,.12);
  background:var(--soft);color:var(--green);font-size:18px
}
.service-list{display:grid;gap:10px;margin-top:17px}
.service-item{
  padding:15px;border-radius:18px;border:1px solid rgba(24,90,77,.10);
  background:linear-gradient(145deg,#FBFDFC,#F3F8F7)
}
.service-item b{display:block;color:var(--green);font-size:12px}
.service-item span{display:block;margin-top:5px;color:#72827E;font-size:9px;line-height:1.5}
.service-order{
  width:100%;min-height:54px;margin-top:13px;border:0;border-radius:16px;
  background:var(--green);color:#fff;font-size:11px;font-weight:800
}
@media(min-width:720px){
  .service-sheet{align-items:center;justify-content:center;padding:18px}
  .service-panel{width:min(100%,430px);border-radius:28px}
}

/* Inlove V4.3 - service selection */
.service-choice{
  display:grid!important;
  grid-template-columns:38px 1fr!important;
  gap:11px!important;
  align-items:start!important;
}
.service-number{
  width:38px;height:38px;display:grid;place-items:center;border-radius:12px;
  background:color-mix(in srgb,var(--mint) 28%,white);color:var(--green);
  font-size:9px;font-weight:900;letter-spacing:.7px
}
.service-choice-copy{min-width:0}
.service-consult{
  grid-column:1/-1;width:100%;min-height:48px;margin-top:2px;border:0;border-radius:14px;
  background:var(--green);color:#fff;font-size:10px;font-weight:800;
  box-shadow:0 9px 22px color-mix(in srgb,var(--green) 18%,transparent)
}
.service-consult:active{transform:scale(.99)}
.service-foot{
  margin-top:14px;text-align:center;color:#91A09C;
  font:500 9px var(--event-subtitle-font);letter-spacing:1px
}

/* Inlove V4.5 - mobile service panel alignment fix */
.service-sheet,
.service-panel,
.service-panel *,
.service-choice,
.service-consult{
  box-sizing:border-box!important;
}
.service-sheet{
  padding:0!important;
  overflow:hidden!important;
}
.service-panel{
  width:100%!important;
  max-width:100vw!important;
  margin:0!important;
  overflow:hidden!important;
}
.service-head{
  width:100%!important;
}
.service-head > div:first-child{
  min-width:0!important;
  flex:1 1 auto!important;
}
.service-close{
  flex:0 0 38px!important;
}
.service-list{
  width:100%!important;
  min-width:0!important;
}
.service-choice{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  grid-template-columns:38px minmax(0,1fr)!important;
}
.service-choice-copy{
  width:100%!important;
  min-width:0!important;
  overflow-wrap:anywhere!important;
}
.service-consult{
  display:block!important;
  grid-column:1 / -1!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:4px 0 0!important;
  padding:0 14px!important;
  overflow:hidden!important;
  white-space:normal!important;
}
@media (max-width:380px){
  .service-panel{padding-left:12px!important;padding-right:12px!important}
  .service-choice{padding:13px!important}
  .service-title{font-size:27px!important}
}
@media(min-width:720px){
  .service-sheet{padding:18px!important}
  .service-panel{width:min(100%,430px)!important;max-width:430px!important}
}

/* INLOVE SERVICE UI VERSION: V4.6 */
.service-title::after{
  content:"";
}

/* =========================================================
   INLOVE V4.7 — ONE CONSISTENT HEADER ON EVERY GUEST PAGE
   ========================================================= */
.top,
.topbar{
  position:sticky!important;
  top:0!important;
  z-index:50!important;
  width:100%!important;
  min-height:64px!important;
  padding:10px 16px!important;
  padding-top:calc(10px + env(safe-area-inset-top))!important;
  padding-bottom:10px!important;
  background:rgba(255,255,255,.94)!important;
  border-bottom:1px solid rgba(24,90,77,.10)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
}

.bar,
.topbar-inner,
.inlove-header-inner{
  width:100%!important;
  max-width:560px!important;
  min-height:44px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr) 44px!important;
  gap:0!important;
  align-items:center!important;
}

.back,
.back-button,
.service-menu-button{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  max-width:44px!important;
  max-height:44px!important;
  margin:0!important;
  padding:0!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  line-height:1!important;
}

.back,
.back-button{
  justify-self:start!important;
}

.service-menu-button{
  justify-self:end!important;
}

.bar > :last-child,
.topbar-inner > :last-child,
.inlove-header-inner > :last-child{
  width:44px!important;
  height:44px!important;
  justify-self:end!important;
  display:grid!important;
  place-items:center!important;
}

.brand{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  justify-self:center!important;
  text-align:center!important;
  color:var(--green)!important;
  font-family:Georgia,serif!important;
  font-size:22px!important;
  font-weight:600!important;
  line-height:1!important;
}

/* prevent local page CSS from shifting only one header */
.topbar .back-button{
  border:1px solid color-mix(in srgb,var(--green) 18%,transparent)!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:0 6px 18px rgba(24,90,77,.06)!important;
}

@media(max-width:600px){
  .top,.topbar{
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .bar,.topbar-inner,.inlove-header-inner{
    max-width:none!important;
  }
}

/* INLOVE V4.9 — PRINT FIX */
.print-action,
.gallery-print{
  cursor:pointer;
}
@media print{
  body *{visibility:hidden!important}
  #inlovePrintArea,#inlovePrintArea *{visibility:visible!important}
  #inlovePrintArea{
    position:fixed!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#fff!important;
    margin:0!important;
    padding:0!important;
  }
  #inlovePrintArea img{
    display:block!important;
    max-width:100%!important;
    max-height:100%!important;
    width:auto!important;
    height:auto!important;
    object-fit:contain!important;
  }
  @page{margin:0}
}

/* INLOVE V4.13 — OPERATOR BATCH PRINT */
@media print{
  #inlovePrintArea{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:auto!important;
    display:block!important;
    background:#fff!important;
  }
  #inlovePrintArea .inlove-print-page{
    visibility:visible!important;
    width:100%!important;
    height:100vh!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    page-break-after:always!important;
    break-after:page!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  #inlovePrintArea .inlove-print-page:last-child{
    page-break-after:auto!important;
    break-after:auto!important;
  }
  #inlovePrintArea .inlove-print-page img{
    visibility:visible!important;
    max-width:100%!important;
    max-height:100%!important;
    width:auto!important;
    height:auto!important;
    object-fit:contain!important;
  }
}
