*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:#f3f7ef;color:#111827;font-family:"Noto Sans KR","Malgun Gothic",Arial,sans-serif}
.page-shell{width:100%;min-height:100vh}
.mockup-stage{position:relative;width:min(100vw,1536px);margin:0 auto;background:#fff;box-shadow:0 16px 50px rgba(15,23,42,.12)}
.mockup-image{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none}

.member-quick-links{position:absolute;right:2.2%;top:1.6%;z-index:7;display:flex;align-items:center;gap:.45vw;padding:.42vw .55vw;border-radius:999px;background:rgba(255,255,255,.84);backdrop-filter:blur(5px);box-shadow:0 5px 16px rgba(15,23,42,.10);font-size:.82vw;font-weight:900;letter-spacing:-.04em;color:#14532d}
.member-quick-links a{display:inline-flex;align-items:center;justify-content:center;min-width:3.8vw;height:1.92vw;padding:0 .72vw;border-radius:999px;background:#e8f5e3;color:#14532d;text-decoration:none;transition:transform .08s ease,background .08s ease}
.member-quick-links a:last-child{background:#14532d;color:#fff}.member-quick-links a:active,.member-quick-links a.is-pressed{transform:translateY(2px) scale(.97)}

.hotspots{position:absolute;inset:0;z-index:3}
.hotspot{position:absolute;display:block;border-radius:10px;text-indent:-9999px;overflow:hidden;outline:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .08s ease,background-color .08s ease,box-shadow .08s ease,filter .08s ease}
.hotspot::before{content:"";position:absolute;inset:0;border-radius:inherit;opacity:0;box-shadow:inset 0 3px 7px rgba(15,23,42,.30), inset 0 -2px 0 rgba(255,255,255,.35), 0 0 0 2px rgba(34,197,94,.28);transition:opacity .08s ease;pointer-events:none}
.hotspot::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:12px;border-radius:999px;background:rgba(255,255,255,.42);opacity:0;transform:translate(-50%,-50%) scale(1);pointer-events:none}
.hotspot:hover{background:rgba(34,197,94,.10);box-shadow:0 6px 14px rgba(15,23,42,.10)}
.hotspot:focus-visible{outline:3px solid #22c55e;outline-offset:2px;background:rgba(34,197,94,.16)}
.hotspot:active,.hotspot.is-pressed{transform:translateY(2px) scale(.982);background:rgba(15,23,42,.10);box-shadow:0 1px 3px rgba(15,23,42,.24);filter:brightness(.96)}
.hotspot:active::before,.hotspot.is-pressed::before{opacity:1}
.hotspot.is-pressed::after{animation:clickPulse .22s ease-out}
@keyframes clickPulse{0%{opacity:.55;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) scale(16)}}

/* 추천상품 실제 슬라이드 영역: 기존 시안의 추천상품 위치 위에 같은 톤으로 덮어서 좌우 이동이 가능하게 구성 */
.product-slider{position:absolute;left:3.6%;top:43.25%;width:67.6%;height:20.8%;z-index:4;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 0 0 1px rgba(15,23,42,.06)}
.product-slider-head{position:absolute;left:1.3%;top:0;width:96.8%;height:14.0%;display:flex;align-items:center;justify-content:space-between;padding:0 .4%;font-size:1.08vw;line-height:1;color:#111827}
.product-slider-head strong{display:flex;align-items:center;gap:.35em;font-weight:800;white-space:nowrap}
.product-slider-head span{color:#1f7a23;font-size:1.12em}.product-more-link{font-size:.76vw;color:#111827;text-decoration:none;padding:.2em .35em;border-radius:6px}.product-more-link:hover{background:#f2f8f1}.product-more-link:active{transform:translateY(1px)}
.product-track{position:absolute;left:1.9%;right:1.9%;top:14.2%;bottom:3.5%;display:flex;gap:2.2%;align-items:stretch;will-change:transform;transform:translate3d(0,0,0)}.product-track.is-sliding{transition:transform .92s cubic-bezier(.22,.61,.36,1)}
.product-card{position:relative;display:flex;flex:0 0 calc((100% - 8.8%) / 5);flex-direction:column;min-width:0;text-decoration:none;color:#111827;border-radius:8px;background:#fff;overflow:hidden;transition:transform .08s ease,box-shadow .08s ease,filter .08s ease}.product-card:hover{box-shadow:0 7px 16px rgba(15,23,42,.12)}.product-card:active,.product-card.is-pressed{transform:translateY(2px) scale(.985);filter:brightness(.96)}
.product-card img{display:block;width:100%;height:48%;object-fit:cover;border-radius:8px}.product-name{display:block;margin-top:.48vw;font-weight:800;font-size:1.08vw;letter-spacing:-.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-price{display:block;margin-top:.28vw;color:#e40000;font-weight:900;font-size:1.0vw}.product-brand{display:block;margin-top:.28vw;color:#333;font-size:.86vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-badge{position:absolute;right:.32vw;bottom:.15vw;border:1px solid #2e7d32;color:#2e7d32;border-radius:3px;font-size:.64vw;font-weight:700;padding:.05vw .32vw;background:#fff}
.product-arrow{position:absolute;top:47%;width:3.1vw;height:3.1vw;border:1px solid rgba(15,23,42,.08);border-radius:999px;background:#fff;color:#222;box-shadow:0 5px 14px rgba(15,23,42,.12);font-size:2.1vw;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:6;transition:transform .08s ease,box-shadow .08s ease,background-color .08s ease;-webkit-tap-highlight-color:transparent}.product-arrow:hover{background:#f7fbf4}.product-arrow:active,.product-arrow.is-pressed{transform:translateY(2px) scale(.94);box-shadow:0 1px 4px rgba(15,23,42,.20);background:#edf7e9}.product-arrow-prev{left:.15%}.product-arrow-next{right:.15%}

/* 하단 바로가기 버튼: 사용자가 올린 하단 시안의 버튼 위치·크기 위에 투명 클릭영역만 배치 */
.footer-cta{position:absolute;left:78.38%;top:89.45%;width:19.15%;height:8.55%;z-index:5;display:flex;flex-direction:column;gap:11.5%;align-items:stretch;justify-content:flex-start}
.footer-cta-link{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:43.7%;border-radius:.72vw;background:rgba(255,255,255,0);color:transparent;text-decoration:none;font-size:0;line-height:1;border:0;box-shadow:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .08s ease,box-shadow .08s ease,background-color .08s ease;white-space:nowrap;overflow:hidden}
.footer-cta-link::before{display:none}
.footer-cta-link span{display:none}
.footer-cta-link:hover{background:rgba(255,255,255,.10);box-shadow:inset 0 0 0 2px rgba(255,255,255,.12)}
.footer-cta-link:focus-visible{outline:3px solid #f8d86d;outline-offset:2px;background:rgba(255,255,255,.14)}
.footer-cta-link:active,.footer-cta-link.is-pressed{transform:translateY(2px) scale(.985);background:rgba(0,0,0,.10);box-shadow:inset 0 3px 8px rgba(0,0,0,.25)}

/* 좌표: left/top/width/height = 원본 1536×1024 기준 */
.hs-food{left:3.6%;top:25.8%;width:17.4%;height:7.5%}.hs-meat{left:21.7%;top:25.8%;width:17.2%;height:7.5%}.hs-it{left:39.5%;top:25.8%;width:17.4%;height:7.5%}.hs-clothes{left:57.1%;top:25.8%;width:18.2%;height:7.5%}.hs-living{left:75.9%;top:25.8%;width:19.8%;height:7.5%}.hs-office{left:3.6%;top:34.1%;width:17.4%;height:7.6%}.hs-media{left:21.7%;top:34.1%;width:17.2%;height:7.6%}.hs-web{left:39.5%;top:34.1%;width:17.4%;height:7.6%}.hs-book{left:57.1%;top:34.1%;width:18.2%;height:7.6%}.hs-apply{left:75.9%;top:34.1%;width:19.8%;height:7.6%}
.hs-partners-title{left:4.4%;top:64.9%;width:25.5%;height:2.7%}.hs-more-partners{left:65.2%;top:64.6%;width:4.4%;height:2.7%}.hs-partner-farm{left:4.3%;top:68.0%;width:11.8%;height:10.6%}.hs-partner-livestock{left:16.4%;top:68.0%;width:10.8%;height:10.6%}.hs-partner-computer{left:27.3%;top:68.0%;width:10.8%;height:10.6%}.hs-partner-media_partner{left:38.2%;top:68.0%;width:10.9%;height:10.6%}.hs-partner-web_partner{left:49.2%;top:68.0%;width:10.8%;height:10.6%}.hs-partner-book_partner{left:60.0%;top:68.0%;width:10.8%;height:10.6%}
.hs-apply-store{left:72.5%;top:57.7%;width:10.7%;height:3.4%}.hs-donation-contact{left:83.6%;top:57.7%;width:11.2%;height:3.4%}.hs-kakao{left:46.3%;top:89.8%;width:14.2%;height:7.2%}.hs-email{left:62.4%;top:89.8%;width:13.9%;height:7.2%}
.footer-admin-login{position:absolute;left:57.35%;top:97.90%;z-index:7;display:inline-flex;align-items:center;gap:.16vw;height:1.22%;padding:0 .24vw;border-radius:.24vw;color:rgba(255,255,255,.62);text-decoration:none;font-size:.64vw;font-weight:600;line-height:1;letter-spacing:-.04em;background:rgba(255,255,255,0);transition:transform .08s ease,background-color .08s ease,box-shadow .08s ease}
.footer-admin-login::before{content:"";display:inline-block;width:.48vw;height:.48vw;border:.07vw solid rgba(255,255,255,.58);border-radius:50%;box-shadow:0 .39vw 0 -.18vw rgba(255,255,255,.58);opacity:.72}
.footer-admin-login:hover,.footer-admin-login:focus-visible{color:rgba(255,255,255,.82);background:rgba(255,255,255,.08);box-shadow:0 0 0 1px rgba(255,255,255,.12);outline:0}.footer-admin-login:active,.footer-admin-login.is-pressed{transform:translateY(1px);background:rgba(0,0,0,.12)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.seo-content{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
@media(max-width:720px){body{background:#fff}.mockup-stage{width:100vw;box-shadow:none}.footer-admin-login{left:58.15%;top:97.88%;font-size:1.55vw;gap:.35vw;padding:0 .5vw;border-radius:.6vw;color:rgba(255,255,255,.62)}.footer-admin-login::before{width:1.1vw;height:1.1vw;border-width:.15vw;border-color:rgba(255,255,255,.58);box-shadow:0 .9vw 0 -.42vw rgba(255,255,255,.58)}.hotspot:hover{background:transparent;box-shadow:none}.hotspot:active,.hotspot.is-pressed{background:rgba(15,23,42,.12);box-shadow:0 1px 4px rgba(15,23,42,.25)}.product-slider-head{font-size:2.8vw}.product-more-link{font-size:2.0vw}.product-track{gap:2%}.product-name{font-size:2.5vw;margin-top:1.1vw}.product-price{font-size:2.15vw;margin-top:.55vw}.product-brand{font-size:1.75vw;margin-top:.45vw}.product-badge{font-size:1.35vw;right:.8vw;bottom:.3vw}.product-arrow{width:7.2vw;height:7.2vw;font-size:5.3vw}.footer-cta{left:78.38%;top:89.45%;width:19.15%;height:8.55%;gap:11.5%}.footer-cta-link{border-radius:1.7vw;font-size:0}}
@media(prefers-reduced-motion:reduce){.hotspot,.hotspot::before,.hotspot::after,.product-track,.product-card,.product-arrow,.footer-cta-link,.footer-admin-login{transition:none}.hotspot.is-pressed::after{animation:none}}

/* v14 상품·주문·관리 기능 화면 */
body{border:0!important;background:#f3f7ef}.mockup-stage{border:0!important;outline:0!important;overflow:hidden}.mockup-image{border:0!important}
.market-header{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1180px;margin:0 auto;padding:18px 18px}.market-logo{font-weight:900;font-size:24px;color:#14532d;text-decoration:none;letter-spacing:-.04em}.market-admin-link,.admin-nav a{color:#14532d;text-decoration:none;font-weight:700}.admin-nav{display:flex;gap:14px;flex-wrap:wrap}.catalog-wrap,.product-detail,.form-page,.admin-page{max-width:1180px;margin:0 auto;padding:18px}.catalog-hero,.story-section,.product-summary,.form-page,.admin-page{background:#fff;border-radius:18px;box-shadow:0 12px 34px rgba(15,23,42,.08)}.catalog-hero{padding:30px}.catalog-hero h1,.form-page h1,.admin-page h1{margin:0 0 10px;color:#14532d;letter-spacing:-.05em}.category-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.category-tabs a{padding:10px 14px;border-radius:999px;background:#fff;color:#14532d;text-decoration:none;border:1px solid #dbe8d5;font-weight:800}.category-tabs a.is-active{background:#14532d;color:#fff}.catalog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.catalog-card{display:flex;flex-direction:column;gap:7px;background:#fff;border-radius:16px;padding:12px;text-decoration:none;color:#111827;box-shadow:0 10px 25px rgba(15,23,42,.08);transition:transform .15s ease,box-shadow .15s ease}.catalog-card:hover{transform:translateY(-3px);box-shadow:0 16px 30px rgba(15,23,42,.13)}.catalog-card img{width:100%;aspect-ratio:1.2/1;object-fit:cover;border-radius:12px;background:#eef5ea}.catalog-card strong{font-size:17px;letter-spacing:-.04em}.catalog-card span{font-size:14px;color:#4b5563;min-height:38px}.catalog-card b{color:#dc2626;font-size:18px}.catalog-card em{font-style:normal;color:#166534;font-size:13px}.empty-box{grid-column:1/-1;background:#fff;padding:34px;border-radius:14px;text-align:center}.product-summary{display:grid;grid-template-columns:1fr 1fr;gap:34px;padding:30px}.product-gallery img{width:100%;border-radius:16px;object-fit:cover;background:#eef5ea}.main-detail-image{aspect-ratio:1.1/1}.thumb-row{display:flex;gap:8px;margin-top:10px}.thumb-row img{width:72px;height:72px;cursor:pointer;border:2px solid #e5e7eb}.product-info h1{font-size:34px;margin:8px 0 12px;letter-spacing:-.05em}.detail-category{display:inline-flex;background:#e8f5e3;color:#166534;border-radius:999px;padding:7px 12px;font-weight:800}.detail-price{font-size:30px;font-weight:900;color:#dc2626;margin:20px 0}.seller-line{color:#4b5563}.buy-button,.ghost-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;padding:14px 20px;background:#166534;color:#fff;text-decoration:none;font-weight:900;cursor:pointer}.buy-button.small{padding:9px 14px;font-size:14px}.ghost-button{background:#e8f5e3;color:#14532d;margin-top:12px}.story-section{margin-top:18px;padding:30px}.story-section h2{color:#14532d}.story-box{white-space:normal;line-height:1.8;font-size:17px;color:#1f2937}.market-form{display:grid;gap:14px}.market-form label{display:grid;gap:6px;font-weight:800;color:#14532d}.market-form input,.market-form textarea,.market-form select,.inline-form select,.month-form input{width:100%;border:1px solid #d1d5db;border-radius:10px;padding:11px;font:inherit;background:#fff}.price-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.alert{background:#fff1f2;color:#be123c;border:1px solid #fecdd3;padding:12px;border-radius:10px}.muted{color:#6b7280;font-size:14px}.order-product{display:flex;gap:14px;align-items:center;border:1px solid #e5e7eb;border-radius:14px;padding:12px;margin:14px 0}.order-product img{width:100px;height:100px;object-fit:cover;border-radius:12px}.admin-title-row{display:flex;align-items:center;justify-content:space-between}.admin-table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden}.admin-table th,.admin-table td{padding:12px;border-bottom:1px solid #e5e7eb;text-align:left;font-size:14px}.admin-table th{background:#e8f5e3;color:#14532d}.inline-form{display:flex;gap:6px}.admin-thumbs{display:flex;gap:10px;flex-wrap:wrap}.admin-thumbs img{width:90px;height:90px;border-radius:10px;object-fit:cover;border:1px solid #e5e7eb}.check-label{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px}.check-label input{width:auto}.month-form{display:flex;gap:10px;align-items:end;margin:0 0 18px}.settlement-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:16px;margin:14px 0}code{background:#f3f4f6;padding:2px 5px;border-radius:5px}

.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid-3{display:grid;grid-template-columns:.7fr 1fr 1fr;gap:12px}.span-2{grid-column:span 2}.auth-page h1{letter-spacing:-.06em}.required-mark{display:inline-flex;margin-left:4px;color:#dc2626;font-size:12px}.member-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:18px;margin:16px 0}.member-card h2{margin-top:0;color:#14532d}.member-card dl{display:grid;grid-template-columns:110px 1fr;gap:10px 14px;margin:0}.member-card dt{font-weight:900;color:#14532d}.member-card dd{margin:0;color:#1f2937}.m-auth-bar{display:none}.m-email-line{display:flex;align-items:center;justify-content:center;gap:0;color:#fff;font-size:14px;font-weight:700}.m-email-line a{font-size:14px!important}.m-admin-footer-login{display:inline-flex!important;align-items:center;justify-content:center;width:max-content;margin:3px auto 0;padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.12);color:rgba(255,255,255,.82)!important;text-decoration:none;font-size:12px!important;font-weight:800!important}
@media(max-width:700px){.form-grid-2,.form-grid-3{grid-template-columns:1fr}.span-2{grid-column:auto}.member-card dl{grid-template-columns:1fr}.member-card dt{margin-top:8px}}

@media(max-width:900px){.catalog-grid{grid-template-columns:repeat(2,1fr)}.product-summary{grid-template-columns:1fr}.price-row{grid-template-columns:1fr}.admin-table{display:block;overflow-x:auto}.market-header{align-items:flex-start;flex-direction:column}.admin-nav{gap:8px}.product-info h1{font-size:28px}}
@media(max-width:520px){.catalog-grid{grid-template-columns:1fr}.catalog-wrap,.product-detail,.form-page,.admin-page{padding:12px}.product-summary,.story-section,.catalog-hero{padding:18px}}

/* v15 모바일 전용 메인 페이지: 데스크톱 시안은 유지하고 모바일에서만 별도 UI 노출 */
.mobile-home{display:none}
@media(max-width:760px){
  body{background:#f4f8ef;color:#10251a}
  .page-shell{min-height:100vh}
  .mockup-stage{display:none!important}
  .mobile-home{display:block;width:100%;min-height:100vh;padding:14px 14px 26px;background:linear-gradient(180deg,#eef8e8 0%,#fffdf6 38%,#f4f8ef 100%)}
  .m-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr;gap:14px;min-height:360px;padding:24px 18px 18px;border-radius:28px;background:linear-gradient(145deg,#ffffff 0%,#f1f9e8 58%,#dff1d4 100%);box-shadow:0 12px 28px rgba(20,83,45,.12);border:1px solid rgba(20,83,45,.08)}
  .m-hero::before{content:"";position:absolute;right:-46px;top:-54px;width:168px;height:168px;border-radius:999px;background:rgba(255,225,128,.28)}
  .m-hero-copy{position:relative;z-index:1;text-align:left}
  .m-kicker{display:inline-flex;margin:0 0 8px;padding:7px 12px;border-radius:999px;background:#e9f5de;color:#27633a;font-weight:900;font-size:13px;letter-spacing:-.03em}
  .m-hero h1{margin:0;color:#14532d;font-size:42px;line-height:1.03;letter-spacing:-.075em;font-weight:900;text-shadow:0 1px 0 #fff}
  .m-hero-copy>p:last-child{margin:12px 0 0;color:#365944;font-size:15px;line-height:1.55;letter-spacing:-.04em;font-weight:700;max-width:290px}
  .m-market-stand{position:relative;z-index:1;margin-top:2px;padding:14px 12px 16px;border-radius:24px;background:#fffaf0;border:2px solid #d9b56a;box-shadow:inset 0 -8px 0 rgba(145,96,34,.08),0 12px 22px rgba(86,65,28,.12)}
  .m-stand-top{width:max-content;margin:-2px auto 10px;padding:7px 24px;border-radius:999px;background:#2f7b46;color:#fff8d7;font-weight:900;letter-spacing:-.04em;box-shadow:0 5px 0 #1d5c32}
  .m-shelf{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px;padding:8px;border-radius:16px;background:#f2d38b;border:1px solid #d6aa54}
  .m-shelf span{display:flex;min-height:62px;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:14px;background:linear-gradient(180deg,#fff 0%,#fff6dd 100%);font-size:24px;box-shadow:0 3px 0 rgba(103,74,21,.14)}
  .m-shelf b{font-size:11px;color:#14532d;letter-spacing:-.06em;line-height:1;font-weight:900}

  .m-auth-bar{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px 0 0;padding:10px;border-radius:18px;background:#fff;box-shadow:0 8px 18px rgba(15,23,42,.07);border:1px solid rgba(20,83,45,.08)}
  .m-auth-bar span{font-size:13px;font-weight:900;color:#14532d;letter-spacing:-.04em}.m-auth-bar a{display:inline-flex;align-items:center;justify-content:center;min-width:82px;height:36px;padding:0 12px;border-radius:999px;background:#e8f5e3;color:#14532d;text-decoration:none;font-size:14px;font-weight:900;letter-spacing:-.05em}.m-auth-bar a:last-child{background:#14532d;color:#fff}.m-auth-bar a:active,.m-auth-bar a.is-pressed{transform:translateY(2px) scale(.97)}
  .m-quick-cta{display:grid;grid-template-columns:1fr;gap:9px;margin:14px 0}
  .m-quick-cta a{display:flex;align-items:center;justify-content:center;height:48px;border-radius:16px;text-decoration:none;font-weight:900;letter-spacing:-.045em;color:#173d25;background:linear-gradient(180deg,#fff5cf 0%,#f1d98a 100%);border:1px solid rgba(97,73,28,.18);box-shadow:0 8px 0 #c19c43,0 12px 20px rgba(20,83,45,.12);transition:transform .08s ease,box-shadow .08s ease,filter .08s ease}
  .m-quick-cta a:active,.m-quick-cta a.is-pressed{transform:translateY(4px);box-shadow:0 4px 0 #c19c43,0 7px 12px rgba(20,83,45,.15);filter:brightness(.98)}
  .m-section{position:relative;margin-top:14px;padding:18px 14px;border-radius:24px;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.07);border:1px solid rgba(20,83,45,.08)}
  .m-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}
  .m-section-title h2{margin:0;color:#14532d;font-size:20px;letter-spacing:-.06em;line-height:1;font-weight:900}
  .m-section-title span,.m-section-title a{font-size:12px;color:#58705e;text-decoration:none;font-weight:800;white-space:nowrap}
  .m-category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
  .m-category-card{display:flex;min-height:86px;flex-direction:column;align-items:center;justify-content:center;gap:8px;border-radius:18px;background:#f5faef;color:#14532d;text-decoration:none;border:1px solid #dfead7;box-shadow:inset 0 -3px 0 rgba(20,83,45,.05);transition:transform .08s ease,background .08s ease}
  .m-category-card:active,.m-category-card.is-pressed{transform:translateY(2px) scale(.98);background:#e6f2dc}
  .m-cat-icon{font-size:25px;line-height:1}.m-category-card strong{font-size:13px;letter-spacing:-.06em;text-align:center}
  .m-product-section{padding-left:42px;padding-right:42px;overflow:hidden}
  .m-product-viewport{overflow:hidden;width:100%}
  .m-product-track{display:flex;gap:12px;will-change:transform;transform:translate3d(0,0,0)}
  .m-product-track.is-sliding{transition:transform .92s cubic-bezier(.22,.61,.36,1)}
  .m-product-card.product-card{flex:0 0 78%;display:flex;flex-direction:column;min-height:244px;padding:10px;border-radius:20px;background:#fff;color:#111827;text-decoration:none;box-shadow:0 8px 20px rgba(15,23,42,.10);border:1px solid #edf2e8;overflow:hidden}
  .m-product-card img{width:100%;height:142px;object-fit:cover;border-radius:15px;background:#eef5ea}
  .m-product-card strong{margin-top:10px;font-size:17px;letter-spacing:-.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .m-product-card b{margin-top:5px;color:#dc2626;font-size:18px;letter-spacing:-.03em}.m-product-card span{margin-top:5px;color:#5b655c;font-size:13px}
  .m-product-arrow{position:absolute;top:53%;z-index:4;width:34px;height:46px;border:0;border-radius:999px;background:#14532d;color:#fff;font-size:28px;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 7px 14px rgba(20,83,45,.22)}
  .m-product-arrow.product-arrow-prev{left:7px}.m-product-arrow.product-arrow-next{right:7px}.m-product-arrow:active,.m-product-arrow.is-pressed{transform:translateY(2px) scale(.96);filter:brightness(.92)}
  .m-partner-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .m-partner-list a{display:flex;min-height:48px;align-items:center;justify-content:center;padding:8px;border-radius:14px;background:#f5faef;color:#14532d;text-decoration:none;font-size:13px;font-weight:900;letter-spacing:-.05em;text-align:center;border:1px solid #dfead7;transition:transform .08s ease}
  .m-partner-list a:active,.m-partner-list a.is-pressed{transform:translateY(2px) scale(.98)}
  .m-footer{display:grid;gap:7px;margin-top:14px;padding:20px 16px;border-radius:24px;background:#14532d;color:#fff;text-align:center;box-shadow:0 10px 22px rgba(20,83,45,.18)}
  .m-footer strong{font-size:19px;letter-spacing:-.06em}.m-footer a{color:#fff;text-decoration:none;font-size:14px;font-weight:700}.m-kakao{display:inline-flex!important;align-items:center;justify-content:center;width:max-content;margin:6px auto 0;padding:8px 14px;border-radius:999px;background:#fee500;color:#191919!important;font-weight:900!important}
}
@media(max-width:360px){.m-hero h1{font-size:36px}.m-category-grid{grid-template-columns:repeat(2,1fr)}.m-product-card.product-card{flex-basis:84%}.m-product-section{padding-left:36px;padding-right:36px}}

.code-box{white-space:pre-wrap;word-break:break-all;background:#10251b;color:#f7fff9;border-radius:12px;padding:16px;line-height:1.7;font-size:14px;overflow:auto}
.success-box{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0;padding:12px;border-radius:10px}

/* v21 상품 쇼츠 기능 */
.product-card-media,.m-product-card-media,.shorts-preview,.youtube-shorts-thumb{display:block;width:100%;height:53%;object-fit:cover;border-radius:.72vw;background:#eef5ea;overflow:hidden}
.youtube-shorts-thumb{position:relative;background-size:cover;background-position:center center}
.youtube-shorts-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.28))}
.shorts-play-mark{position:absolute;left:50%;top:50%;z-index:2;display:flex;align-items:center;justify-content:center;width:2.1vw;height:2.1vw;transform:translate(-50%,-50%);border-radius:999px;background:rgba(255,255,255,.88);color:#14532d;font-size:.9vw;font-weight:900;box-shadow:0 .25vw .7vw rgba(0,0,0,.22)}
.product-card img.product-card-media{height:53%}
.product-card video{pointer-events:none}
.admin-fieldset{border:1px solid #dbe8d5;border-radius:14px;padding:16px;background:#fbfdf8}.admin-fieldset legend{padding:0 8px;color:#14532d;font-weight:900}.admin-video-preview video{max-width:220px;width:100%;border-radius:12px;background:#111}.main-detail-video{width:100%;aspect-ratio:9/16;max-height:680px;border:0;border-radius:16px;background:#111;object-fit:cover}.youtube-detail-frame{display:block}
.catalog-card .product-card-media{height:auto;aspect-ratio:1.2/1;border-radius:12px}.catalog-card .youtube-shorts-thumb{height:auto;aspect-ratio:1.2/1;border-radius:12px}.catalog-card .shorts-play-mark{width:42px;height:42px;font-size:16px}
@media(max-width:760px){.product-card-media,.m-product-card-media,.shorts-preview,.youtube-shorts-thumb{height:142px;border-radius:15px}.shorts-play-mark{width:42px;height:42px;font-size:16px}.m-product-card.product-card video,.m-product-card.product-card .youtube-shorts-thumb{width:100%;height:142px;object-fit:cover;border-radius:15px}.main-detail-video{max-height:560px}}

/* v22 관리자 쇼츠제작실 */
.admin-panel{margin:18px 0;padding:20px;border-radius:18px;background:#fff;border:1px solid #dfead7;box-shadow:0 8px 22px rgba(15,23,42,.06)}
.admin-panel h2{margin:0 0 10px;color:#14532d;letter-spacing:-.05em}.admin-panel h3{margin:16px 0 8px;color:#173d25;letter-spacing:-.04em}
.shorts-studio-panel .market-form{max-width:960px}.shorts-result-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:18px;align-items:start}.scene-list{display:grid;gap:10px;padding-left:22px}.scene-list li{padding:12px;border-radius:14px;background:#f5faef;border:1px solid #dfead7}.scene-list strong{display:block;color:#14532d;margin-bottom:4px}.scene-list span{display:block;line-height:1.55;color:#374151}.inline-form{margin:12px 0}.table-action-form{margin:0}.table-action-form button{border:0;border-radius:999px;background:#e8f5e3;color:#14532d;padding:7px 12px;font-weight:900;cursor:pointer}.admin-generated-video{display:block;width:100%;max-width:320px;aspect-ratio:9/16;border-radius:16px;background:#111;object-fit:cover}.admin-help-list{line-height:1.8;color:#374151}.admin-help-list li{margin:4px 0}
@media(max-width:900px){.shorts-result-grid{grid-template-columns:1fr}.admin-generated-video{max-width:100%}}

/* v23 local shorts renderer */
.local-render-box{margin-top:18px;padding:18px;border:1px solid #d9e8d5;border-radius:18px;background:#f7fbf3}
.local-render-box h3{margin:0 0 8px;color:#174f31}
.local-render-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:12px 0}
.local-render-progress{width:100%;height:11px;background:#e2ecd9;border-radius:99px;overflow:hidden;margin:12px 0}
.local-render-progress span{display:block;width:0;height:100%;background:#2f7d45;transition:width .2s ease}
.table-mini-link{display:inline-block;padding:6px 10px;border-radius:999px;background:#edf5e9;color:#245a37;text-decoration:none;font-size:13px;font-weight:700}
.table-mini-link:hover{background:#dcefd6}
.admin-actions-cell{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-actions-cell .inline-form{margin:0}.table-danger-link{border:0;background:transparent;color:#9f1239;font-weight:900;cursor:pointer;padding:0}.price-inquiry-check b{color:#be123c}.buy-button[disabled]{opacity:.55;cursor:not-allowed}.ghost-button.small{padding:9px 14px;font-size:14px}.admin-table input[type=checkbox]{width:auto}.catalog-card b,.product-price,.detail-price{letter-spacing:-.03em}

/* v28 removed MP4 converter styles kept harmless for backward compatibility */
.converter-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
.converter-box{border:1px solid rgba(8,80,42,.14);border-radius:18px;padding:18px;background:#fff}
.admin-help-box{margin-top:18px;border-radius:18px;background:#f5faf6;padding:18px;border:1px solid rgba(8,80,42,.12)}
@media(max-width:800px){.converter-grid{grid-template-columns:1fr}.converter-box{padding:14px}}

/* v29 Coupang-style product detail page */
.product-detail-body{background:#f3f6f2;color:#111827}
.detail-topbar{background:#fff;border-bottom:1px solid #e5e7eb;max-width:none;padding-left:max(18px,calc((100vw - 1180px)/2));padding-right:max(18px,calc((100vw - 1180px)/2));box-shadow:0 2px 10px rgba(15,23,42,.04)}
.detail-topnav{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.detail-topnav a{color:#14532d;text-decoration:none;font-weight:800;font-size:14px}.coupang-style-detail{max-width:1180px;padding:18px;margin:0 auto}.detail-breadcrumb{display:flex;align-items:center;gap:8px;margin:6px 0 14px;color:#6b7280;font-size:14px}.detail-breadcrumb a{color:#4b5563;text-decoration:none}.detail-breadcrumb strong{color:#14532d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-commerce-panel{display:grid;grid-template-columns:minmax(330px,.92fr) minmax(360px,1fr) 280px;gap:22px;background:#fff;border-radius:18px;padding:24px;box-shadow:0 14px 38px rgba(15,23,42,.08);border:1px solid #e6eee2}.detail-gallery-panel{min-width:0}.detail-main-media{position:relative;width:100%;aspect-ratio:1/1;border:1px solid #e5e7eb;border-radius:16px;background:#f8fbf6;display:flex;align-items:center;justify-content:center;overflow:hidden}.detail-main-media .main-detail-image{width:100%;height:100%;object-fit:contain;border-radius:0;background:#f8fbf6}.detail-main-media .main-detail-video{width:100%;height:100%;max-height:none;aspect-ratio:auto;border-radius:0;object-fit:contain;background:#111}.detail-thumb-list{display:flex;gap:8px;margin-top:12px;overflow-x:auto;padding-bottom:4px}.detail-thumb{position:relative;flex:0 0 74px;width:74px;height:74px;border:2px solid #e5e7eb;background:#fff;border-radius:12px;padding:0;overflow:hidden;cursor:pointer}.detail-thumb img{width:100%;height:100%;object-fit:cover;border-radius:9px}.detail-thumb.is-active{border-color:#166534;box-shadow:0 0 0 3px rgba(22,101,52,.12)}.thumb-video-mark{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:28px;height:28px;border-radius:999px;background:rgba(255,255,255,.88);color:#14532d;font-size:12px;display:flex;align-items:center;justify-content:center;font-weight:900}.detail-info-panel{min-width:0}.detail-badge-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.detail-badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}.detail-badge.green{background:#166534;color:#fff}.detail-badge.soft{background:#e8f5e3;color:#14532d}.detail-badge.donation{background:#fff7ed;color:#c2410c}.detail-info-panel h1{font-size:30px;line-height:1.22;letter-spacing:-.055em;margin:0 0 12px;color:#111827}.detail-short-desc{font-size:16px;line-height:1.65;color:#4b5563;margin:0 0 14px}.detail-rating-line{display:flex;align-items:center;gap:8px;padding:11px 0;border-top:1px solid #eef2eb;border-bottom:1px solid #eef2eb;color:#4b5563;font-size:13px}.detail-rating-line .stars{color:#f59e0b;letter-spacing:-.06em}.detail-rating-line strong{color:#14532d}.detail-rating-line em{font-style:normal}.detail-price-box{padding:18px 0;border-bottom:1px solid #eef2eb}.price-label{display:block;font-size:13px;color:#6b7280;font-weight:800;margin-bottom:4px}.coupang-price.detail-price{display:block;margin:0;color:#e11d48;font-size:34px;font-weight:950;letter-spacing:-.06em}.detail-price-box p{margin:8px 0 0;color:#6b7280;font-size:13px;line-height:1.5}.detail-benefit-grid{display:grid;grid-template-columns:1fr;gap:8px;margin:16px 0}.detail-benefit-grid div{display:grid;grid-template-columns:70px 1fr;gap:10px;align-items:center;background:#f8fbf6;border:1px solid #e6eee2;border-radius:12px;padding:10px 12px}.detail-benefit-grid b{color:#14532d;font-size:14px}.detail-benefit-grid span{color:#374151;font-size:14px}.detail-seller-card{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding:13px 14px;border-radius:13px;background:#fff;border:1px solid #e5e7eb}.detail-seller-card span{color:#6b7280;font-size:13px}.detail-seller-card strong{color:#111827}.detail-seller-card em{font-style:normal;color:#4b5563;font-size:13px}.detail-purchase-card{min-width:0}.purchase-card-inner{position:sticky;top:18px;border:1px solid #dbe8d5;border-radius:16px;padding:18px;background:#fbfdf8;box-shadow:0 12px 28px rgba(20,83,45,.09)}.purchase-kicker{margin:0 0 8px;color:#166534;font-weight:900;font-size:13px}.purchase-card-inner h2{margin:0 0 12px;font-size:17px;line-height:1.35;letter-spacing:-.04em}.purchase-price{display:block;color:#e11d48;font-size:24px;letter-spacing:-.05em;margin-bottom:12px}.purchase-mini-info{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #e5e7eb;padding:10px 0;font-size:13px}.purchase-mini-info span{color:#6b7280}.purchase-mini-info b{color:#111827;text-align:right}.buy-button.full,.ghost-button.full{width:100%;box-sizing:border-box;margin-top:10px}.buy-button.full.small{padding:11px 14px}.purchase-note{font-size:12px;color:#6b7280;line-height:1.5;margin:12px 0 0}.detail-tabbar{position:sticky;top:0;z-index:12;display:flex;gap:0;margin:18px 0;background:#fff;border:1px solid #e5e7eb;border-radius:14px;overflow:hidden;box-shadow:0 6px 18px rgba(15,23,42,.05)}.detail-tabbar a{flex:1;text-align:center;padding:14px 10px;color:#14532d;text-decoration:none;font-weight:900;border-right:1px solid #e5e7eb}.detail-tabbar a:last-child{border-right:0}.detail-tabbar a:hover{background:#f3faf0}.detail-content-layout{display:grid;grid-template-columns:1fr 260px;gap:18px}.detail-content-main{min-width:0}.detail-section{background:#fff;border-radius:18px;padding:28px;margin-bottom:18px;box-shadow:0 12px 34px rgba(15,23,42,.06);border:1px solid #e6eee2}.detail-section h2{margin:0 0 10px;color:#14532d;font-size:24px;letter-spacing:-.05em}.section-lead{margin:0 0 18px;color:#6b7280;line-height:1.65}.detail-wide-image{border-radius:16px;background:#f8fbf6;border:1px solid #e5e7eb;overflow:hidden;margin-bottom:18px}.detail-wide-image img{display:block;width:100%;max-height:620px;object-fit:contain;background:#f8fbf6}.story-rich-box{display:grid;gap:12px}.story-rich-item{padding:18px;border-radius:16px;background:linear-gradient(135deg,#f8fbf6,#fff);border:1px solid #e6eee2}.story-rich-item span{display:inline-flex;margin-bottom:8px;color:#166534;font-weight:950;font-size:12px;letter-spacing:.06em}.story-rich-item p{margin:0;color:#1f2937;line-height:1.85;font-size:16px}.detail-info-table{width:100%;border-collapse:collapse;border-top:2px solid #14532d}.detail-info-table th,.detail-info-table td{padding:14px 16px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top}.detail-info-table th{width:170px;background:#f5faef;color:#14532d}.guide-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.guide-cards div{border:1px solid #e6eee2;border-radius:15px;padding:16px;background:#fbfdf8}.guide-cards strong{color:#14532d}.guide-cards p{margin:8px 0 0;color:#4b5563;line-height:1.6}.detail-side-sticky{min-width:0}.side-summary-card{position:sticky;top:76px;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:16px;box-shadow:0 10px 24px rgba(15,23,42,.06)}.side-summary-card strong{display:block;font-size:15px;line-height:1.4}.side-summary-card span{display:block;color:#e11d48;font-size:20px;font-weight:950;margin:8px 0}.related-product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.related-card{box-shadow:none;border:1px solid #e6eee2}.related-card img{aspect-ratio:1.15/1}
@media(max-width:1040px){.product-commerce-panel{grid-template-columns:1fr 1fr}.detail-purchase-card{grid-column:1/-1}.purchase-card-inner{position:static;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.purchase-card-inner h2,.purchase-price,.purchase-kicker,.purchase-note{grid-column:1}.purchase-card-inner .buy-button,.purchase-card-inner .ghost-button{grid-column:2;width:180px;margin-top:0}.purchase-mini-info{display:none}.detail-content-layout{grid-template-columns:1fr}.detail-side-sticky{display:none}}
@media(max-width:760px){.coupang-style-detail{padding:10px}.detail-topbar{padding:14px 12px}.detail-topnav{gap:10px}.product-commerce-panel{grid-template-columns:1fr;padding:14px;border-radius:14px;gap:16px}.detail-main-media{aspect-ratio:1/1}.detail-info-panel h1{font-size:24px}.coupang-price.detail-price{font-size:28px}.detail-tabbar{overflow-x:auto;top:0;border-radius:12px}.detail-tabbar a{min-width:104px;font-size:14px;padding:12px 8px}.detail-section{padding:18px;border-radius:14px}.guide-cards,.related-product-grid{grid-template-columns:1fr}.detail-info-table th{width:105px}.detail-info-table th,.detail-info-table td{padding:12px 10px;font-size:14px}.purchase-card-inner{display:block}.purchase-card-inner .buy-button,.purchase-card-inner .ghost-button{width:100%;margin-top:10px}.main-detail-video.detail-hero-video{max-height:none}.detail-thumb{flex-basis:64px;width:64px;height:64px}}

.admin-action-row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin:12px 0 8px;
}
.admin-action-row form{ margin:0; }


/* v36: 하단 푸터 전체 재구성 - 이미지 덧칠 대신 HTML/CSS 구조로 안정화 */
.desktop-footer-redesign{
  position:absolute;
  left:0;
  top:88.58%;
  width:100%;
  height:11.42%;
  z-index:8;
  display:grid;
  grid-template-columns:46.4% 15.1% 15.6% 22.9%;
  grid-template-rows:74% 26%;
  background:#004c22;
  color:#fff;
  overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16), inset 0 4px 14px rgba(0,0,0,.10);
  font-family:"Noto Sans CJK KR","NanumGothic",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
}
.desktop-footer-redesign a{
  color:inherit;
  text-decoration:none;
  -webkit-tap-highlight-color:transparent;
}
.df-brand{
  grid-column:1;
  grid-row:1 / span 2;
  position:relative;
  display:grid;
  grid-template-columns:10.5% 1fr;
  grid-template-rows:66% 34%;
  align-items:center;
  padding:1.05% 4.2% 0 4.1%;
  background:#004c22;
  border-right:1px solid rgba(255,255,255,.15);
}
.df-brand img{
  grid-row:1;
  grid-column:1;
  width:5.1vw;
  max-width:82px;
  min-width:44px;
  height:auto;
  align-self:center;
  justify-self:center;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.18));
}
.df-brand-copy{
  grid-row:1;
  grid-column:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding-left:1.05vw;
}
.df-brand-copy strong{
  display:block;
  font-size:2.45vw;
  line-height:.95;
  font-weight:900;
  letter-spacing:-.095em;
  white-space:nowrap;
  text-shadow:0 1px 1px rgba(0,0,0,.25);
}
.df-brand-copy span{
  display:block;
  margin-top:.66vw;
  font-size:1.16vw;
  line-height:1.05;
  font-weight:500;
  letter-spacing:-.07em;
  color:rgba(233,251,238,.92);
  white-space:nowrap;
}
.df-brand-copy::after{
  content:"";
  display:block;
  width:100%;
  max-width:18vw;
  height:1px;
  margin-top:.56vw;
  background:rgba(255,255,255,.26);
}
.df-brand p{
  grid-column:1 / span 2;
  grid-row:2;
  align-self:center;
  margin:0;
  font-size:.98vw;
  line-height:1.18;
  color:rgba(230,247,235,.88);
  letter-spacing:-.06em;
  white-space:nowrap;
}
.df-contact{
  grid-row:1;
  display:flex;
  align-items:center;
  gap:1.0vw;
  min-width:0;
  padding:0 1.55vw;
  border-right:1px solid rgba(255,255,255,.13);
  background:#004c22;
  transition:transform .08s ease, background-color .08s ease, box-shadow .08s ease;
}
.df-contact:hover,.df-contact:focus-visible{
  background:#075c2c;
  outline:0;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.10);
}
.df-contact:active,.df-contact.is-pressed{
  transform:translateY(2px) scale(.992);
  background:#003e1c;
}
.df-kakao{grid-column:2}
.df-email{grid-column:3}
.df-icon{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.df-kakao-icon{
  width:3.25vw;
  height:3.25vw;
  max-width:48px;
  max-height:48px;
  min-width:31px;
  min-height:31px;
  border:2px solid #f2d324;
  color:#f2d324;
  border-radius:50%;
  font-size:.72vw;
  font-weight:900;
  line-height:1;
  position:relative;
}
.df-kakao-icon::after{
  content:"";
  position:absolute;
  right:.16vw;
  bottom:-.33vw;
  width:.62vw;
  height:.62vw;
  border-left:2px solid #f2d324;
  border-bottom:2px solid #f2d324;
  transform:rotate(-25deg);
  background:#004c22;
}
.df-mail-icon{
  width:3.15vw;
  height:2.35vw;
  max-width:46px;
  max-height:34px;
  min-width:31px;
  min-height:23px;
  border:2px solid rgba(240,255,244,.92);
  border-radius:.28vw;
  position:relative;
}
.df-mail-icon::before,
.df-mail-icon::after{
  content:"";
  position:absolute;
  top:48%;
  width:58%;
  height:2px;
  background:rgba(240,255,244,.92);
}
.df-mail-icon::before{
  left:0;
  transform:rotate(31deg);
  transform-origin:left center;
}
.df-mail-icon::after{
  right:0;
  transform:rotate(-31deg);
  transform-origin:right center;
}
.df-contact-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
}
.df-contact-copy strong{
  display:block;
  font-size:1.45vw;
  line-height:1.05;
  font-weight:900;
  letter-spacing:-.07em;
  white-space:nowrap;
}
.df-contact-copy em{
  display:block;
  margin-top:.55vw;
  font-style:normal;
  color:rgba(222,246,230,.86);
  font-size:.93vw;
  line-height:1.05;
  font-weight:500;
  letter-spacing:-.045em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.df-actions{
  grid-column:4;
  grid-row:1 / span 2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:12%;
  padding:1.18% 4.7% 1.1% 4.4%;
  background:#004c22;
}
.df-actions a{
  display:flex;
  align-items:center;
  justify-content:center;
  height:34%;
  min-height:33px;
  border-radius:.75vw;
  border:1px solid rgba(66,108,36,.35);
  background:linear-gradient(180deg,#fff2b7 0%,#ffe591 100%);
  color:#064f26;
  font-size:1.26vw;
  line-height:1;
  font-weight:900;
  letter-spacing:-.055em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65), 0 2px 4px rgba(0,0,0,.18);
  transition:transform .08s ease,box-shadow .08s ease,filter .08s ease;
  white-space:nowrap;
}
.df-actions a::before{
  content:"";
  display:inline-block;
  width:.52vw;
  height:.52vw;
  min-width:6px;
  min-height:6px;
  margin-right:.72vw;
  border-radius:50%;
  background:#489448;
  box-shadow:.54vw 0 0 #79ae45;
}
.df-actions a:hover,.df-actions a:focus-visible{
  filter:brightness(1.035);
  outline:0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75), 0 3px 7px rgba(0,0,0,.24);
}
.df-actions a:active,.df-actions a.is-pressed{
  transform:translateY(2px) scale(.992);
  box-shadow:inset 0 2px 5px rgba(0,0,0,.22);
}
.df-bottom-links{
  grid-column:2 / span 2;
  grid-row:2;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:2.05vw;
  min-width:0;
  background:#004c22;
  border-top:1px solid rgba(255,255,255,.08);
}
.df-bottom-links a{
  font-size:.72vw;
  line-height:1;
  color:rgba(232,248,237,.70);
  letter-spacing:-.05em;
  white-space:nowrap;
}
.df-bottom-links a:hover,.df-bottom-links a:focus-visible{
  color:rgba(255,255,255,.96);
  outline:0;
}
.df-admin-login{
  display:inline-flex;
  align-items:center;
  gap:.22vw;
}
.df-admin-login::before{
  content:"";
  display:inline-block;
  width:.47vw;
  height:.47vw;
  border:.06vw solid rgba(232,248,237,.62);
  border-radius:50%;
  box-shadow:0 .37vw 0 -.17vw rgba(232,248,237,.62);
}

@media(max-width:720px){
  .desktop-footer-redesign{display:none}
}


/* v37: 하단 상호 조밀감 완화 및 빈 공간 확장 사용 */
.desktop-footer-redesign{
  grid-template-columns: 48.5% 14.5% 14.5% 22.5%;
}
.df-brand{
  grid-template-columns: 11% 1fr;
  padding: 0.85% 3.4% 0 3.4%;
}
.df-brand img{
  width: 5.35vw;
  max-width: 86px;
}
.df-brand-copy{
  padding-left: 1.2vw;
}
.df-brand-copy strong{
  font-size: 2.32vw;
  line-height: .98;
  letter-spacing: -0.045em;
}
.df-brand-copy span{
  margin-top: .78vw;
  font-size: 1.08vw;
  letter-spacing: -0.03em;
}
.df-brand-copy::after{
  max-width: 21vw;
  margin-top: .68vw;
}
.df-brand p{
  font-size: 1vw;
  letter-spacing: -0.035em;
}
@media (min-width: 1400px){
  .df-brand-copy strong{font-size: 33px;}
  .df-brand-copy span{font-size: 15px;}
  .df-brand p{font-size: 14px;}
}


/* v38: 하단 좌측 빈 공간에 연계 사이트 바로가기 2개 추가 */
.df-brand{
  grid-template-columns:10.5% 51.5% 38%;
  grid-template-rows:72% 28%;
  padding-right:2.1%;
}
.df-brand img{
  grid-column:1;
  grid-row:1;
}
.df-brand-copy{
  grid-column:2;
  grid-row:1;
  padding-left:1.05vw;
  padding-right:.8vw;
}
.df-brand-copy strong{
  font-size:2.05vw;
  letter-spacing:-.042em;
}
.df-brand-copy span{
  font-size:.96vw;
  letter-spacing:-.025em;
  margin-top:.65vw;
}
.df-brand-copy::after{
  max-width:16vw;
  margin-top:.55vw;
}
.df-brand-links{
  grid-column:3;
  grid-row:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:10%;
  min-width:0;
  padding-left:1.15vw;
}
.df-brand-links a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  height:34%;
  min-height:27px;
  padding:0 .7vw;
  border:1px solid rgba(66,108,36,.34);
  border-radius:.62vw;
  background:linear-gradient(180deg,#fff2b7 0%,#ffe591 100%);
  color:#064f26;
  font-size:.88vw;
  line-height:1;
  font-weight:900;
  letter-spacing:-.05em;
  white-space:nowrap;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.68),0 2px 4px rgba(0,0,0,.18);
  transition:transform .08s ease,box-shadow .08s ease,filter .08s ease;
}
.df-brand-links a::before{
  content:"";
  display:inline-block;
  width:.4vw;
  height:.4vw;
  min-width:5px;
  min-height:5px;
  margin-right:.58vw;
  border-radius:50%;
  background:#489448;
  box-shadow:.42vw 0 0 #79ae45;
}
.df-brand-links a:hover,.df-brand-links a:focus-visible{
  filter:brightness(1.035);
  outline:0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.76),0 3px 7px rgba(0,0,0,.24);
}
.df-brand-links a:active,.df-brand-links a.is-pressed{
  transform:translateY(2px) scale(.992);
  box-shadow:inset 0 2px 5px rgba(0,0,0,.22);
}
.df-brand p{
  grid-column:1 / span 3;
  grid-row:2;
  font-size:.92vw;
}
@media (min-width:1400px){
  .df-brand-copy strong{font-size:30px;}
  .df-brand-copy span{font-size:14px;}
  .df-brand-links a{font-size:13px;}
  .df-brand p{font-size:13px;}
}


/* v39: 연계사이트 버튼을 우측 스마트스토어 버튼과 동일 규격으로 통일 */
.df-brand-links{
  justify-content:center;
  gap:12%;
  padding-left:1.05vw;
  padding-right:.15vw;
}
.df-brand-links a{
  height:34%;
  min-height:33px;
  padding:0 .75vw;
  border-radius:.75vw;
  font-size:1.26vw;
  line-height:1;
  font-weight:900;
  letter-spacing:-.055em;
}
.df-brand-links a::before{
  width:.52vw;
  height:.52vw;
  min-width:6px;
  min-height:6px;
  margin-right:.72vw;
  box-shadow:.54vw 0 0 #79ae45;
}
@media (min-width:1400px){
  .df-brand-links a{font-size:18px;}
}


/* v40: 좌측 연계사이트 버튼 상하 간격을 우측 CTA 간격과 동일 수준으로 조정 */
.df-brand-links{
  gap: 12%;
  justify-content: center;
  padding-top: 1.18%;
  padding-bottom: 1.1%;
}
.df-brand-links a{
  height: 34%;
  min-height: 33px;
}

/* v41 문화기프트 상품 일괄 수집 */
.import-panel,.import-preview,.import-history{margin:20px 0;padding:20px;background:#fff;border:1px solid #dfe8e2;border-radius:16px;box-shadow:0 8px 22px rgba(20,83,45,.06)}
.importer-form textarea{font-family:inherit}.import-controls{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:14px 0;padding:12px;background:#f3f8f4;border-radius:12px}.import-controls label{display:flex;align-items:center;gap:7px;margin:0;font-weight:700}.import-controls select{min-width:250px;padding:8px}.import-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.import-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid #dce7df;border-radius:14px;background:#fff;min-width:0}.import-card.is-imported{background:#f1f8f3;opacity:.78}.import-card img,.import-no-image{width:100%;aspect-ratio:1/1;object-fit:contain;border-radius:10px;background:#f6f7f6}.import-no-image{display:flex;align-items:center;justify-content:center;color:#64748b}.import-card h3{margin:0;font-size:16px;line-height:1.35}.import-card p{margin:0;color:#64748b;font-size:13px;line-height:1.45;min-height:38px}.import-card a{font-size:13px;color:#166534;font-weight:800}.import-select{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:800}.source-product-link{margin-top:8px}@media(max-width:1100px){.import-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.import-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.import-controls{align-items:stretch;flex-direction:column}.import-controls label{width:100%}.import-controls select{width:100%;min-width:0}}

/* v41.1 이미지 수집 보완 */
.image-repair-form{display:flex;align-items:center;gap:10px;margin:10px 0 16px}
.import-error{display:block;color:#b42318;background:#fff1f0;border-radius:8px;padding:7px;font-size:11px;line-height:1.4}

/* v41.2 문화기프트 수집 삭제·20개 등록 */
.danger-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #dc2626;background:#fff;color:#b91c1c;border-radius:10px;padding:10px 14px;font-weight:900;cursor:pointer}
.danger-button:hover{background:#fff1f2}
.danger-button.small{padding:8px 12px;font-size:13px}
.import-delete-product-form{margin:2px 0 0}
.import-delete-product-form button{padding:0;border:0;background:transparent;cursor:pointer}


/* v42 상품관리 추천상품 즉시 ON/OFF */
.recommend-toggle-cell{min-width:112px}
.recommend-toggle-form{display:inline-flex}
.recommend-toggle-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-width:96px;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid #cbd5e1;
  background:#fff;
  color:#475569;
  font-size:12px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  transition:transform .08s ease,background-color .08s ease,border-color .08s ease,box-shadow .08s ease;
}
.recommend-toggle-button.is-on{
  border-color:#e7a700;
  background:#fff7d6;
  color:#8a5700;
  box-shadow:0 2px 6px rgba(138,87,0,.12);
}
.recommend-toggle-button.is-off:hover{
  border-color:#e7a700;
  color:#8a5700;
  background:#fffdf3;
}
.recommend-toggle-button:hover,
.recommend-toggle-button:focus-visible{
  outline:0;
  transform:translateY(-1px);
  box-shadow:0 3px 8px rgba(15,23,42,.12);
}
.recommend-toggle-button:active{
  transform:translateY(1px) scale(.98);
}
.recommend-toggle-icon{font-size:16px;line-height:1}
@media(max-width:760px){
  .recommend-toggle-button{min-width:88px;padding:7px 8px;font-size:11px}
}


/* v43 문화기프트 상품상세 이미지 전체 수집 */
.imported-detail-images{
  width:100%;
  max-width:860px;
  margin:18px auto 28px;
  overflow:hidden;
  background:#fff;
}
.imported-detail-images img{
  display:block;
  width:100%;
  height:auto;
  margin:0;
  object-fit:contain;
}
.detail-image-admin{margin-top:18px}
.detail-image-admin-list{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:14px 0;
}
.detail-image-admin-item{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:10px;
  border:1px solid #dfe8e2;
  border-radius:12px;
  background:#f8fbf9;
}
.detail-image-admin-item img{
  display:block;
  width:100%;
  height:190px;
  object-fit:contain;
  background:#fff;
  border-radius:8px;
}
.detail-image-admin-item button{
  border:0;
  background:transparent;
  cursor:pointer;
}
.detail-refetch-trigger{margin:8px 0 4px}
@media(max-width:900px){
  .detail-image-admin-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .detail-image-admin-list{grid-template-columns:1fr}
  .detail-image-admin-item img{height:auto;max-height:420px}
  .imported-detail-images{max-width:100%}
}


/* v44 상품관리 추천 체크박스 및 행 위치 유지 */
.recommend-check-cell{
  width:54px;
  min-width:54px;
  text-align:center;
  vertical-align:middle;
}
.recommend-check-form{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.recommend-check-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  margin:0;
  cursor:pointer;
}
.recommend-check-input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.recommend-check-box{
  position:relative;
  display:block;
  width:18px;
  height:18px;
  border:2px solid #94a3b8;
  border-radius:3px;
  background:#fff;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.07);
  transition:background-color .1s ease,border-color .1s ease,transform .08s ease,box-shadow .1s ease;
}
.recommend-check-label:hover .recommend-check-box{
  border-color:#138a46;
  box-shadow:0 0 0 3px rgba(19,138,70,.10);
}
.recommend-check-input:focus-visible + .recommend-check-box{
  outline:3px solid rgba(19,138,70,.22);
  outline-offset:2px;
}
.recommend-check-input:checked + .recommend-check-box{
  border-color:#08783a;
  background:#08783a;
}
.recommend-check-input:checked + .recommend-check-box::after{
  content:"";
  position:absolute;
  left:4px;
  top:0px;
  width:5px;
  height:10px;
  border:solid #fff;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}
.recommend-check-label:active .recommend-check-box{
  transform:scale(.9);
}
.product-admin-row{
  scroll-margin-top:90px;
  transition:background-color .35s ease,box-shadow .35s ease;
}
.product-admin-row.recommend-row-highlight{
  background:#ecfdf3 !important;
  box-shadow:inset 4px 0 0 #138a46;
}


/* v45 상세이미지가 없을 때 기본설명·구매문의 안내 */
.basic-product-description{
  max-width:860px;
  margin:22px auto 28px;
  padding:28px;
  border:1px solid #dfe8e2;
  border-radius:18px;
  background:#fff;
  color:#334155;
  line-height:1.75;
}
.basic-product-description h3{
  margin:0 0 12px;
  color:#14532d;
  font-size:22px;
  letter-spacing:-.055em;
}
.basic-product-description > p{
  margin:0;
  white-space:pre-line;
}
.detail-purchase-inquiry{
  margin-top:22px;
  padding:20px;
  border-radius:14px;
  background:#f0f8f2;
  border:1px solid #cfe4d5;
}
.detail-purchase-inquiry strong{
  display:block;
  color:#14532d;
  font-size:18px;
  letter-spacing:-.04em;
}
.detail-purchase-inquiry p{
  margin:7px 0 14px;
  color:#52635a;
}
@media(max-width:600px){
  .basic-product-description{padding:20px 16px;border-radius:14px}
  .basic-product-description h3{font-size:19px}
  .detail-purchase-inquiry{padding:16px}
}


/* v47 문화기프트 Cron 자동수집 */
.cron-source-form,.cron-source-list,.cron-log-list,.cron-help{margin:20px 0;padding:20px;background:#fff;border:1px solid #dfe8e2;border-radius:16px;box-shadow:0 8px 22px rgba(20,83,45,.06)}
.cron-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.cron-card{padding:16px;border:1px solid #dfe8e2;border-radius:14px;background:#fff}
.cron-card.is-enabled{border-left:5px solid #138a46}
.cron-card.is-paused{border-left:5px solid #94a3b8;background:#f8fafc}
.cron-card header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.cron-card header strong{font-size:18px;color:#14532d}
.cron-card header span{font-size:12px;font-weight:900;padding:5px 9px;border-radius:999px;background:#edf7f0;color:#166534}
.cron-card.is-paused header span{background:#e2e8f0;color:#475569}
.cron-card dl{display:grid;grid-template-columns:110px 1fr;gap:7px 10px;margin:14px 0;font-size:13px}
.cron-card dt{font-weight:900;color:#475569}.cron-card dd{margin:0}
.cron-message{min-height:38px;padding:10px;border-radius:9px;background:#f3f8f4;color:#475569;font-size:13px;line-height:1.45}
.cron-source-url{display:block;margin:8px 0;color:#166534;font-weight:800;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cron-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}
.cron-actions form{margin:0}
.cron-help code{display:block;overflow:auto;padding:12px;border-radius:10px;background:#0f172a;color:#d1fae5}
.check-line{display:flex!important;align-items:center;gap:8px}
@media(max-width:900px){.cron-cards{grid-template-columns:1fr}}


/* v48 추천상품 자동 슬라이드 */
.product-slider,.m-product-section{touch-action:pan-y}
.product-track,.m-product-track{backface-visibility:hidden}


/* v49 추천상품 연속 무한 슬라이드 */
.product-track,
.m-product-track{
  flex-wrap:nowrap;
  transition:none !important;
  backface-visibility:hidden;
  transform-style:preserve-3d;
}
.product-track.is-sliding,
.m-product-track.is-sliding{
  transition:none !important;
}
.product-track > *,
.m-product-track > *{
  flex-shrink:0;
}

/* v50 입점신청·승인업체 자동등록 */
.approved-partner-overlay{position:absolute;left:4.2%;top:67.7%;width:66.7%;height:11.2%;z-index:6;display:grid;grid-template-columns:repeat(6,1fr);gap:.45vw}
.approved-partner-overlay>a,.approved-partner-overlay>div{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;padding:.55vw;border-radius:.75vw;background:rgba(255,255,255,.96);border:1px solid rgba(50,120,63,.22);color:#14532d;text-decoration:none;text-align:center;box-shadow:0 2px 6px rgba(20,83,45,.08)}
.approved-partner-overlay strong{font-size:.94vw;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.approved-partner-overlay span{margin-top:.32vw;font-size:.66vw;color:#64748b;line-height:1.2;max-height:2.4em;overflow:hidden}
.partner-apply-page{max-width:980px}.partner-application-form fieldset{margin:18px 0;padding:18px;border:1px solid #dfe8e2;border-radius:14px}.partner-application-form legend{padding:0 8px;font-weight:900;color:#14532d}.honeypot-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.application-complete{text-align:center;padding:40px 20px}.application-complete strong{color:#14532d}
.public-partners-page{max-width:1100px;margin:30px auto;padding:20px}.public-partners-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.public-partners-grid article{padding:20px;border:1px solid #dfe8e2;border-radius:14px;background:#fff}.public-partners-grid strong{display:block;color:#14532d;font-size:18px}.public-partners-grid span{display:block;margin-top:8px;color:#64748b}
.partner-application-admin-list{display:grid;gap:16px}.partner-application-admin-card{padding:18px;border:1px solid #dfe8e2;border-left:5px solid #94a3b8;border-radius:14px;background:#fff}.partner-application-admin-card.status-approved{border-left-color:#16a34a}.partner-application-admin-card.status-rejected{border-left-color:#dc2626}.partner-application-admin-card header{display:flex;justify-content:space-between}.partner-application-admin-card dl{display:grid;grid-template-columns:140px 1fr;gap:8px 12px}.partner-application-admin-card dt{font-weight:900}.partner-application-admin-card dd{margin:0}.partner-review-form{margin-top:14px}.partner-review-form>div{display:flex;gap:8px;flex-wrap:wrap}
.m-partner-list span{display:flex;min-height:48px;align-items:center;justify-content:center;padding:8px;border-radius:14px;background:#f5faef;color:#14532d;font-size:13px;font-weight:900;border:1px solid #dfead7}
@media(max-width:720px){.approved-partner-overlay{display:none}.public-partners-grid{grid-template-columns:1fr}.partner-application-admin-card dl{grid-template-columns:1fr}.form-grid-2,.form-grid-3{grid-template-columns:1fr}.span-2{grid-column:auto}}


/* v51 상품관리 추천 전체선택 */
.recommend-header-cell{
  min-width:72px;
  text-align:center;
  vertical-align:middle;
}
.bulk-recommend-form{
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
}
.bulk-recommend-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  margin:0;
  color:#334155;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
  cursor:pointer;
}
.bulk-recommend-input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.bulk-recommend-box{
  position:relative;
  display:inline-block;
  width:17px;
  height:17px;
  border:2px solid #64748b;
  border-radius:3px;
  background:#fff;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.07);
}
.bulk-recommend-input:checked + .bulk-recommend-box{
  border-color:#08783a;
  background:#08783a;
}
.bulk-recommend-input:checked + .bulk-recommend-box::after{
  content:"";
  position:absolute;
  left:4px;
  top:0;
  width:4px;
  height:9px;
  border:solid #fff;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}
.bulk-recommend-input:indeterminate + .bulk-recommend-box{
  border-color:#08783a;
  background:#08783a;
}
.bulk-recommend-input:indeterminate + .bulk-recommend-box::after{
  content:"";
  position:absolute;
  left:3px;
  right:3px;
  top:6px;
  height:2px;
  background:#fff;
  border-radius:2px;
}
.bulk-recommend-label:hover .bulk-recommend-box{
  box-shadow:0 0 0 3px rgba(8,120,58,.10);
}
.bulk-recommend-input:focus-visible + .bulk-recommend-box{
  outline:3px solid rgba(8,120,58,.22);
  outline-offset:2px;
}


/* v52 기존 제휴업체 카드 칸 안에 상호·상품설명만 표시 */
.approved-partner-overlay{
  position:absolute;
  left:4.35%;
  top:68.15%;
  width:65.55%;
  height:10.25%;
  z-index:6;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  column-gap:.36%;
  align-items:stretch;
  pointer-events:none;
}
.approved-partner-overlay .approved-partner-card{
  position:relative;
  display:block;
  min-width:0;
  height:100%;
  padding:0;
  border:0;
  border-radius:.5vw;
  background:transparent;
  box-shadow:none;
  color:#14532d;
  text-decoration:none;
  overflow:hidden;
  pointer-events:auto;
}
.approved-partner-overlay .approved-partner-card-inner{
  position:absolute;
  inset:2px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.45vw;
  padding:.55vw .52vw;
  border-radius:.48vw;
  background:rgba(255,255,255,.985);
  text-align:center;
  overflow:hidden;
}
.approved-partner-overlay .approved-partner-card strong{
  display:block;
  width:100%;
  margin:0;
  color:#14532d;
  font-size:.94vw;
  line-height:1.12;
  font-weight:900;
  letter-spacing:-.055em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.approved-partner-overlay .approved-partner-card .approved-partner-card-inner>span{
  display:-webkit-box;
  width:100%;
  margin:0;
  color:#475569;
  font-size:.68vw;
  line-height:1.32;
  font-weight:600;
  letter-spacing:-.035em;
  white-space:normal;
  overflow:hidden;
  text-overflow:ellipsis;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}
.approved-partner-overlay .approved-partner-card:hover .approved-partner-card-inner,
.approved-partner-overlay .approved-partner-card:focus-visible .approved-partner-card-inner{
  background:#f5fbf6;
  box-shadow:inset 0 0 0 2px rgba(20,83,45,.18);
}
.approved-partner-overlay .approved-partner-card:focus-visible{
  outline:0;
}
.approved-partner-overlay .approved-partner-card:active .approved-partner-card-inner{
  transform:translateY(1px) scale(.99);
}
.approved-partner-overlay .approved-partner-card.is-empty strong{
  color:#52765d;
}
.approved-partner-overlay .approved-partner-card.is-empty .approved-partner-card-inner>span{
  color:#789080;
}
.m-partner-list a{
  display:flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:64px;
  padding:10px;
  border-radius:14px;
  background:#f5faef;
  color:#14532d;
  text-decoration:none;
  border:1px solid #dfead7;
  text-align:center;
}
.m-partner-list a strong{
  display:block;
  font-size:14px;
  font-weight:900;
}
.m-partner-list a span{
  display:-webkit-box;
  margin-top:5px;
  color:#64748b;
  font-size:11px;
  line-height:1.35;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.partner-application-form textarea[name="product_description"]{
  min-height:110px;
  resize:vertical;
}
@media(max-width:720px){
  .approved-partner-overlay{display:none}
}


/* v53 제휴·위탁판매업체 카드 전체 재구성 */
.approved-partner-overlay{
  left:4.34%;
  top:68.05%;
  width:65.58%;
  height:10.45%;
  column-gap:.44%;
}
.approved-partner-overlay .approved-partner-card{
  border-radius:.58vw;
}
.approved-partner-overlay .approved-partner-card-inner{
  inset:1px;
  justify-content:flex-start;
  gap:0;
  padding:.48vw .48vw .42vw;
  border:1px solid rgba(20,83,45,.14);
  border-top:3px solid #6ea96f;
  border-radius:.56vw;
  background:linear-gradient(180deg,rgba(255,255,255,.99) 0%,rgba(246,251,247,.99) 100%);
}
.approved-partner-overlay .approved-partner-symbol{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:2.05vw;
  height:2.05vw;
  margin:.05vw auto .36vw;
  border-radius:50%;
  background:#e7f3e9;
  color:#166534;
  font-size:.92vw;
  line-height:1;
  font-weight:900;
  box-shadow:inset 0 0 0 1px rgba(22,101,52,.12);
}
.approved-partner-overlay .approved-partner-plus{
  background:#f0f4ef;
  color:#789080;
  font-size:1.45vw;
  font-weight:500;
}
.approved-partner-overlay .approved-partner-card strong{
  flex:0 0 auto;
  font-size:.87vw;
  line-height:1.16;
  letter-spacing:-.06em;
  max-width:100%;
}
.approved-partner-overlay .approved-partner-description{
  display:-webkit-box!important;
  margin-top:.36vw!important;
  padding-top:.33vw;
  border-top:1px solid rgba(20,83,45,.10);
  color:#55645a!important;
  font-size:.62vw!important;
  line-height:1.35!important;
  font-weight:600!important;
  -webkit-line-clamp:2!important;
}
.approved-partner-new{
  position:absolute;
  top:.28vw;
  right:.28vw;
  display:block;
  padding:.12vw .28vw;
  border-radius:999px;
  background:#e8f5ea;
  color:#16713d;
  font-size:.45vw;
  line-height:1;
  font-style:normal;
  font-weight:900;
  letter-spacing:.02em;
}
.approved-partner-overlay .approved-partner-card:hover .approved-partner-card-inner,
.approved-partner-overlay .approved-partner-card:focus-visible .approved-partner-card-inner{
  background:#fff;
  border-color:rgba(20,83,45,.28);
  border-top-color:#3f8c50;
  box-shadow:0 3px 8px rgba(20,83,45,.13);
  transform:translateY(-1px);
}
.approved-partner-overlay .approved-partner-card.is-empty .approved-partner-card-inner{
  border-top-color:#a9b8aa;
  background:linear-gradient(180deg,#fbfcfb,#f3f6f3);
}
.m-partner-list a strong em{
  display:inline-block;
  margin-right:4px;
  padding:2px 5px;
  border-radius:999px;
  background:#e8f5ea;
  color:#16713d;
  font-size:9px;
  font-style:normal;
  vertical-align:1px;
}
.public-partners-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.public-partners-grid article{
  position:relative;
  min-height:150px;
  padding:20px;
  border-top:4px solid #6ea96f;
  background:linear-gradient(180deg,#fff,#f8fbf8);
}
.public-partner-card-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
}
.public-partner-symbol{
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:#e7f3e9;
  color:#166534;
  font-size:18px;
  font-weight:900;
}
.public-partner-card-head>div{
  min-width:0;
}
.public-partner-card-head strong{
  margin:0;
}
.public-partner-card-head em{
  display:inline-block;
  margin-top:5px;
  padding:3px 7px;
  border-radius:999px;
  background:#e8f5ea;
  color:#16713d;
  font-size:10px;
  font-style:normal;
  font-weight:900;
}
.public-partners-grid article>span{
  display:block;
  color:#55645a;
  line-height:1.55;
}
@media(max-width:900px){
  .public-partners-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .public-partners-grid{grid-template-columns:1fr}
}


/* v56 공개 제휴업체 목록 로고·상호 확대 */
@keyframes publicPartnerNewBlink{
  0%,42%{opacity:1}
  50%,92%{opacity:.25}
  100%{opacity:1}
}
.public-partners-grid article{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
}
.public-partner-logo{
  width:110px;
  height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:14px;
}
.public-partner-logo img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}
.public-partners-grid article.has-logo>strong{
  font-size:20px;
}
.public-partners-grid article.no-logo{
  justify-content:center;
  min-height:180px;
}
.public-partners-grid article.no-logo>strong{
  font-size:25px;
  line-height:1.25;
}
.public-partners-grid article>span{
  margin-top:10px;
  font-size:14px;
  line-height:1.7;
}
.public-partners-grid article.no-logo>span{
  font-size:15px;
}
.public-partner-new{
  position:absolute;
  right:12px;
  top:12px;
  padding:4px 7px;
  border-radius:4px;
  background:#e60012;
  color:#fff;
  font-size:10px;
  font-style:normal;
  font-weight:900;
  animation:publicPartnerNewBlink 1.25s ease-in-out infinite;
}
@media(prefers-reduced-motion:reduce){
  .public-partner-new{animation:none}
}

/* v57 각진 커머스 입력폼 */
.market-form,.auth-page,.form-page,.partner-application-form fieldset,.cron-source-form,.cron-source-list,.cron-log-list,.cron-help{border-radius:4px!important}
.market-form input:not([type=checkbox]):not([type=radio]),.market-form select,.market-form textarea,.auth-page input:not([type=checkbox]):not([type=radio]),.form-page input:not([type=checkbox]):not([type=radio]),.form-page select,.form-page textarea,.admin-page input:not([type=checkbox]):not([type=radio]),.admin-page select,.admin-page textarea{border-radius:2px!important;border:1px solid #bcc3be!important;box-shadow:none!important}
.buy-button,.ghost-button,.danger-button,.market-form button,.auth-page button,.form-page button,.market-form fieldset{border-radius:3px!important}
.donation-admin-reveal{margin:15px 0;padding:17px;border:2px solid #c93030;background:#fff}.donation-admin-reveal dl{display:grid;grid-template-columns:145px 1fr;gap:8px 12px}.donation-admin-reveal dt{font-weight:900}.donation-admin-reveal dd{margin:0}.sensitive-value{font-family:monospace;font-size:17px;font-weight:900}.honeypot-field{position:absolute!important;left:-9999px!important}
