/* ==========================================================================
   Lovely Couple — unified header/footer navigation
   Loaded after page CSS to keep the top navigation consistent everywhere.
   ========================================================================== */

header{
  display:block!important;
  padding:16px 0!important;
}

body:has(.lc-pillar) header,
body.lc-seo-template header,
body.lc-daily-page header,
body:has(.lc-generator-page) header{
  background:
    radial-gradient(circle at 12% 0, rgba(255,79,147,.18), transparent 34%),
    radial-gradient(circle at 88% 0, rgba(156,53,236,.12), transparent 32%),
    linear-gradient(135deg,#fff8fb 0%,#fff 50%,#f7edff 100%)!important;
}

header .lc-header-container{
  width:min(1180px,calc(100% - 32px))!important;
  margin:0 auto!important;
  padding:10px 14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  grid-template-columns:none!important;
  position:relative!important;
  inset:auto!important;
  z-index:60!important;
  background:rgba(255,255,255,.76)!important;
  border:1px solid rgba(255,208,225,.92)!important;
  border-radius:30px!important;
  box-shadow:0 18px 54px rgba(126,0,76,.13)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
}

header .lc-header-logo{
  min-width:0!important;
  flex:0 1 auto!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:0!important;
  background:transparent!important;
  border-radius:0!important;
}

header .lc-header-logoImage{
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  padding:0!important;
  margin:0!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:#db0062!important;
  box-shadow:0 14px 32px rgba(126,0,76,.18)!important;
}

header .lc-header-logoImage a,
header .lc-header-logoImage img{
  width:100%!important;
  height:100%!important;
}

header .lc-header-logoImage img{
  object-fit:contain!important;
  border-radius:0!important;
  box-shadow:none!important;
}

header .lc-header-logoTitle{
  display:block!important;
  min-width:0!important;
}

header .lc-header-logoContainer{
  display:block!important;
  min-width:0!important;
  max-width:260px!important;
  color:#2d1f32!important;
  text-decoration:none!important;
}

header .lc-header-logoContainer :first-child{
  display:block!important;
  color:#2d1f32!important;
  font-size:21px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:-.035em!important;
  white-space:nowrap!important;
}

header .lc-header-logoContainer :nth-child(2){
  display:none!important;
}

header .lc-header-menu{
  width:auto!important;
  margin-left:auto!important;
  overflow:visible!important;
  flex:0 0 auto!important;
}

header .lc-headerMenu-list{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  gap:12px!important;
  padding:0!important;
  margin:0!important;
}

header .lc-headerMenu-item,
header .lc-headerMenu-item:first-child,
header .lc-headerMenu-item:nth-of-type(2){
  display:block!important;
  width:auto!important;
  margin:0!important;
  order:initial!important;
  text-align:left!important;
  font-size:15px!important;
  line-height:1!important;
  font-weight:900!important;
  color:#2d1f32!important;
}

body:has(.lc-pillar) header .lc-headerMenu-item,
body:has(.lc-pillar) header .lc-headerMenu-item:first-child,
body:has(.lc-pillar) header .lc-headerMenu-item:nth-of-type(2),
body.lc-seo-template header .lc-headerMenu-item,
body.lc-seo-template header .lc-headerMenu-item:first-child,
body.lc-seo-template header .lc-headerMenu-item:nth-of-type(2),
body.lc-daily-page header .lc-headerMenu-item,
body.lc-daily-page header .lc-headerMenu-item:first-child,
body.lc-daily-page header .lc-headerMenu-item:nth-of-type(2){
  display:block!important;
  width:auto!important;
  margin:0!important;
  order:initial!important;
}

header .lc-headerMenu-item a,
header .lc-headerMenu-item button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  padding:0 14px!important;
  margin:0!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  color:#2d1f32!important;
  font:inherit!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  transition:background .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease!important;
}

header .lc-headerMenu-emoji{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-right:7px!important;
  font-size:16px!important;
  line-height:1!important;
  transform:translateY(-1px)!important;
}

header .lc-headerMenu-item a:hover,
header .lc-headerMenu-item a:focus-visible,
header .lc-headerMenu-item button:hover,
header .lc-headerMenu-item button:focus-visible{
  background:rgba(242,38,117,.08)!important;
  color:#f22675!important;
  opacity:1!important;
}

header .lc-headerMenu-playButton{
  min-width:158px!important;
  background:#fff!important;
  color:#f22675!important;
  padding:0 24px!important;
  box-shadow:0 14px 34px rgba(91,0,50,.16)!important;
}

header .lc-headerMenu-playButton:hover,
header .lc-headerMenu-playButton:focus-visible{
  color:#f22675!important;
  transform:translateY(-1px)!important;
  box-shadow:0 18px 42px rgba(242,38,117,.2)!important;
}

header .lc-headerMenu-labelShort{
  display:none!important;
}

header .lc-header-language{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex:0 0 auto!important;
  position:relative!important;
  z-index:80!important;
}

header .lc-header-language .language-switcher__button{
  min-height:44px!important;
  padding:7px 11px!important;
  border-radius:999px!important;
}

header .lc-header-language .language-switcher__flag{
  width:25px!important;
  height:18px!important;
}

@media only screen and (max-width:767px){
  header{
    padding:12px 0!important;
  }

  body:has(.lc-pillar) header,
  body.lc-seo-template header,
  body.lc-daily-page header,
  body:has(.lc-generator-page) header{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    z-index:60!important;
    pointer-events:auto!important;
    background:
      radial-gradient(circle at 12% 0, rgba(255,79,147,.18), transparent 34%),
      radial-gradient(circle at 88% 0, rgba(156,53,236,.12), transparent 32%),
      linear-gradient(135deg,#fff8fb 0%,#fff 50%,#f7edff 100%)!important;
  }

  header .lc-header-container{
    width:calc(100% - 24px)!important;
    margin:0 auto!important;
    padding:8px!important;
    border-radius:26px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:
      "brand language"
      "menu menu"!important;
    align-items:center!important;
    gap:8px 10px!important;
  }

  body:has(.lc-pillar) header .lc-header-container,
  body.lc-seo-template header .lc-header-container,
  body.lc-daily-page header .lc-header-container,
  body:has(.lc-generator-page) header .lc-header-container{
    width:calc(100% - 24px)!important;
    margin:0 auto!important;
    padding:8px!important;
    border-radius:26px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:
      "brand language"
      "menu menu"!important;
    align-items:center!important;
    justify-content:normal!important;
    gap:8px 10px!important;
    flex-wrap:initial!important;
  }

  header .lc-header-logo{
    grid-area:brand!important;
    flex:initial!important;
    max-width:100%!important;
    gap:10px!important;
  }

  body:has(.lc-pillar) header .lc-header-logo,
  body.lc-seo-template header .lc-header-logo,
  body.lc-daily-page header .lc-header-logo,
  body:has(.lc-generator-page) header .lc-header-logo{
    grid-area:brand!important;
    flex:initial!important;
    max-width:100%!important;
    min-width:0!important;
    gap:10px!important;
  }

  header .lc-header-logoImage{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    border-radius:14px!important;
  }

  body:has(.lc-pillar) header .lc-header-logoImage,
  body.lc-seo-template header .lc-header-logoImage,
  body.lc-daily-page header .lc-header-logoImage,
  body:has(.lc-generator-page) header .lc-header-logoImage{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    border-radius:14px!important;
  }

  header .lc-header-logoContainer{
    max-width:100%!important;
  }

  body:has(.lc-pillar) header .lc-header-logoContainer,
  body.lc-seo-template header .lc-header-logoContainer,
  body.lc-daily-page header .lc-header-logoContainer,
  body:has(.lc-generator-page) header .lc-header-logoContainer{
    max-width:100%!important;
  }

  header .lc-header-logoContainer :first-child{
    font-size:18px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  body:has(.lc-pillar) header .lc-header-logoContainer :first-child,
  body.lc-seo-template header .lc-header-logoContainer :first-child,
  body.lc-daily-page header .lc-header-logoContainer :first-child,
  body:has(.lc-generator-page) header .lc-header-logoContainer :first-child{
    font-size:18px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  header .lc-header-language{
    grid-area:language!important;
    margin-left:0!important;
  }

  body:has(.lc-pillar) header .lc-header-language,
  body.lc-seo-template header .lc-header-language,
  body.lc-daily-page header .lc-header-language,
  body:has(.lc-generator-page) header .lc-header-language{
    grid-area:language!important;
    margin-left:0!important;
  }

  header .lc-header-language .language-switcher__button{
    min-width:74px!important;
    min-height:42px!important;
    padding:6px 9px!important;
  }

  header .lc-header-language .language-switcher__native,
  header .lc-header-language .language-switcher__current{
    display:none!important;
  }

  header .lc-header-menu{
    grid-area:menu!important;
    order:initial!important;
    width:100%!important;
    margin-left:0!important;
    flex:initial!important;
  }

  body:has(.lc-pillar) header .lc-header-menu,
  body.lc-seo-template header .lc-header-menu,
  body.lc-daily-page header .lc-header-menu{
    grid-area:menu!important;
    order:initial!important;
    width:100%!important;
    margin-left:0!important;
    flex:initial!important;
  }

  header .lc-headerMenu-list{
    display:grid!important;
    grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)!important;
    gap:8px!important;
    width:100%!important;
  }

  body:has(.lc-pillar) header .lc-headerMenu-list,
  body.lc-seo-template header .lc-headerMenu-list,
  body.lc-daily-page header .lc-headerMenu-list{
    display:grid!important;
    grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)!important;
    gap:8px!important;
    width:100%!important;
  }

  header .lc-headerMenu-item a,
  header .lc-headerMenu-item button{
    width:100%!important;
    min-height:42px!important;
    padding:0 12px!important;
    font-size:14px!important;
  }

  header .lc-headerMenu-emoji{
    margin-right:6px!important;
    font-size:15px!important;
  }

  header .lc-headerMenu-labelFull{
    display:inline!important;
  }

  header .lc-headerMenu-labelShort{
    display:none!important;
  }

  header .lc-headerMenu-item--ideas .lc-headerMenu-labelFull{
    display:none!important;
  }

  header .lc-headerMenu-item--ideas .lc-headerMenu-labelShort{
    display:inline!important;
  }

  header .lc-headerMenu-playButton{
    min-width:0!important;
    padding:0 12px!important;
  }

  body:has(.lc-pillar) header .lc-headerMenu-labelFull,
  body.lc-seo-template header .lc-headerMenu-labelFull,
  body.lc-daily-page header .lc-headerMenu-labelFull,
  body:has(.lc-generator-page) header .lc-headerMenu-labelFull{
    display:inline!important;
  }

  body:has(.lc-pillar) header .lc-headerMenu-labelShort,
  body.lc-seo-template header .lc-headerMenu-labelShort,
  body.lc-daily-page header .lc-headerMenu-labelShort,
  body:has(.lc-generator-page) header .lc-headerMenu-labelShort{
    display:none!important;
  }

  body:has(.lc-pillar) header .lc-headerMenu-item--ideas .lc-headerMenu-labelFull,
  body.lc-seo-template header .lc-headerMenu-item--ideas .lc-headerMenu-labelFull,
  body.lc-daily-page header .lc-headerMenu-item--ideas .lc-headerMenu-labelFull,
  body:has(.lc-generator-page) header .lc-headerMenu-item--ideas .lc-headerMenu-labelFull{
    display:none!important;
  }

  body:has(.lc-pillar) header .lc-headerMenu-item--ideas .lc-headerMenu-labelShort,
  body.lc-seo-template header .lc-headerMenu-item--ideas .lc-headerMenu-labelShort,
  body.lc-daily-page header .lc-headerMenu-item--ideas .lc-headerMenu-labelShort,
  body:has(.lc-generator-page) header .lc-headerMenu-item--ideas .lc-headerMenu-labelShort{
    display:inline!important;
  }
}

@media only screen and (max-width:900px){
  body.language-switcher-open #cc--main,
  body.language-switcher-open .cc_div,
  body.language-switcher-open .cm,
  body.language-switcher-open .pm{
    visibility:hidden!important;
    pointer-events:none!important;
  }

  header .language-switcher{
    position:static!important;
  }

  header .language-switcher__backdrop{
    position:fixed!important;
    inset:0!important;
    z-index:2147483000!important;
    background:rgba(35,17,31,.46)!important;
    backdrop-filter:blur(4px)!important;
    -webkit-backdrop-filter:blur(4px)!important;
  }

  header .language-switcher__menu{
    position:fixed!important;
    left:max(12px,env(safe-area-inset-left))!important;
    right:max(12px,env(safe-area-inset-right))!important;
    bottom:max(12px,env(safe-area-inset-bottom))!important;
    top:auto!important;
    z-index:2147483001!important;
    width:auto!important;
    max-height:min(76svh,560px)!important;
    padding:12px!important;
    border-radius:26px!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    background:rgba(255,255,255,.98)!important;
    box-shadow:0 24px 70px rgba(45,8,45,.28)!important;
  }

  header .language-switcher__sheetHeader{
    display:flex!important;
  }

  header .language-switcher__option{
    min-height:52px!important;
    padding:10px 11px!important;
  }
}

@media only screen and (max-width:380px){
  header .lc-header-logoContainer :first-child{
    font-size:17px!important;
  }

  header .lc-headerMenu-item a,
  header .lc-headerMenu-item button{
    font-size:13px!important;
  }
}

/* ==========================================================================
   Footer architecture
   ========================================================================== */

.lc-footer{
  position:relative!important;
  z-index:1!important;
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  color:#667085!important;
  border-top:1px solid #e8eef6!important;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif!important;
}

.lc-footer *,
.lc-footer *::before,
.lc-footer *::after{
  box-sizing:border-box!important;
}

.lc-footer a,
.lc-footer button{
  color:inherit!important;
  font:inherit!important;
  text-decoration:none!important;
}

.lc-footer button{
  display:inline!important;
  appearance:none!important;
  border:0!important;
  background:transparent!important;
  padding:0!important;
  cursor:pointer!important;
}

.lc-footer-shell{
  width:min(1220px,calc(100% - 32px))!important;
  margin:0 auto!important;
  padding:54px 0 34px!important;
}

.lc-footer-top{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:22px!important;
  padding-bottom:34px!important;
  border-bottom:1px solid #e4eaf2!important;
}

.lc-footer-brand{
  display:inline-flex!important;
  align-items:center!important;
  min-width:0!important;
  gap:14px!important;
}

.lc-footer-brand img{
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  border-radius:17px!important;
  object-fit:contain!important;
  background:#cc0059!important;
  box-shadow:0 16px 36px rgba(118,24,73,.14)!important;
}

.lc-footer-brand span{
  display:grid!important;
  gap:5px!important;
  min-width:0!important;
}

.lc-footer-brand strong{
  color:#171827!important;
  font-size:23px!important;
  line-height:1.05!important;
  font-weight:950!important;
  letter-spacing:-.02em!important;
}

.lc-footer-brand em{
  color:#667085!important;
  font-size:14px!important;
  line-height:1.35!important;
  font-style:normal!important;
  font-weight:750!important;
}

.lc-footer-primaryCta{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:0 24px!important;
  border-radius:999px!important;
  color:#fff!important;
  background:linear-gradient(135deg,#f22675,#8a19f4)!important;
  box-shadow:0 18px 38px rgba(184,37,154,.2)!important;
  font-size:15px!important;
  font-weight:950!important;
  white-space:nowrap!important;
  transition:transform .16s ease,box-shadow .16s ease!important;
}

.lc-footer-primaryCta:hover,
.lc-footer-primaryCta:focus-visible{
  transform:translateY(-1px)!important;
  box-shadow:0 22px 48px rgba(184,37,154,.28)!important;
}

.lc-footer-grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:34px!important;
  padding:40px 0!important;
  border-bottom:1px solid #e4eaf2!important;
}

.lc-footer-column{
  display:block!important;
  min-width:0!important;
}

.lc-footer-column h2{
  margin:0 0 20px!important;
  color:#0f172a!important;
  font-size:13px!important;
  line-height:1.25!important;
  font-weight:950!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}

.lc-footer-column ul{
  display:grid!important;
  gap:14px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}

.lc-footer-column li{
  display:block!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
  font-size:15px!important;
  line-height:1.35!important;
}

.lc-footer-column a,
.lc-footer-column button{
  color:#667085!important;
  font-size:15px!important;
  line-height:1.35!important;
  font-weight:750!important;
  text-align:left!important;
  transition:color .16s ease,opacity .16s ease!important;
}

.lc-footer-column a:hover,
.lc-footer-column button:hover,
.lc-footer-column a:focus-visible,
.lc-footer-column button:focus-visible{
  color:#f22675!important;
  opacity:1!important;
  text-decoration:none!important;
  outline:0!important;
}

.lc-footer-languages{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:10px 18px!important;
  padding:26px 0!important;
  border-bottom:1px solid #e4eaf2!important;
  color:#667085!important;
  text-align:center!important;
}

.lc-footer-languages span:first-child{
  color:#667085!important;
  font-size:15px!important;
  font-weight:850!important;
}

.lc-footer-languages a{
  color:#667085!important;
  font-size:15px!important;
  line-height:1.3!important;
  font-weight:750!important;
}

.lc-footer-languages a[aria-current="true"]{
  color:#0f172a!important;
  font-weight:950!important;
}

.lc-footer-languageSep{
  color:#aab4c2!important;
  font-weight:900!important;
}

.lc-footer-bottom{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:34px!important;
  padding-top:28px!important;
}

.lc-footer-bottom p{
  margin:0!important;
  color:#667085!important;
  font-size:14px!important;
  line-height:1.55!important;
  font-weight:750!important;
}

.lc-footer-bottom p:first-child{
  flex:0 0 auto!important;
  white-space:nowrap!important;
}

.lc-footer-bottom p:last-child{
  max-width:620px!important;
  text-align:right!important;
}

@media only screen and (max-width:1100px){
  .lc-footer-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:34px 28px!important;
  }
}

@media only screen and (max-width:767px){
  .lc-footer{
    padding:22px 0!important;
    background:#eaf1f8!important;
  }

  .lc-footer-shell{
    width:min(720px,calc(100% - 32px))!important;
    padding:28px 28px 30px!important;
    background:#fff!important;
    border:1px solid #d9e2ee!important;
    box-shadow:0 18px 44px rgba(21,31,48,.06)!important;
  }

  .lc-footer-top{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:20px!important;
    padding-bottom:28px!important;
  }

  .lc-footer-brand img{
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
  }

  .lc-footer-brand strong{
    font-size:22px!important;
  }

  .lc-footer-primaryCta{
    width:100%!important;
    min-height:50px!important;
  }

  .lc-footer-grid{
    grid-template-columns:1fr!important;
    gap:28px!important;
    padding:32px 0!important;
  }

  .lc-footer-column h2{
    margin-bottom:16px!important;
  }

  .lc-footer-column ul{
    gap:16px!important;
  }

  .lc-footer-column a,
  .lc-footer-column button,
  .lc-footer-column li{
    font-size:18px!important;
    line-height:1.4!important;
  }

  .lc-footer-languages{
    padding:24px 0!important;
    gap:10px 16px!important;
  }

  .lc-footer-languages span:first-child{
    width:100%!important;
  }

  .lc-footer-languages a{
    font-size:17px!important;
  }

  .lc-footer-bottom{
    display:grid!important;
    gap:18px!important;
    text-align:center!important;
  }

  .lc-footer-bottom p:first-child{
    white-space:normal!important;
  }

  .lc-footer-bottom p:last-child{
    max-width:none!important;
    text-align:center!important;
  }
}

@media only screen and (max-width:420px){
  .lc-footer-shell{
    width:calc(100% - 24px)!important;
    padding:24px 20px 28px!important;
  }

  .lc-footer-brand em{
    font-size:13px!important;
  }
}
