/* like a local: content blocks used inside Elementor pages (converted from the static site) */

/* Simplified Chinese pages: Chinese fallbacks after Pretendard and normal CJK line breaking (as the static zh site) */
html[lang^="zh"] body,html[lang^="zh"] body *{font-family:"Pretendard","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif !important;word-break:normal !important;line-break:strict}
html[lang^="en"] body{word-break:normal}

/* text widgets carry the original inline-styled HTML; give bare paragraphs browser-like spacing */
.elementor-widget-text-editor :where(p,ul,ol,dl){margin-top:0;margin-bottom:1em}
.elementor-widget-text-editor :where(p,ul,ol,dl):last-child{margin-bottom:0}
.elementor-widget-text-editor :where(ul,ol){padding-left:20px}
.elementor-widget-text-editor :where(dd){margin:0}
.elementor-widget-heading .elementor-heading-title{text-wrap:balance}
.elementor-widget-heading .elementor-heading-title span{letter-spacing:inherit}

/* Home route map (Incheon/China to Auckland), 1440x980 artwork.
   Percentage/aspect-ratio heights collapse to 0 in this Elementor cell, so the height is computed from
   the viewport: the cell's width is known at each breakpoint (3fr of the 1280px row on desktop,
   full row inside 28px / 20px gutters on tablet / phone). */
.lal-routemap{--map-w:calc((min(1280px, 100vw - 56px) - 16px) * 0.75);position:relative;width:100%;height:calc(var(--map-w) * 0.6806);border-radius:28px;overflow:hidden;background:#F3F8F7}
.lal-routemap__layer{position:absolute;inset:0}
@media (max-width:1024px){.lal-routemap{--map-w:calc(100vw - 56px)}}
@media (max-width:767px){
  /* phones: taller frame, map layer 2.2x wide, shifted so x 480-1135 / y 60-910 of the artwork shows */
  .lal-routemap{--map-w:calc(100vw - 40px);height:calc(var(--map-w) * 1.3);border-radius:22px}
  .lal-routemap__layer{inset:auto;top:0;left:0;width:220%;height:calc(var(--map-w) * 1.496);margin-left:-73.3%;margin-top:-9.2%}
}
.lal-nowrap{white-space:nowrap}
@media (max-width:767px){.elementor-element.lal-nowrap.elementor-absolute{display:none}}
.elementor-widget-image img{vertical-align:bottom}
.e-con.lal-auto{--width:auto;width:auto;max-width:100%}

/* grid spans */
.lal-span-2{grid-column:span 2}.lal-span-3{grid-column:span 3}.lal-span-4{grid-column:span 4}
.lal-span-5{grid-column:span 5}.lal-span-6{grid-column:span 6}.lal-span-7{grid-column:span 7}
.lal-span-8{grid-column:span 8}.lal-span-12{grid-column:span 12}
.lal-rspan-2{grid-row:span 2}.lal-rspan-3{grid-row:span 3}
@media (max-width:767px){[class*="lal-span-"]{grid-column:auto}}
/* original used flex-wrap: wrap-reverse, so the second column comes first once stacked */
@media (max-width:1024px){.lal-rev-t > .e-con:first-child{order:2}}
@media (max-width:767px){.lal-rev-m > .e-con:first-child{order:2}}

/* photo mosaic on course pages */
.lal-mosaic{grid-auto-rows:230px}
.lal-mosaic > .lal-mfig{position:relative;border-radius:22px;overflow:hidden;background:#DCE6E4;min-height:0}
.lal-mosaic > .lal-mfig.big{grid-column:span 2;grid-row:span 2}
.lal-mosaic > .lal-mfig.wide{grid-column:span 2}
.lal-mfig > .elementor-widget-image{position:absolute;inset:0;margin:0}
.lal-mfig > .elementor-widget-image img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0;transition:transform .6s ease}
.lal-mfig:hover > .elementor-widget-image img{transform:scale(1.04)}
.lal-mfig > .lal-mcap{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:40px 18px 16px;background:linear-gradient(180deg,rgba(6,20,22,0),rgba(6,20,22,.72));color:#FFFFFF;font-weight:700;font-size:15px;line-height:1.35}
.lal-mfig.big > .lal-mcap{font-size:19px}
.lal-mcap small{display:block;font-size:12.5px;font-weight:500;opacity:.85;margin-top:2px}
@media (max-width:767px){
  .lal-mosaic{grid-auto-rows:150px}
  .lal-mfig > .lal-mcap{font-size:13.5px;padding:28px 12px 10px}
  .lal-mcap small{display:none}
}
@media (prefers-reduced-motion:reduce){.lal-mfig > .elementor-widget-image img{transition:none}.lal-mfig:hover > .elementor-widget-image img{transform:none}}

/* FAQ (Elementor toggle styled like the original details list) */
.lal-faq .elementor-toggle-item{border-top:1px solid #DCE6E4;margin:0}
.lal-faq .elementor-toggle-item:last-child{border-bottom:1px solid #DCE6E4}
.lal-faq .elementor-tab-title{padding:20px 0 !important;border:0 !important}
.lal-faq .elementor-tab-title a{color:inherit}
.lal-faq .elementor-tab-content{padding:0 0 20px !important;border:0 !important}
.lal-faq .elementor-tab-content p{margin:0}

/* tags, checklists, placeholders, documents */
.lal-tag{display:inline-flex;padding:5px 12px;border-radius:999px;font-size:13px;font-weight:700}
.lal-check{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid #DCE6E4;font-size:16px;cursor:pointer}
.lal-check input{width:22px;height:22px;margin:2px 0 0;accent-color:#0F7F73;flex:none}
.lal-check small{display:block;color:#55645F;font-size:14px}
.lal-ph{background:#FFF6D6;padding:1px 6px;border-radius:6px;color:#6B5200;font-weight:600}
.lal-doc h2{margin:56px 0 14px;font-size:26px;font-weight:800;letter-spacing:-0.03em;color:#0E1A17}
.lal-doc h3{margin:28px 0 8px;font-size:18px;font-weight:800;color:#0E1A17}
.lal-doc li{margin:4px 0}
.lal-doc p,.lal-doc li{font-size:16px;color:#3B4A47}
.lal-doc table{width:100%;border-collapse:collapse;font-size:15px;margin:8px 0 12px}
.lal-doc th,.lal-doc td{overflow-wrap:anywhere;text-align:left;padding:14px 16px;border-top:1px solid #DCE6E4;vertical-align:top}
.lal-doc thead th{background:#F3F8F7;border-top:0;font-size:14px}
.lal-doc ul,.lal-doc ol{padding-left:22px;margin:0 0 12px}
.elementor-widget-text-editor table{border:0;margin:0}
.elementor-widget-text-editor :where(td,th){border-left:0;border-right:0;border-bottom:0}
