body:is(.cp-page, .cpg-page, .cp-cart-page) {
  overflow-wrap: anywhere;
  letter-spacing: 0;
}

body:is(.cp-page, .cpg-page, .cp-cart-page):lang(ko) { word-break: keep-all; }

:is(.cp-page, .cpg-page, .cp-cart-page) .site-header-inner > .header {
  height: auto;
  min-height: 72px;
}

:is(.cp-page, .cpg-page, .cp-cart-page) .site-header .header .nav > li > a {
  height: auto;
  min-height: 42px;
  padding-block: 4px;
}

:is(.cp-page, .cpg-page, .cp-cart-page) .site-header :is(.home-language-picker, .home-language-fallback) {
  height: auto;
  min-height: 40px;
  max-width: 180px;
  padding-block: 6px;
}

:is(.cp-page, .cpg-page, .cp-cart-page) .home-language-caption {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}

:is(.cp-page, .cpg-page, .cp-cart-page) .footer :is(.footbox, .foot) {
  box-sizing: border-box;
  width: min(980px, calc(100% - 32px));
  max-width: calc(100% - 32px);
}

:is(.cp-page, .cpg-page, .cp-cart-page) .footer .footbox {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

:is(.cp-page, .cpg-page, .cp-cart-page) .footer .footbox .us {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  padding-inline: 0;
}

:is(.cp-page, .cpg-page, .cp-cart-page) .footer .jbreg { display: flex; }
:is(.cp-page, .cpg-page, .cp-cart-page) .footer .jbreg input {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
  flex: 1 1 0;
}

.cp-page .hero-inner {
  width: min(1120px, calc(100% - 36px));
  margin-inline: auto;
}

.cp-page .wrap {
  width: min(1000px, calc(100% - 36px));
  margin-inline: auto;
}

.cp-page .intro-copy { min-width: 0; }
.cp-page .intro > img { max-width: 100%; }
.cp-page .product-tab { min-width: 0; padding-block: 8px; line-height: 1.3; }
.cp-page .shot-tab { white-space: normal; overflow-wrap: anywhere; }
.cp-page .hero .gs-banner-actions > a.gs-banner-button {
  height: auto !important;
  min-width: 0 !important;
  padding-block: 12px !important;
  overflow-wrap: anywhere !important;
}

.cpg-page .cpg-content a.cpg-button { white-space: normal; overflow-wrap: anywhere; }
.cpg-page .cpg-table-wrap { overscroll-behavior-inline: contain; }
.cpg-page .cpg-bottom .cpg-wrap { grid-template-columns: minmax(0, 1fr) minmax(0, 190px); }

.cp-cart-page :is(.current, .cartbox, .bundle) {
  box-sizing: border-box;
  width: min(980px, calc(100% - 32px)) !important;
  margin-inline: auto;
}

.cp-cart-page .current { height: auto; padding-block: 16px; line-height: 1.6; }
.cp-cart-page .cartbox { display: grid; grid-template-columns: minmax(0, 1fr) 230px; gap: 28px; overflow: visible; }
.cp-cart-page .cartbox :is(.cartleft, .cartright) { box-sizing: border-box; float: none; width: 100%; min-width: 0; }
.cp-cart-page .cartbox .cartleft dl { display: flex; align-items: flex-start; gap: 10px; box-sizing: border-box; width: 100%; padding: 10px; }
.cp-cart-page .cartbox .cartleft dl dt { float: none; width: 200px; flex: 0 0 200px; }
.cp-cart-page .cartbox .cartleft dl dt img { width: 148px; max-width: 100%; height: auto; }
.cp-cart-page .cartbox .cartleft dl dd { float: none; width: auto; min-width: 0; flex: 1 1 0; }
.cp-cart-page .cartleft .accepted img { max-width: 100%; height: auto; margin-inline: 0; }

/* Keep the license, price, and checkout action in the same row. */
.cp-cart-page .cartbox .cartleft .cp-plans { display: block; width: auto; padding: 0; overflow: visible; }
.cp-cart-page .cp-plans > .cp-plan { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: center; border-bottom: 1px solid #d2d2d2; }
.cp-cart-page .cartbox .cartleft .cp-plans .cp-plan > p { box-sizing: border-box; float: none; width: auto; min-width: 0; margin: 0; padding: 14px 10px; border: 0; line-height: 1.5; }
.cp-cart-page .cp-plan > p:last-child > br ~ br { display: none; }
.cp-cart-page .cartbox .cartleft .cartbuybox .buy02 { box-sizing: border-box; align-content: center; max-width: 100%; height: auto; min-height: 50px; padding: 8px 10px; line-height: 1.3; }

.cp-cart-page .bundle { height: auto !important; padding-bottom: 20px; }
.cp-cart-page .bundle > h3 { line-height: 1.5; }
.cp-cart-page .bundlecon-g { box-sizing: border-box; height: auto; padding: 24px 16px 12px; }
.cp-cart-page .bundlecon-g h3 { margin: 0 0 16px; padding: 0; font-size: 28px; line-height: 1.25; }
.cp-cart-page .bundlecon-g .imgi { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 12px; max-width: 760px; padding: 0; }
.cp-cart-page .bundlecon-g .imgi img { display: block; max-width: 100%; height: auto; padding: 0 !important; }
.cp-cart-page .bundlecon-g .imgi > br { display: none; }
.cp-cart-page .bundle .bundlecon-g .cartbuybox { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 22px; width: auto; margin: 0; padding: 4px 0 12px; }
.cp-cart-page .bundle .bundlecon-g .cartbuybox > :is(p, div) { float: none; width: auto !important; max-width: 100%; margin: 0; padding: 0; line-height: 1.15; text-align: center; }
.cp-cart-page .bundlecon-g .cartbuybox > :is(.ori, .now) { white-space: nowrap; overflow-wrap: normal; }
.cp-cart-page .bundle .bundlecon-g .cartbuybox .buy02 { box-sizing: border-box; align-content: center; width: 150px; max-width: 100%; height: auto; min-height: 50px; margin: 0; padding: 8px 10px; line-height: 1.25; }

@media (max-width: 1000px) {
  .cpg-page .cpg-bottom .cpg-wrap { grid-template-columns: minmax(0, 1fr); }
  .cpg-page .cpg-bottom .cpg-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 190px)); }
  .cpg-page .cpg-bottom a.cpg-button { width: 100%; }
}

@media (max-width: 980px) {
  :is(.cp-page, .cpg-page, .cp-cart-page) .footer .footbox { grid-template-columns: minmax(0, 1fr); }
  :is(.cp-page, .cpg-page, .cp-cart-page) .site-header .h5-ivu-logo { min-width: 0; }
  :is(.cp-page, .cpg-page, .cp-cart-page) .site-header .h5-ivu-logo a { display: flex; align-items: center; }
  :is(.cp-page, .cpg-page, .cp-cart-page) .site-header .h5-ivu-logo img { max-width: 100%; height: auto; }
  .cp-cart-page .cartbox { grid-template-columns: minmax(0, 1fr); }
  .cp-cart-page .cartbox .cartright { display: none; }
}

@media (max-width: 600px) {
  .cp-page .product-tabs-inner { padding-inline: 12px; }
  .cp-page .product-tab { padding-inline: 12px; }
  .cpg-page .cpg-bottom .cpg-actions { grid-template-columns: minmax(0, 1fr); }
  .cp-cart-page .cartbox .cartleft dl { display: block; }
  .cp-cart-page .cartbox .cartleft dl dt { width: 100%; }
  .cp-cart-page .cp-plans > .cp-plan { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cp-cart-page .cartbox .cartleft .cp-plans .cp-plan > p:last-child { grid-column: 1 / -1; }
  .cp-cart-page .cartbox .cartleft .cp-plans .cp-plan > p:not(:last-child) { padding-bottom: 0; }
  .cp-cart-page .bundlecon-g h3 { font-size: 22px; }
}

@media (max-width: 560px) {
  .cp-page .hero .gs-banner-actions > a.gs-banner-button { flex-basis: auto !important; }
}

@media (max-width: 360px) {
  :is(.cp-page, .cpg-page, .cp-cart-page) .site-header .h5-ivu-logo img { width: 96px; }
  :is(.cp-page, .cpg-page, .cp-cart-page) .site-header :is(.home-language-picker, .home-language-fallback) { max-width: 128px; }
  :is(.cp-page, .cpg-page, .cp-cart-page) .home-language-caption:is([lang="nl"], [lang="sl"]) .home-language-full { display: none; }
  :is(.cp-page, .cpg-page, .cp-cart-page) .home-language-caption:is([lang="nl"], [lang="sl"]) .home-language-short { display: inline; }
  .cp-page .shot-tab { padding-inline: 8px; }
}
