.yn-planner{--brown:#795c46;--dark:#49372c;--cream:#f8f5f0;--line:#e9dfd2;color:var(--dark);max-width:1080px;margin:2rem auto;font-size:15px;line-height:1.65}
.yn-planner *{box-sizing:border-box}
.yn-planner .yn-planner-header{text-align:center;background:var(--cream);border-radius:16px;padding:30px 16px;margin-bottom:18px}
.yn-planner .yn-planner-header span{font-size:12px;letter-spacing:.15em;color:var(--brown)}
.yn-planner .yn-planner-header h2,.yn-planner h3,.yn-planner h4{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0 0 12px!important;color:var(--dark)!important}
.yn-planner .yn-planner-header h2{font-size:clamp(20px,4vw,29px)!important;margin:8px 0!important}
.yn-planner .yn-planner-header p{margin:0}
.yn-planner .yn-planner-panel{border:1px solid var(--line);border-radius:14px;padding:20px;margin:18px 0;background:#fff}
.yn-planner h3{font-size:19px!important}.yn-planner h4{font-size:16px!important;margin-top:20px!important}
.yn-planner .yn-planner-choice{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.yn-planner .yn-planner-choice label{border:1px solid var(--line);border-radius:9px;padding:9px 14px;cursor:pointer}
.yn-planner input[type=radio],.yn-planner input[type=checkbox]{accent-color:var(--brown)}
.yn-planner .yn-planner-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.yn-planner .yn-planner-filters label{font-size:13px;font-weight:600}
.yn-planner select,.yn-planner input[type=search]{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid #cbbcab;border-radius:7px;background:#fff;color:var(--dark);font:inherit;min-width:0}
.yn-planner .yn-planner-check{display:inline-flex;align-items:center;gap:7px;margin:12px 0 0}
.yn-planner .yn-planner-count{font-size:13px;color:#6b625d}
.yn-planner .yn-planner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-height:650px;overflow-y:auto;padding:3px}
.yn-planner .yn-planner-spot{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;min-width:0}
.yn-planner .yn-planner-spot>img{width:100%;height:150px;object-fit:cover}
.yn-planner .yn-planner-spot-body{padding:13px;display:flex;flex-direction:column;gap:7px;flex:1}
.yn-planner .yn-planner-tags{display:flex;gap:5px;flex-wrap:wrap}
.yn-planner .yn-planner-tags span{background:var(--cream);border-radius:4px;padding:2px 6px;font-size:11px}
.yn-planner .yn-planner-spot-body>strong{font-size:16px}
.yn-planner .yn-planner-spot-body p{margin:0;font-size:13px}
.yn-planner .yn-planner-spot-body small{color:#71655d;overflow-wrap:anywhere}
.yn-planner .yn-planner-spot-body .yn-planner-warning{color:#a23e2b}
.yn-planner .yn-planner-spot-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:8px}
.yn-planner .yn-planner-spot-actions a{font-size:12px;color:var(--brown)}
.yn-planner button,.yn-planner .yn-planner-maplinks a,.yn-planner .yn-planner-stay a{cursor:pointer;border:0;border-radius:7px;background:var(--brown);color:#fff!important;padding:9px 13px;text-decoration:none!important;font:inherit;font-size:13px;display:inline-block}
.yn-planner button:disabled{opacity:.4;cursor:not-allowed}
.yn-planner .yn-planner-route h3 small{font-size:12px;font-weight:400}
.yn-planner .yn-planner-route-list{list-style:none!important;padding:0!important;margin:12px 0!important}
.yn-planner .yn-planner-route-list li{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:10px 0}
.yn-planner .yn-planner-num{background:var(--cream);border-radius:50%;width:27px;height:27px;flex-shrink:0;display:grid;place-items:center}
.yn-planner .yn-planner-route-list li>div:nth-child(2){flex:1;min-width:0}
.yn-planner .yn-planner-route-list strong,.yn-planner .yn-planner-route-list small{display:block;overflow-wrap:anywhere}
.yn-planner .yn-planner-route-list small{font-size:11px;color:#756a62}
.yn-planner .yn-planner-move{display:flex;gap:4px}
.yn-planner .yn-planner-move button{padding:5px 9px}
.yn-planner .yn-planner-split{background:var(--cream);border-radius:10px;padding:12px;margin:15px 0}
.yn-planner .yn-planner-split p{font-size:12px;margin:6px 0 0}
.yn-planner .yn-planner-split select{max-width:130px;display:inline-block;margin-left:10px}
.yn-planner .yn-planner-clear{background:#ece5dd;color:var(--dark)!important}
.yn-planner .yn-planner-maplinks{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.yn-planner .yn-planner-maplinks p,.yn-planner .yn-planner-muted{font-size:13px;color:#665c54}
.yn-planner .yn-planner-stay{background:var(--cream);border-radius:10px;padding:15px;margin:18px 0}
.yn-planner .yn-planner-stay p{margin:5px 0 12px}
.yn-planner .yn-planner-notice{border-top:1px solid var(--line);padding-top:12px;font-size:12px;color:#74685e;margin-top:20px}
@media(max-width:650px){.yn-planner .yn-planner-panel{padding:14px}.yn-planner .yn-planner-filters{grid-template-columns:1fr}.yn-planner .yn-planner-grid{grid-template-columns:1fr;max-height:600px}.yn-planner .yn-planner-spot>img{height:170px}.yn-planner .yn-planner-route-list li{gap:6px}.yn-planner .yn-planner-move button{padding:5px 7px}}


/* ========================================
   Cocoon標準スタイルとの干渉対策
======================================== */

/* 見出し */
.yn-planner .yn-planner-app h2,
.yn-planner .yn-planner-app h3,
.yn-planner .yn-planner-app h4 {
    background: none !important;
    background-image: none !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    padding: 0 !important;
    color: #49372c !important;
}

/* 見出しの疑似要素 */
.yn-planner .yn-planner-app h2::before,
.yn-planner .yn-planner-app h2::after,
.yn-planner .yn-planner-app h3::before,
.yn-planner .yn-planner-app h3::after,
.yn-planner .yn-planner-app h4::before,
.yn-planner .yn-planner-app h4::after {
    content: none !important;
    display: none !important;
}

/* ボタン */
.yn-planner .yn-planner-app button {
    background: #795c46;
    color: #fff;
    border: none;
    box-shadow: none;
    text-shadow: none;
    text-transform: none;
    line-height: 1.5;
}

/* 入力欄 */
.yn-planner .yn-planner-app select,
.yn-planner .yn-planner-app input[type="search"] {
    background: #fff;
    border: 1px solid #cbbcab;
    box-shadow: none;
    color: #49372c;
}

/* リスト */
.yn-planner .yn-planner-app .yn-planner-route-list {
    list-style: none !important;
    padding-left: 0 !important;
}

.yn-planner .yn-planner-app .yn-planner-route-list li {
    list-style: none !important;
}

.yn-planner .yn-planner-app .yn-planner-route-list li::before {
    content: none !important;
    display: none !important;
}
/* STEP 1｜旅行スタイル */
.yn-planner .yn-planner-choice {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 14px 0 22px;
}

.yn-planner .yn-planner-choice label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 52px;
    padding: 12px;
    margin: 0;
    border: 1px solid #e9dfd2;
    border-radius: 10px;
    background: #fff;
    color: #49372c;
    font-weight: 500;
    cursor: pointer;
    transition: background .2s, border-color .2s;
}

.yn-planner .yn-planner-choice label:has(input:checked) {
    background: #f8f5f0;
    border: 2px solid #795c46;
}

.yn-planner .yn-planner-choice input[type="radio"] {
    accent-color: #795c46;
    margin: 0;
}

.yn-planner .yn-planner-choice label:hover {
    background: #f8f5f0;
}