/* uGOsnow ski deals pages. Scoped to .usd so it doesn't touch the theme. */
.usd{--usd-brand:#38b6ff;--usd-brand-dk:#1a9ee8;--usd-ink:#14181f;--usd-muted:#5d6878;--usd-line:#dde3ea;--usd-soft:#f4f8fb;
  color:var(--usd-ink);font-size:16px;line-height:1.55}
.usd h2{font-size:1.25em;margin:0 0 .6em}
.usd section{margin:0 0 2em}

/* Deal buttons first */
.usd-btns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:.25em 0 .6em}
.usd-btn{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-radius:12px;text-decoration:none!important;
  background:#fff;border:2px solid var(--usd-line);color:var(--usd-ink)!important;transition:border-color .15s,transform .15s,box-shadow .15s}
.usd-btn:hover,.usd-btn:focus-visible{border-color:var(--usd-brand);transform:translateY(-1px);box-shadow:0 6px 18px rgba(20,24,31,.08)}
.usd-btn:first-child{background:var(--usd-brand);border-color:var(--usd-brand);color:#fff!important}
.usd-btn:first-child:hover{background:var(--usd-brand-dk);border-color:var(--usd-brand-dk)}
.usd-btn-label{font-weight:800;font-size:1.02em}
.usd-btn-price{font-size:1.35em;font-weight:800;line-height:1.2}
.usd-btn-partner{font-size:.85em;opacity:.8}
.usd-more{font-size:.92em;margin:.4em 0}
.usd-more a{color:var(--usd-brand-dk)}
.usd-disclosure{font-size:.8em;color:var(--usd-muted);margin:.3em 0 0}

/* Intro */
.usd-intro p{font-size:1.05em;margin:0 0 .6em}

/* Stats */
.usd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.usd-stat{background:var(--usd-soft);border:1px solid var(--usd-line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column}
.usd-stat span{font-size:.75em;text-transform:uppercase;letter-spacing:.05em;color:var(--usd-muted)}
.usd-stat strong{font-size:1.35em}
.usd-stat small{font-size:.75em;color:var(--usd-muted)}
.usd-resorts{margin:.8em 0 0;font-size:.95em}

/* Weather */
.usd-wx-now{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.usd-wx-now .usd-stat{min-width:140px}
.usd-wx-days{display:grid;grid-template-columns:repeat(7,minmax(70px,1fr));gap:8px;overflow-x:auto}
.usd-day{text-align:center;background:#fff;border:1px solid var(--usd-line);border-radius:10px;padding:8px 4px;font-size:.85em}
.usd-day b{display:block;font-size:.9em}
.usd-day .ic{font-size:1.5em;display:block;margin:2px 0}
.usd-day .sn{color:var(--usd-brand-dk);font-weight:700}
.usd-wx-note,.usd-small,.usd-wx-loading{font-size:.8em;color:var(--usd-muted)}

/* Travel */
.usd-table{width:100%;border-collapse:collapse;font-size:.95em}
.usd-table th,.usd-table td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--usd-line)}
.usd-table th{font-size:.8em;text-transform:uppercase;letter-spacing:.04em;color:var(--usd-muted)}

@media (max-width:600px){
  .usd-btns{grid-template-columns:1fr 1fr}
  .usd-btn{padding:12px}
  .usd-btn-price{font-size:1.15em}
  .usd-wx-days{grid-template-columns:repeat(7,72px)}
}

/* Resort directory */
.usd-dir-intro{color:var(--usd-muted);font-size:.95em}
.usd-qls{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:1em 0 1.5em}
.usd-ql{background:var(--usd-soft);border:1px solid var(--usd-line);border-radius:12px;padding:12px 14px}
.usd-ql h3{font-size:1em;margin:0 0 .4em}
.usd-ql ol{margin:0;padding:0;list-style:none;counter-reset:usdq;font-size:.9em}
.usd-ql li{counter-increment:usdq;display:flex;align-items:baseline;gap:6px;margin:.2em 0}
.usd-ql li::before{content:counter(usdq) ".";color:var(--usd-muted);min-width:1.5em}
.usd-ql-c{color:var(--usd-muted);font-size:.85em}
.usd-ql li strong{margin-left:auto;font-weight:700;white-space:nowrap;padding-left:8px}
.usd-dir-nav{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 1em}
.usd-dir-nav a{font-size:.85em;padding:4px 10px;border:1px solid var(--usd-line);border-radius:999px;text-decoration:none;color:var(--usd-ink)}
.usd-dir-nav a:hover{border-color:var(--usd-brand)}
.usd-dir-nav span{color:var(--usd-muted)}
.usd-dir-c{border:1px solid var(--usd-line);border-radius:12px;margin:0 0 8px;background:#fff}
.usd-dir-c summary{cursor:pointer;padding:10px 14px;list-style:none}
.usd-dir-c summary::-webkit-details-marker{display:none}
.usd-dir-c summary h3{display:inline;font-size:1.05em;margin:0}
.usd-dir-c summary h3 span{color:var(--usd-muted);font-weight:400;font-size:.85em;margin-left:4px}
.usd-dir-c summary::after{content:"+";float:right;color:var(--usd-muted);font-size:1.2em;line-height:1}
.usd-dir-c[open] summary::after{content:"–"}
.usd-dir-wrap{overflow-x:auto;padding:0 14px 10px}
.usd-dir .usd-table td small{display:block;color:var(--usd-muted);font-size:.8em}
.usd-dir .usd-table td:not(:first-child),.usd-dir .usd-table th:not(:first-child){white-space:nowrap}

/* Embed box */
.usd-embed{background:var(--usd-soft);border:1px solid var(--usd-line);border-radius:12px;padding:16px 18px}
.usd-embed-code{width:100%;font:12px/1.4 ui-monospace,Menlo,Consolas,monospace;padding:10px;border:1px solid var(--usd-line);border-radius:8px;background:#fff;color:var(--usd-ink);resize:vertical;box-sizing:border-box}
.usd-embed-copy{margin-top:8px;background:var(--usd-brand);color:#fff;border:0;border-radius:999px;padding:9px 18px;font-weight:700;cursor:pointer}
.usd-embed-copy:hover{background:var(--usd-brand-dk)}

/* Getting there buttons */
.usd-travel-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.usd-tbtn{display:inline-flex;flex-direction:column;padding:10px 16px;border-radius:12px;border:2px solid var(--usd-line);background:#fff;color:var(--usd-ink)!important;text-decoration:none!important;font-weight:700;line-height:1.3}
.usd-tbtn span{font-weight:400;font-size:.85em;opacity:.8}
.usd-tbtn:hover{border-color:var(--usd-brand)}
.usd-tbtn-p{background:var(--usd-brand);border-color:var(--usd-brand);color:#fff!important}
.usd-tbtn-p:hover{background:var(--usd-brand-dk);border-color:var(--usd-brand-dk)}
@media (max-width:600px){.usd-tbtn{flex:1 1 100%}}
