/* Mobile presentation shares the same routes, data and admin-managed menus. */
.mobile-bottom-nav,.mobile-menu-toggle,.mobile-home-heading,.mobile-filter-toggle{display:none}
.mobile-menu-links,.mobile-menu-categories,.mobile-menu-account{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mobile-menu-panel h3{margin:25px 0 12px;font-size:18px}
.mobile-menu-categories button{display:flex;align-items:center;gap:10px;padding:14px 10px;min-height:48px;text-align:left;background:var(--bg);border-radius:4px}
.mobile-menu-categories .arrow{display:none}
.mobile-menu-account{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
@media(max-width:800px){
  :root{--mobile-nav-height:72px;--muted:#657269}
  html{scroll-padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 20px)}
  body{background:#f6f8f5;padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom));-webkit-text-size-adjust:100%}
  .wrap{width:calc(100% - 32px)}
  .top-strip.site-notice,.site-header .main-nav,.header-actions{display:none}
  .site-header{background:#fff;border-bottom:1px solid #e2e9e3}
  .site-header>.wrap{display:flex;flex-direction:column}
  .brand-row{order:1;display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:12px 8px;padding:14px 0 16px}
  .brand{min-width:0;gap:7px}
  .brand img{width:34px;height:34px}
  .brand strong{font-size:clamp(18px,5.1vw,25px);letter-spacing:-1.2px;white-space:nowrap}
  .mobile-menu-toggle{display:grid;place-items:center;width:44px;height:44px;border:1px solid #e4ebe5;border-radius:5px;background:#f7faf6;color:var(--deep)}
  .mobile-menu-toggle .icon{width:24px;height:24px}
  .search{grid-column:1/-1;order:initial;width:100%;height:52px;min-width:0;max-width:none;border:1.5px solid #227347;border-radius:5px;background:#f6faf6}
  .search input{font-size:17px;padding:14px;min-height:48px}
  .search button{min-width:50px;min-height:48px;padding:13px}
  .utility{order:2;display:none;padding:0 0 13px}
  .utility.is-signed-in{display:block}
  .utility-links{display:block;margin:0}
  .utility-links>:not(.user-greeting){display:none}
  .utility-links .user-greeting{display:block;font-size:16px;line-height:1.6;text-align:left;overflow-wrap:anywhere;letter-spacing:-.35px}
  .mobile-bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;inset:auto 0 0;z-index:45;height:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom));padding:5px max(8px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:#fff;border-top:1px solid #dce5df;box-shadow:0 -4px 20px #183d2908}
  .mobile-bottom-nav button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;min-height:56px;padding:4px 0;font-size:12px;font-weight:650;color:#637168;white-space:nowrap;border-radius:4px}
  .mobile-bottom-nav button>span{display:grid;place-items:center;height:28px;width:44px;border-radius:5px}
  .mobile-bottom-nav .icon{width:23px;height:23px}
  .mobile-bottom-nav button[aria-current=page]{color:#17633a;font-weight:800}
  .mobile-bottom-nav button[aria-current=page]>span{background:#eaf4eb}
  .mobile-bottom-nav .mobile-register>span{background:#227347;color:#fff}
  .mobile-bottom-nav .mobile-register[aria-current=page]>span{background:#174d35;color:white}
  .support-fab{width:46px;height:46px;right:12px;bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 14px);border-radius:7px;box-shadow:0 3px 14px #64411b26}
  #toast{bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 20px);font-size:15px;line-height:1.5;width:max-content}
  main.wrap{padding-bottom:24px;min-width:0}
  .mobile-home-heading{display:block;padding:24px 0 16px}
  .mobile-home-heading>span{font-size:13px;font-weight:650;color:#58735b;letter-spacing:.2px}
  .mobile-home-heading h1{font-size:25px;letter-spacing:-1px;line-height:1.4;margin-top:5px;color:#0e1e22}
  .home-top{display:flex;flex-direction:column;padding:0;gap:24px}
  .categories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;border:0;background:transparent;padding:0;overflow:visible}
  .categories button{flex-direction:column;justify-content:center;gap:9px;padding:12px 4px;min-height:84px;border:1px solid #e0e8df;border-radius:5px;background:#fff;text-align:center;font-size:14px;font-weight:650;line-height:1.3;white-space:normal;overflow-wrap:anywhere}
  .categories button:first-child{background:#edf5ed;border-color:#cadfc9}
  .categories button:nth-child(2){background:#fff5e9;border-color:#f1dfc9}
  .categories .icon{width:26px;height:26px;color:#4c7256}
  .categories .arrow{display:none}
  .main-banners{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;gap:12px}
  .main-banners::before{content:'농기계 파트너 광고';grid-column:1/-1;font-size:17px;font-weight:750;color:#34483a;margin-bottom:1px}
  .ad[data-ad-slot]{border-radius:4px;box-shadow:0 0 0 1px #bfc9c2}
  .ad[data-ad-slot].has-image{border-radius:0}
  .ad[data-ad-slot] .ad-text{padding:12px}
  .ad[data-ad-slot] .ad-text h3{font-size:15px;line-height:1.4;letter-spacing:-.7px}
  .ad[data-ad-slot] .ad-text p{font-size:12px;line-height:1.45;margin-top:6px;color:#657166}
  .ad .ad-tag{top:7px;right:7px;font-size:9px}
  .ad .ad-icon{opacity:.13}
  .intro-line{padding-top:15px;font-size:12px;line-height:1.7}
  .intro-line>span:last-child{display:none}
  .premium-ad-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}
  .section{padding-top:30px}
  .section-heading{gap:8px;margin-bottom:16px;align-items:center}
  h2,#market-section>.section-heading h2{font-size:22px;letter-spacing:-.7px}
  .section-heading .hint{display:none}
  .section-heading .more,#market-section>.section-heading .more{font-size:14px;min-height:40px;display:flex;align-items:center}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px}
  .listing-card{border:1px solid #e1e8e0;border-radius:5px;overflow:hidden;box-shadow:0 2px 6px #24462d04}
  .photo-wrap{border-radius:0;aspect-ratio:1.22}
  .photo-tag{top:8px;left:8px;padding:5px 7px;font-size:12px;font-weight:700}
  .favorite{width:40px;height:40px;right:6px;bottom:6px}
  .card-info{padding:12px 11px}
  .card-topline{font-size:12px;line-height:1.4;min-width:0}
  .card-topline .sample{display:none}
  .card-info h3{font-size:17px;line-height:1.45;font-weight:700;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:49px;overflow:hidden}
  .card-info .price{font-size:23px;line-height:1.35;margin-top:8px;overflow-wrap:anywhere}
  .card-info .price .unit{font-size:14px;margin-left:2px}
  .card-info .spec{font-size:13px;line-height:1.6;margin-top:8px;color:#657166}
  .card-bottom{gap:5px;padding-top:10px;margin-top:10px;line-height:1.5;font-size:12px;color:#657166}
  .card-bottom>span:first-child{font-size:14px;color:#3f5c47;line-height:1.5}
  .listing-photo-badges{gap:4px;flex-wrap:wrap;max-width:calc(100% - 12px)}
  .banner-pair{grid-template-columns:1fr;gap:12px;margin-top:26px}
  .banner-pair .ad:nth-child(2),.partners .ad:nth-child(n+5){display:flex}
  .partners{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .notice{flex-wrap:wrap;gap:10px;font-size:14px;line-height:1.7}
  .notice p{flex-basis:100%}
  .notice button{min-height:40px;font-size:14px}
  .filter-tabs{flex-wrap:nowrap;overflow-x:auto;gap:8px;padding:2px 0 8px;margin-bottom:10px;scrollbar-width:thin}
  .filter-tabs button{flex:none;min-height:42px;padding:10px 15px;font-size:16px;border-radius:4px;background:#fff;border:1px solid #e0e7df}
  .filter-tabs button.active{border-color:#227347;background:#227347}
  .mobile-filter-toggle{display:flex;align-items:center;gap:10px;width:100%;min-height:50px;border:1px solid #d6e1d5;background:#fff;border-radius:4px;padding:12px;color:#315f3d;font-size:15px;font-weight:700;margin-bottom:15px;text-align:left}
  .filter-toggle-arrow{margin-left:auto;font-size:22px;line-height:1}
  .is-open .filter-toggle-arrow{transform:rotate(180deg)}
  .filter-controls:not(.is-open) .filters{display:none}
  .filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px;background:#fff;border-color:#d6e1d5}
  .filters select,.filters input,.filters input[type=number]{width:100%;min-width:0;min-height:48px;font-size:16px;padding:10px 8px}
  .quick-machine-search{grid-column:1/-1;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:10px}.quick-machine-search label{font-size:14px}
  .machine-search-fields{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .machine-search-fields label{font-size:14px}
  .machine-search-fields label:last-child{grid-column:auto}
  .filters .financing-filter{grid-column:1/-1;min-height:48px;font-size:18px;padding:8px}
  .filters .reset{grid-column:1/-1;min-height:44px;margin:0;background:#f0f4ee;border-radius:4px;font-size:15px}
  .list-toolbar{font-size:15px;margin:15px 0}
  .list-toolbar select{min-height:44px;max-width:55%;font-size:15px;background:#fff;border:1px solid #e0e7df;border-radius:4px;padding:8px}
  .page-head{padding:25px 0 22px}
  .page-head h1{font-size:27px;line-height:1.35}
  .page-head p{font-size:15px;line-height:1.7;margin-top:9px}
  .btn,.btn.small{min-height:46px;padding:11px 14px;font-size:15px;border-radius:4px}
  .empty{padding:36px 18px;border:1px solid var(--line);background:#fff}
  .empty p,.info-note,.info-content{font-size:15px;line-height:1.8}
  .back{font-size:15px;min-height:56px;padding:18px 0}
  .detail-grid{grid-template-columns:minmax(0,1fr);gap:22px}
  .detail-image{aspect-ratio:1.25;object-fit:contain;background:#e9eee7}
  .detail-watermark span{font-size:16px}
  .thumbnails{flex-wrap:nowrap;overflow-x:auto;padding:2px 0 6px;gap:9px}
  .thumbnails button{flex:none}
  .thumbnails img{width:74px;height:60px}
  .detail-info{background:#fff;border:1px solid #e0e7df;border-radius:5px;padding:19px 17px}
  .detail-status{flex-wrap:wrap;gap:8px}
  .detail-status .pill{font-size:14px;padding:7px 9px}
  .detail-info h1{font-size:26px;line-height:1.5;margin:14px 0 8px;overflow-wrap:anywhere}
  .detail-info .price{font-size:33px;margin:8px 0 22px}
  .details{gap:15px;padding:20px 0;grid-template-columns:1fr}
  .details>div{grid-template-columns:96px minmax(0,1fr);gap:12px;font-size:21px;line-height:1.45}
  .details dt{color:#647267}
  .seller-box{padding:16px;background:#edf6ed;border:1px solid #dce9d9;margin:22px 0}
  .seller-box strong{font-size:17px}
  .seller-box .seller-phone{font-size:clamp(24px,7vw,34px);line-height:1.6;white-space:normal;overflow-wrap:anywhere}
  .detail-actions .btn{width:100%;min-height:48px}
  .detail-info>.flex.between{flex-wrap:wrap;gap:12px}
  .description{font-size:20px;line-height:1.85;overflow-wrap:anywhere}
  .owner-listing-controls{padding:14px}
  .owner-listing-actions{flex-wrap:wrap}
  .owner-status-buttons button{font-size:16px;min-height:72px}
  .fields,.form-panel .fields{grid-template-columns:minmax(0,1fr);gap:20px}
  .field,.field small,#listing-form .field:not(.listing-price-field){font-size:16px;line-height:1.6}
  .field input,.field select,.field textarea{width:100%;min-height:50px;font-size:17px;padding:12px;border-radius:4px}
  #listing-form .field:not(.listing-price-field) input,#listing-form .field:not(.listing-price-field) select,#listing-form .field:not(.listing-price-field) textarea{font-size:18px}
  .field textarea{min-height:150px}
  .field input[type=file]{font-size:15px;padding:10px 8px;overflow:hidden}
  input[type=file]::file-selector-button{font:inherit;padding:10px 8px;border:0;border-radius:3px;margin-right:8px;background:#edf4eb;color:#245437}
  .form-panel{margin-bottom:8px}
  .form-panel #listing-form,.ad-form-card{padding:18px 16px;background:#fff;border:1px solid #dfe7dc;border-radius:5px}
  .machine-form-fields{padding:14px;gap:16px}
  .listing-price-row{grid-template-columns:minmax(0,1fr)}
  .listing-price-row #listing-price{font-size:23px}
  .listing-price-row output{font-size:20px;padding:12px 14px}
  .photo-policy{padding:20px 17px;border-radius:5px}
  .photo-policy strong{font-size:24px}
  .photo-policy p{font-size:19px}
  .photo-policy span,.photo-count{font-size:14px;line-height:1.6}
  .check,.photo-consent,.listing-delete-consent{align-items:flex-start;font-size:16px;line-height:1.75}
  .check input{width:22px;height:22px;flex-shrink:0;margin:3px 0 0}
  .form-footer{display:grid;grid-template-columns:1fr 2fr;gap:10px;margin-top:8px}
  .form-footer .btn{min-height:52px;font-size:17px}
  .upload-preview{gap:10px}
  .upload-item button{min-height:40px;font-size:13px}
  .payment-methods legend{font-size:20px;line-height:1.5}
  .payment-options{gap:10px}
  .payment-choice-card{min-height:140px;padding:14px 8px;border-radius:5px}
  .payment-choice-card strong{font-size:18px;line-height:1.5}
  .payment-choice-card small{font-size:14px;line-height:1.5}
  .writing-credit-selector>p{font-size:15px}
  .purchase-summary{flex-direction:column;align-items:stretch;padding:20px;gap:15px;background:#eaf4e8;border-color:#d3e2cd}
  .purchase-summary span{font-size:15px}
  .purchase-summary strong{font-size:24px;line-height:1.5;overflow-wrap:anywhere}
  .purchase-summary .btn{font-size:15px;background:#fff;align-self:flex-start}
  .writing-plan-group{margin:26px 0}
  .writing-plan-group>h2{font-size:23px;margin-bottom:17px}
  .writing-plan-group[data-credit-type=premium]{padding:20px 12px;background:#fe9448;border-radius:5px}
  .plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .plan-card{display:flex;flex-direction:column;align-items:flex-start;padding:18px 12px;border-radius:5px}
  .plan-card .eyebrow{font-size:12px;letter-spacing:0;margin:0}
  .plan-card h3{font-size:36px;margin:14px 0 10px}
  .plan-card h3 span{font-size:17px}
  .plan-price{font-size:23px;line-height:1.4;letter-spacing:-.8px}
  .plan-card p{font-size:14px;line-height:1.6;margin:8px 0 16px}
  .plan-card .premium-expiry-notice{font-size:13px;line-height:1.65;margin:0 0 16px}
  .plan-card .btn{margin-top:auto;width:100%;min-height:48px;font-size:15px;padding:10px 6px}
  .purchase-guide{padding:20px;background:#fff;border:1px solid var(--line)}
  .purchase-guide p{font-size:15px;line-height:1.8}
  .account-status{display:block;padding:20px;background:#fff}
  .account-status h3{font-size:21px;line-height:1.6}
  .account-status p{font-size:15px}
  .account-status>.flex{margin-top:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .order-card,.request-card{background:#fff;padding:19px 16px;border-radius:5px}
  .order-card>.flex,.request-card>.flex{flex-wrap:wrap;gap:9px}
  .order-card h3{font-size:19px;line-height:1.5}
  .order-card>.meta,.request-card .meta{font-size:13px;line-height:1.8}
  .order-details{font-size:15px}
  .order-details>div{grid-template-columns:95px minmax(0,1fr);gap:12px}
  .order-note{font-size:15px}
  .order-actions .btn{flex:1 1 130px}
  .ad-process{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;gap:15px 10px;background:#fff}
  .ad-process span{font-size:14px;line-height:1.5;align-items:flex-start}
  .ad-process b{padding:4px;font-size:12px}
  .ad-request-layout{grid-template-columns:minmax(0,1fr);gap:20px}
  .ad-form-card h2{font-size:22px}
  .ad-position-guide{font-size:15px;line-height:1.7;padding:14px}
  .ad-quote{position:static;padding:20px;background:#eaf4e8}
  .ad-quote dl>div{font-size:16px}
  .ad-quote>p,.ad-order-history{font-size:15px}
  .ad-quote .btn{min-height:54px;font-size:17px}
  .ad-image-size{padding:14px}
  .ad-image-size strong{font-size:23px}
  .ad-image-size p{font-size:15px}
  .bank-account-row{align-items:flex-start}
  .bank-account-row>strong{font-size:19px;line-height:1.6}
  dialog:not(#notice-modal){width:calc(100% - 24px);max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:7px;overscroll-behavior:contain}
  .modal-body,.ad-editor-body{padding:22px 18px}
  .modal-head{gap:12px;margin-bottom:20px;align-items:flex-start}
  .modal-head h2{font-size:23px;line-height:1.45}
  .modal-close{width:44px;height:44px;flex-shrink:0}
  .modal-subtitle{font-size:15px;line-height:1.7}
  .auth-switch,.auth-switch button{font-size:15px}
  .auth-switch button{min-height:44px}
  .checkout-total strong{font-size:26px}
  .checkout-total span{font-size:16px}
  .premium-confirm-actions,.listing-delete-actions{display:grid;grid-template-columns:1fr}
  .ad-editor-stage{padding:8px}
  .ad-editor-help{font-size:15px}
  .ad-editor-actions{display:grid;grid-template-columns:1fr 2fr}
  .ad-editor-actions .primary{min-width:0}
  .mobile-menu-links .btn{justify-content:flex-start;min-height:52px;font-size:16px}
  .mobile-menu-categories button{font-size:16px}
  .admin-layout{grid-template-columns:minmax(0,1fr);gap:20px}
  .admin-nav{display:grid;grid-template-rows:repeat(2,1fr);grid-auto-flow:column;grid-auto-columns:max-content;gap:8px;padding:12px;background:#eaf0e8;overflow-x:auto;border:1px solid #dce5d9}
  .admin-nav button{font-size:15px;min-height:46px;padding:12px 15px;background:#fff;border-radius:4px}
  .admin-nav button.active{background:#227347}
  .admin-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .stat{background:#fff;padding:18px}
  .stat span{font-size:14px}
  .data-table{font-size:15px;background:#fff}
  .data-table th,.data-table td{padding:13px 12px;min-width:110px}
  .table-scroll{max-width:100%;border:1px solid var(--line);border-radius:4px;overscroll-behavior-x:contain}
  .ads-grid,.popup-admin-grid{grid-template-columns:minmax(0,1fr)}
  .ad-admin,.menu-editor-section{background:#fff}
  .footer{margin-top:12px;padding:26px 0 28px;background:#edf1ea}
  .footer-links{gap:5px 15px;margin-bottom:18px}
  .footer-links button{min-height:40px;font-size:13px;padding:0}
  .footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
  .footer-logo{font-size:23px}
  .footer p,.footer .copyright{font-size:12px;color:#647361;line-height:1.8}
  .footer-business{font-size:13px;text-align:left;margin-top:18px;padding-top:18px}
  .footer-business-row{display:block}
  .footer-business-row>span{display:block;padding:0;margin:4px 0;border:0!important}
}
@media(max-width:359px){
  .wrap{width:calc(100% - 24px)}
  .brand img{width:29px;height:29px}.brand{gap:4px}.brand strong{font-size:18px}
  .mobile-bottom-nav button{font-size:11px}
  .categories{gap:6px}.categories button{font-size:13px;padding:10px 2px}
  .grid,.main-banners,.premium-ad-strip{gap:10px}
  .ad[data-ad-slot] .ad-text{padding:9px}
  .ad[data-ad-slot] .ad-text h3{font-size:14px}.ad[data-ad-slot] .ad-text p{font-size:11px}
  .card-info{padding:10px 8px}.card-info h3{font-size:16px}.card-info .price{font-size:21px}
  .plan-card{padding:15px 9px}.plan-price{font-size:20px}
  .details>div{font-size:21px;grid-template-columns:85px minmax(0,1fr)}.details dt{min-width:0}
}
@media(prefers-reduced-motion:reduce){.listing-card img,#toast{transition:none}}
