:root {
  --ink: #333130;
  --paper: #FFFEFC;
  --shadow: #F8F7F6;

  --palegray: #EEECE9;
  --lightgray: #BFBCB9;
  --gray: #999794;
  --darkgray: #73716F;

  --llred: #E03140;
  --llsoftred: #FCE6E9;
  --llpink: #FFE5E5;
  --llpaleblue: #E9F4F5;
  --llsoftblue: #D3ECEE;
  --llblue: #B6DFE2;
  --lldarkblue: #002F33;

  --text-h1: 1.5rem; /* 24px */
  --text-h2: 1.375rem; /* 22px */
  --text-h3: 1.25rem; /* 20px */
  --text-h4: 1.125rem; /* 18px */
  --text-small: 0.875rem; /* 14px */
  --text-tiny: 0.75rem; /* 12px */
  --text-micro: 0.625rem; /* 10px */
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  line-height: 1.6;
  font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
  overflow-x: hidden !important;
}

/* layout */

.container {
  max-width: 720px;
  margin: 0 auto;
}

.container-block {
  padding: 30px;
}

/* typography */

body {
  font-size: 16px;
}

h1 {
  font-size: 1.5rem ; /* 24px */
}

h2 {
  font-size: 1.375rem; /* 22px*/
}

h3 {
  font-size: 1.25rem; /* 20px */
}

h4 {
  font-size: 1.125rem; /* 18px */
}

h5 {
  font-size: 1rem; /* 16px */
}

h1,
h2,
h3,
h4,
h5 {
  margin: 0;
  display: block;
  font-weight: 500;
}

h1,
h2 {
  word-spacing: -1px;
}

.entry-content p {
  margin: 0 0 20px;
  font-size: 0.95rem;
  display: inline-block;
  width: 100%;
}

blockquote {
  background-color: #fafafa;
  border: 1px solid var(--lightgray);
  width: 100%;
  padding: 20px;
  margin: 0 0 20px;
  border-radius: 10px;
}

blockquote > p {
  margin: 0 !important;
}

figcaption {
  font-size: 0.75rem;
  text-align: center;
  color: #bbb;
}

a {
  text-decoration: none;
  color:var(--ink);
  -webkit-tap-highlight-color: transparent;
}

a:hover {
  color:var(--llred);
}

strong {
  font-weight: 600;
}

button {
  font: inherit;
  color: inherit;
  background: none;
  border: none;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

/* iOS 기본 버튼/인풋 그라데이션, 둥근 모서리 제거 */
button,
input[type="button"],
input[type="submit"] {
  background-image: none;
  border-radius: 0;
}

/* 터치 시 버튼 회색 하이라이트 제거 (Android) */
button:focus,
input:focus,
textarea:focus,
select:focus {
  outline: none;
}

/* 폼 요소 공통 리셋 */
input,
textarea,
select {
  width: 100%;
  font-size: 16px;
  /* iOS 확대 방지 */
  border-radius: 0;
  /* iOS 둥근 모서리 제거 */
}

/* basic block */

.entry-content p > a {
  color:var(--ink);
  text-decoration: none;
  padding-bottom:1px;
  border-bottom:2px solid var(--llred);
  font-weight: 500;
}

.entry-content p > a:hover {
  color:var(--llred);
}

.entry-content figure img, .entry-content figure iframe, .entry-content figure video {
  border-radius: 6px;
}


.entry-content strong {
  font-weight: 400;
  background-color:var(--llpink);
  border-radius: 2px;
  padding: 0 2px;
}


.wp-block-separator {
  border-top:1px solid var(--palegray);
  height: 1px;
  margin:14px 0 30px;
}

.wp-block-list {
  padding-left:20px;
  margin: 0 0 20px;
}

.wp-block-list li {
  margin: 0 0 6px;
  display: block;
  font-size: 0.95rem;
  display: list-item;
}

.wp-block-list li > ol {
  margin-top: 10px;
}

.wp-block-heading {
  margin-bottom: 16px;
}

.wp-block-embed {
  position: relative;
  width: 100%;
}

.wp-block-embed iframe {
  width: 100% !important;
  height: auto !important;
  max-height: 660px;
  aspect-ratio: attr(width) / attr(height);
}

.wp-block-image {
  margin:0 0 20px !important;
}

.wp-block-columns {
  margin-bottom: 0 !important;
}

.wp-block-columns.is-layout-flex {
  gap:20px !important;
}

.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
  flex-basis: 0 !important;
  flex-grow: 1 !important;
}

.text-point {
  font-weight: 500;
  color:var(--llred);
}

.llp-premium-flag {
  text-align: center;
  font-size: var(--text-small);
  color:var(--llred);
  margin:20px 0 40px;
  padding: 6px 0;
  border-top: 1px dashed var(--lightgray);
  border-bottom: 1px dashed var(--lightgray);

}

/* table */

table {
  width: 100%;
}

thead, tbody {
  font-size: var(--text-small);
}

td {
}

th {
  font-weight: 500;
}

tr {

}

/* input */

form label {
  display: block;
  text-align: left;
  font-size: var(--text-small);
}

input, textarea {
  border:1px solid var(--palegray);
  padding: 10px;
  border-radius: 6px;
  width: 100%;
  font-size: var(--text-small);
}

textarea {
  min-height: 80px;
  font-family: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  resize: none;
  outline: none;
}

input:focus {
  outline: 2px solid var(--llsoftblue);
}

input[type="submit"] {
  -webkit-appearance: none;
  appearance: none;
  opacity: 1 !important;
  filter: none !important;
  -webkit-filter: none !important;
  pointer-events: auto;
}

input[type="checkbox"] {
  width: 16px;
  height: 16px;
  border: 1px solid var(--palegray);
  border-radius: 2px;
  margin-left: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  outline: none;
}


input[type="checkbox"]:checked {
  accent-color: var(--llred);
}


/* button */

button {
  padding-block: 0;
  padding-inline: 0;
  border:none;
  background:none;
}

.btn {
  display: inline-flex;
  font-size: var(--text-tiny);
  padding: 6px 10px;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 500;
  cursor: pointer;
  align-items: center;
  justify-content: center;
}


.btn-large {
  padding:10px 16px;
  font-size: var(--text-small);
}

.btn-fill {
  background-color:var(--llpaleblue);
  border:1px solid var(--llsoftblue);
}

.btn-fill:hover {
  background-color: var(--llsoftblue);
  color:var(--lldarkblue);
  border-color: var(--llblue);
}

.btn-outline {
  border: 1px solid var(--palegray);
  color: var(--ink);
  background-color: var(--paper);
}

.btn-outline:hover {
  border-color: var(--lightgray);
  color:var(--ink);
}

.btn-danger {
  background-color: var(--llsoftred);
  color: var(--llred);
  border: 1px solid var(--llsoftred);
}

.btn-danger:hover {
  border-color: var(--llred);
  color: var(--llred);
}

.btn-flex-primary {
  flex:1 ;
  display: inline;
  text-align: center;
}

.btn-icon {
  display: inline-flex;
  align-items: center;
  padding: 2px 6px;
  border-radius: 4px;
}

.btn-icon:hover {
  background-color:var(--shadow);
}

.icon-small {
  height:12px;
  margin-right:4px;
  display: flex;
}

.icon-small img {
  width:12px;
  height:12px;
}

/* toast */

.ll-toast {
  position:fixed;
  left:50%;
  top:24px;
  transform:translateX(-50%);
  max-width:90vw;
  color:var(--paper);
  padding:8px 14px;
  border-radius:6px;
  font-size:var(--text-small);
  display:none;
  z-index:9999;
  opacity:0;
  transition:opacity .2s ease;
}


/* sisu */

.sisu-form {
  max-width: 480px;
  margin: 0 auto;
  text-align: center;
}

.sisu-form .sisu-check {
  display: flex;
  align-items: center;
  gap: 4px;
}

.sisu-form button {
}

.sisu-form .form-group {
  margin-bottom: 10px;
}

.sisu-form .form-group label {
  margin-bottom: 4px;
}


.sisu-form button[type="submit"] {
  background-color: var(--llsoftblue);
  border: 1px solid var(--llsoftblue);
  color:var(--lldarkblue);
  cursor: pointer;
  width: 100%;
  padding: 12px;
  font-size: var(--text-small);
  border-radius: 6px;
  font-weight: 500;
}

.sisu-form button[type="submit"]:hover {
  background-color: var(--llpaleblue);
}

.sisu-form .form-footer {
  margin-top: 20px;
  font-size: var(--text-small);
  color: var(--lightgray);
  text-align: center;
}

.sisu-form .form-footer a {
  color:var(--darkgray);
  margin: 0 6px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.sisu-form .form-footer a:hover {
  color: var(--ink);
}

.sisu-check a {
  text-decoration: underline;
}

.primary-nav ul {
  display: flex;
  gap: 16px;
  list-style: none;
  font-weight: 400;
  margin: 0;
  padding: 0
}

.verify-instructions {
  padding-bottom: 30px;
  border-bottom: 1px solid var(--palegray);
  margin-bottom: 30px;
}

.verify-resend form {
  margin-top: 10px;
}

.ll-thumbnail {
  aspect-ratio: 16 / 9;
  width: 100%;
  overflow: hidden;
  border-radius: 8px;
  /* 선택 사항 */
}

.ll-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}


.entry-header {
  padding: 30px;
  border-bottom:1px solid var(--lightgray);
}

.entry-content {
  padding:0;
  margin-top: 16px;
}

.entry-header .featured img,
.single-main .entry-content img {
  max-width: 100%;
  height: auto;
  display: block;
}

.ll-ep-wrap {
  font-size: var(--text-tiny);
  background-color: var(--shadow);
  border: 1px solid var(--palegray);
  border-radius: 6px;
  padding: 10px;
  margin-top:30px;
}

.ll-ep-note-link {
  text-decoration: underline !important;
  color:var(--llred) !important;
}

@media(max-width:1024px) {

  .page-template-page-my-profile-edit #ll-sidebar,
  .page-template-page-my-points #ll-sidebar,
  .page-template-page-my-archive #ll-sidebar,
  .page-template-page-my-activity #ll-sidebar,
  .page-template-page-my-account-edit #ll-sidebar,
  .page-template-page-login #ll-sidebar,
  .page-template-page-signup #ll-sidebar,
  .page-template-page-reset-password #ll-sidebar,
  .single #ll-sidebar {
    display: none;
  }
}


@media (max-width:720px) {

  .entry-content {
    padding: 0;
  }

  p {
    font-size: 1rem !important;
  }

    input,
    textarea {
    font-size: 16px;
  }

  .container-block {
    padding: 20px;
  }

    .btn {
      text-align: center;
      font-size: var(--text-small);
      padding: 10px 14px;
    }

    .btn-group-1row {
      width: 100%;
      display: block;
    }

    .ll-ep-wrap {
      margin-top:20px;
    }

}
