/* Katholon MB109: scoped shop and legal-notice presentation. */
.k109-legal{--k109-ink:#352723;--k109-muted:#6a5b53;--k109-red:#71121b;--k109-line:#e6d9cc;max-width:1240px;margin:0 auto;padding:36px 28px 72px;color:var(--k109-ink)}
.k109-legal *{box-sizing:border-box}
.k109-legal h1,.k109-legal h2,.k109-legal h3,.k109-legal p{margin:0}
.k109-legal h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(30px,3vw,42px);line-height:1.12;letter-spacing:-.025em;color:#fff}
.k109-legal h2{font-family:Georgia,"Times New Roman",serif;font-size:23px;line-height:1.23;letter-spacing:-.018em;color:var(--k109-red)}
.k109-legal h3{font-size:15px;line-height:1.4;color:var(--k109-red)}
.k109-legal p{font-size:15px;line-height:1.75;color:var(--k109-muted)}
.k109-legal a{color:var(--k109-red);text-underline-offset:4px}
.k109-legal a:hover{text-decoration-thickness:2px}
.k109-legal a:focus-visible,.shop450-mb109 a:focus-visible{outline:3px solid #b68a3e;outline-offset:5px;border-radius:3px}
.k109-legal-hero{padding:32px 36px;border-radius:18px;background:linear-gradient(115deg,#430b12,#7b1520);border:1px solid #781722;position:relative;overflow:hidden;margin-bottom:24px}
.k109-legal-hero:after{content:"";position:absolute;right:-28px;top:-70px;width:210px;height:210px;border:1px solid #d7b56b38;border-radius:50%;box-shadow:0 0 0 32px #d7b56b08;pointer-events:none}
.k109-legal-hero .k109-eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#e6c282;font-weight:700;margin-bottom:12px}
.k109-legal-hero .k109-lead{max-width:700px;color:#f3e4d9;margin-top:13px;font-size:16px;line-height:1.6}
.k109-legal-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px;align-items:start}
.k109-card{grid-column:span 6;min-width:0;background:#fffefa;border:1px solid var(--k109-line);border-radius:16px;padding:26px;box-shadow:0 6px 24px #4d201106;height:100%}
.k109-card-head{display:flex;gap:12px;align-items:center;margin-bottom:17px}
.k109-icon{width:38px;height:38px;flex:0 0 38px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;background:#f4e9de;color:#801c26}
.k109-icon svg{width:21px;height:21px;display:block}
.k109-card p+p{margin-top:12px}
.k109-company{grid-column:span 4;background:#f8f1e7}
.k109-company address{font-style:normal;font-size:15px;line-height:1.8;margin:4px 0 20px}
.k109-company address strong{display:block;font-size:20px;color:#4f1119;margin-bottom:5px}
.k109-company dl{padding:18px 0;margin:0 0 20px;border-top:1px solid #dfcdbb;border-bottom:1px solid #dfcdbb}
.k109-company dt{font-size:11px;line-height:1.5;text-transform:uppercase;letter-spacing:.05em;color:#7a6353;margin-top:12px}
.k109-company dt:first-child{margin-top:0}
.k109-company dd{font-size:14px;font-weight:650;margin:4px 0 0}
.k109-company h3{margin-bottom:7px}
.k109-company .k109-contact{font-size:14px;line-height:1.65}
.k109-mail{font-size:16px;font-weight:700;display:inline-block;margin-top:10px;overflow-wrap:anywhere}
.k109-company .k109-register-link{font-size:12px;line-height:1.6;display:inline-block;margin-top:22px}
.k109-development{grid-column:span 8}
.k109-status{display:inline-flex;align-items:center;gap:7px;color:#775b27;background:#f6eddb;border:1px solid #e6d4ab;border-radius:50px;padding:5px 10px;font-size:11px;font-weight:700;letter-spacing:.04em;margin-bottom:16px}
.k109-status:before{content:"";width:5px;height:5px;background:#9c722a;border-radius:50%}
.k109-inset{margin-top:20px;padding:17px 19px;background:#f7f2eb;border-left:3px solid #b28d45;border-radius:0 10px 10px 0}
.k109-inset h3{margin-bottom:7px}
.k109-inset p{font-size:14px;line-height:1.7}
.k109-text-link{display:inline-flex;align-items:center;gap:9px;margin-top:17px;font-size:13px;font-weight:700}
.k109-text-link svg{width:16px;height:16px;flex:0 0 16px}
.k109-card .k109-note{padding-top:13px;margin-top:16px;border-top:1px solid var(--k109-line);font-size:13px;line-height:1.65}

.shop450-mb109{width:100%;max-width:none;padding-top:24px;background:transparent}
.shop450-mb109>section:not(.shop450-hero){width:97%;margin-left:auto;margin-right:auto}
.shop450-mb109 .shop450-hero-image{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0;gap:0;border-radius:0;align-items:stretch;background:linear-gradient(120deg,#440b13,#71131d)}
.shop450-mb109 .shop450-hero-copy{padding:30px 34px;display:flex;flex-direction:column;justify-content:center;order:0}
.shop450-mb109 .shop450-kicker{font-size:10px;line-height:1.6;letter-spacing:.12em;max-width:46em}
.shop450-mb109 .shop450-hero h1{font-size:clamp(30px,2.9vw,44px);line-height:1.08;letter-spacing:-.025em;margin:12px 0;color:#fff;max-width:14em}
.shop450-mb109 .shop450-hero p{font-size:14px;line-height:1.65;margin:0 0 20px;max-width:44em}
.shop450-mb109 .shop450-hero .shop450-btn{font-size:12px;min-height:36px;padding:7px 13px}
.shop450-mb109 .shop450-hero .shop450-btn.ghost{color:#f6e4d9!important;border-color:#bf9383}
.shop450-mb109 .shop450-hero-figure{order:0;position:relative;min-height:300px;max-height:none;margin:0}
.shop450-mb109 .shop450-hero-figure img{position:absolute;inset:0;min-height:0;width:100%;height:100%;object-fit:cover;object-position:center}
.shop450-mb109 .shop450-trustbar{margin-top:18px;border-radius:13px}
.shop450-mb109 .shop450-trustbar>div{display:flex;align-items:flex-start;gap:11px;padding:18px 16px;min-width:0}
.shop450-mb109 .shop450-trustbar .k109-icon{width:33px;height:33px;flex-basis:33px;border-radius:9px;margin-top:0;background:#f8f0e5}
.shop450-mb109 .shop450-trustbar .k109-icon svg{width:20px;height:20px}
.shop450-mb109 .shop450-trustbar strong{font-size:13px;line-height:1.4}
.shop450-mb109 .shop450-trustbar .k109-benefit-copy>span{font-size:12px;line-height:1.5;margin-top:5px}
.shop450-mb109 .shop450-section{margin-top:32px}
.shop450-mb109 .shop450-section h2{font-size:clamp(22px,2vw,28px);letter-spacing:-.02em}
.shop450-mb109 .shop450-section-head p{font-size:13px;max-width:78em}
.shop450-mb109 .shop450-department-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.shop450-mb109 .shop450-department{padding:0;display:flex;flex-direction:column;gap:0;overflow:hidden;border-radius:14px;min-height:0;background:#fffefa;box-shadow:0 3px 12px #4a241008}
.shop450-mb109 .shop450-department-photo{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-bottom:1px solid #e7dccc;transition:transform .25s ease}
.shop450-mb109 .shop450-department:hover .shop450-department-photo{transform:scale(1.025)}
.shop450-mb109 .shop450-department-body{display:flex;flex-direction:column;flex:1;padding:17px 16px 14px;min-width:0}
.shop450-mb109 .shop450-department strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:19px;font-weight:700;line-height:1.2;letter-spacing:-.015em}
.shop450-mb109 .shop450-department p{font-size:12px;line-height:1.6;margin:10px 0 16px}
.shop450-mb109 .shop450-department b{display:flex;justify-content:space-between;align-items:center;gap:7px;border-top:1px solid #eaded1;padding-top:12px;margin-top:auto;font-size:11px;font-weight:650;color:#7f5b25}
.shop450-mb109 .shop450-department b svg{width:16px;height:16px;flex-shrink:0}
.shop450-mb109 .shop450-department:focus-visible{outline-offset:3px;border-radius:14px}
.shop450-mb109 .shop450-department-art{height:auto;aspect-ratio:3/2;background:#f4ebdf;display:grid;place-items:center;color:#8c5e39}
.shop450-mb109 .shop450-department-art svg{width:44px;height:44px}
@media(max-width:1150px){
  .shop450-mb109 .shop450-hero-copy{padding:26px}
  .shop450-mb109 .shop450-department-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .shop450-mb109 .shop450-trustbar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .shop450-mb109 .shop450-trustbar>div:nth-child(2){border-right:0}
  .shop450-mb109 .shop450-trustbar>div:nth-child(-n+2){border-bottom:1px solid var(--ks-line)}
}
@media(max-width:800px){
  .k109-legal{padding:24px 20px 50px}
  .k109-company,.k109-development{grid-column:span 12}
  .shop450-mb109 .shop450-hero-image{grid-template-columns:1fr}
  .shop450-mb109 .shop450-hero-copy{order:0;padding:25px}
  .shop450-mb109 .shop450-hero-figure{order:1;min-height:190px;max-height:240px}
  .shop450-mb109 .shop450-hero h1{font-size:32px;max-width:20em}
  .shop450-mb109 .shop450-department-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:540px){
  .k109-legal{padding:18px 14px 40px}
  .k109-legal-hero{padding:24px;border-radius:14px;margin-bottom:16px}
  .k109-legal-hero:after{display:none}
  .k109-legal-hero .k109-lead{font-size:14px}
  .k109-card{grid-column:span 12;padding:22px}
  .k109-legal-grid{gap:16px}
  .k109-legal h2{font-size:21px}
  .shop450-mb109{width:100%;padding-top:16px}
  .shop450-mb109 .shop450-hero-image{border-radius:0}
  .shop450-mb109 .shop450-hero h1{font-size:30px}
  .shop450-mb109 .shop450-hero p{font-size:13px}
  .shop450-mb109 .shop450-trustbar>div{padding:14px 12px;gap:8px}
  .shop450-mb109 .shop450-trustbar .k109-icon{width:25px;height:28px;flex-basis:25px;background:transparent}
  .shop450-mb109 .shop450-trustbar strong{font-size:12px}
  .shop450-mb109 .shop450-trustbar .k109-benefit-copy>span{font-size:11px}
  .shop450-mb109 .shop450-department-grid{gap:12px}
  .shop450-mb109 .shop450-department-body{padding:13px 12px}
  .shop450-mb109 .shop450-department strong{font-size:17px;overflow-wrap:anywhere}
  .shop450-mb109 .shop450-department p{font-size:11px}
  .shop450-mb109 .shop450-department b{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.shop450-mb109 .shop450-department,.shop450-mb109 .shop450-department-photo{transition:none}.shop450-mb109 .shop450-department:hover,.shop450-mb109 .shop450-department:hover .shop450-department-photo{transform:none}}
body.dark .k109-legal{--k109-ink:#f2e5d8;--k109-muted:#d3bfb1;--k109-red:#ebc18f;--k109-line:#5b3830}
body.dark .k109-card{background:#251715}
body.dark .k109-company,body.dark .k109-inset{background:#301e18}
body.dark .k109-company address strong{color:#f2d6bb}
body.dark .k109-company dt{color:#ccae98}
body.dark .k109-icon{background:#4b2923;color:#ebc18f}
body.dark .k109-status{background:#49371e;color:#f0d19b;border-color:#7c5a31}
