.td-wrap{max-width:100%;width:100%;box-sizing:border-box}
.td-grid{display:grid;gap:10px}
.td-row{display:flex;gap:10px;align-items:end;flex-wrap:wrap}
.td-row input[type=text], .td-row textarea, .td-row select, .td-row input[type=date]{width:100%}
.td-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0;align-items:center}

/* 1124: Separera global toppmeny (sidbyten) från kontextmeny (Redigera/Ta bort/Ladda ner) */
.td-nav{margin:12px 0}
.td-nav .td-actions{margin:0}
.td-actions--context{
  margin-top:12px;
  padding:0;
  border-radius:0;
  background:none;
}
/* Gör kontextknapparna visuellt sekundära utan att hårdkoda temafärger */
.td-actions--context .button{
  filter:brightness(1.12);
}
.td-actions--context .button:hover{
  filter:brightness(1.05);
}
/* 1053: Harmoniserad hörnradie på vissa knappar (temasäkert) */
.td-wrap .button.td-small,
.td-wrap .button.td-btn{border-radius:8px !important}
/* 1054: Dubbel veckoplanering – gör informations-/valblocket tydligare */
#td-weekplan-save{
background:#fff0f3;
border:1px solid rgba(0,0,0,.10);
padding:18px 18px !important;
}
/* Inputs måste kunna krympa (förhindrar overflow i datum/hund och i tabeller) */
.td-wrap input, .td-wrap select, .td-wrap textarea{max-width:100%;width:100%;box-sizing:border-box;min-width:0}
.td-wrap input[type=checkbox], .td-wrap input[type=radio]{width:auto}
.td-wrap input[type=date]{min-width:0}
.td-wrap input[type=date]{-webkit-appearance:none;appearance:none}
.td-table{width:100%;table-layout:fixed}
.td-table th,.td-table td{vertical-align:top}
.td-table input[type=date]{width:100%;max-width:100%;min-width:0}
/* Kriterieplan: Klick/Repetitioner per omgång */
.td-crit-row td{padding:6px 6px;vertical-align:top}
.td-crit-row td{border-bottom:1px solid rgba(0,0,0,.08)}
.td-crit-row:last-child td{border-bottom:none}
/* Desktop: stapla Klick över Repetitioner (mer kompakt, mindre horisontell bredd) */
.td-crit-pair{display:grid;grid-template-columns:1fr;gap:4px;align-items:stretch}
.td-crit-pair input[type=number]{
width:100%;
min-width:0;
padding:4px 6px;
min-height:34px;
font-size:16px;
line-height:1.2;
text-align:center;
color:#000;
box-sizing:border-box;
}
/* Ta bort spinners (tema-/browseroberoende) */
.td-crit-pair input[type=number]::-webkit-outer-spin-button,
.td-crit-pair input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.td-crit-pair input[type=number]{-moz-appearance:textfield}
.td-crit-field__label{display:none}
/* Temasäkra bakgrunder */
.td-crit-click{background:#fff !important;color:#000 !important}
.td-crit-rep{background:#f3f3f3 !important;color:#000 !important}
/* Scroll-wrapper: bara horisontell scroll på mobil (undvik ful scroll på desktop) */
.td-criteria-scroll{overflow-x:visible;max-width:100%}
@media (max-width: 768px){
/* Mobil: Klick + repetitioner sida-vid-sida (2 kolumner) */
.td-crit-pair{grid-template-columns:1fr 1fr;gap:6px}
.td-crit-pair input[type=number]{font-size:16px;padding:10px 10px;min-height:44px;line-height:1.4}
.td-criteria-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.td-criteria-scroll{scrollbar-width:none}
.td-criteria-scroll::-webkit-scrollbar{height:0}
}
/* Tabeller: låt celler krympa och inputs hålla sig inom cellen */
.td-table{table-layout:auto}
.td-table input, .td-table select, .td-table textarea{max-width:100%;box-sizing:border-box;min-width:0}
.td-table td, .td-table th{min-width:0}
/* Knappar: temaresistenta standardmått */
.td-wrap .button,
.td-wrap a.button,
.td-wrap button.button,
.td-wrap input.button,
.td-wrap input[type=submit]{
/* Vertikal centrering i både <a> och <button> (teman kan sätta konstiga line-heights) */
min-height:32px;
padding:0 10px;
font-size:14px;
line-height:1.2;
display:inline-flex;
align-items:center;
justify-content:center;
width:auto;
font-weight:600;
white-space:nowrap;
text-align:center;
text-decoration:none !important;
}
/* Tema kan understryka alla <a> i entry-content; neutralisera för knapp-länkar */
.entry-content .td-wrap a.button,
.entry-content .td-wrap a.button:visited,
.entry-content .td-wrap a.button:hover,
.entry-content .td-wrap a.button:focus{
text-decoration:none !important;
}
.td-wrap .button:hover,
.td-wrap a.button:hover,
.td-wrap .button:focus,
.td-wrap a.button:focus{
text-decoration:none !important;
}
/* Tvinga bort understrykning från temat i entry-content */
.entry-content .td-wrap a.button{ text-decoration:none !important; }
/* Små knappar */
.td-wrap .button.td-small,
.td-wrap a.button.td-small,
.td-wrap button.button.td-small{
padding:0 8px;
font-size:13px;
min-height:28px;
}
/* Mina hundar: Spara/Ta bort ska vara små även om de saknar td-small */
.td-dogs-table .button,
.td-dogs-table a.button,
.td-dogs-table button.button{
padding:0 8px;
font-size:13px;
min-height:28px;
}
/* Filterbar: alltid flex så att Filtrera/Rensa linjerar likadant */
.td-filterbar{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
/* Filterbar: samma mått som övriga knappar */
.td-filterbar .button, .td-filterbar button.button{padding:0 10px;font-size:14px;line-height:1.2;min-height:32px;text-align:center}
.td-actions .button-primary{padding:0 10px;min-height:32px;text-align:center;line-height:1.2}
.td-actions .td-danger{border-color:#b32d2e;color:#b32d2e}
.td-filterbar .button.td-small, .td-filterbar a.button.td-small{padding:3px 8px;font-size:13px;line-height:1.1;min-height:28px;display:inline-flex;align-items:center;justify-content:center;text-align:center}
.td-table .button, .td-table a.button{padding:0 10px;font-size:14px;line-height:1.2;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;min-height:32px;text-decoration:none !important;margin-right:6px}
/* På desktop kan actions vara på en rad, men på mobil vill vi att de får bryta */
.td-table td:last-child{white-space:nowrap}
.td-muted{color:#666;font-size:0.95em}
.td-done{color:#1a8f2b;font-weight:700}
.td-table{width:100%;border-collapse:collapse}
.td-table th,.td-table td{border-bottom:1px solid #eee;padding:8px;text-align:left;vertical-align:top}

/* 1125: Sorteringsrubriker – visa ikon även när ingen sortering är aktiv */
.td-sortlink{display:inline-flex;align-items:center;gap:6px;text-decoration:none !important;color:inherit}
.td-sorticon{font-size:16px;line-height:1;opacity:.75}

/* 1129/1130: Kompaktare actions (penn-/kryssikoner) */
.td-actions-cell{white-space:nowrap}
.td-icon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;padding:0 6px;border:1px solid #dcdcde;border-radius:6px;background:#fff;text-decoration:none !important;line-height:1}
.td-icon-btn .dashicons{font-size:18px;line-height:1}
.td-icon-btn--danger{border-color:#b32d2e;color:#b32d2e}
/* Lite luft mellan pennan och krysset i list-actions */
.td-actions-cell .td-icon-btn + .td-icon-btn{margin-left:6px}

/* 1128: Kriterieplan – datum + kriterium i samma cell och smalare omgångskolumner */
.td-criteria-scroll .td-crit-mainhead{min-width:240px}
.td-criteria-scroll td.td-crit-main{min-width:240px}
.td-criteria-scroll td.td-crit-main input[type=date],
.td-criteria-scroll td.td-crit-main input[type=text]{width:100%;max-width:100%;box-sizing:border-box}
.td-criteria-scroll td.td-crit-main{display:flex;flex-direction:column;gap:6px}
.td-criteria-scroll th.td-crit-round{width:72px;min-width:72px;text-align:center}
.td-criteria-scroll td.td-crit-action{width:1%;white-space:nowrap;text-align:right}

/* 1128 finlir: desktop – gör huvudcellen bredare och omgångskolumner smalare
   så att datum/kriterium inte hamnar "bakom" sifferfälten. */
@media (min-width: 769px){
  .td-criteria-scroll .td-crit-mainhead,
  .td-criteria-scroll td.td-crit-main{min-width:420px}

  .td-criteria-scroll th.td-crit-round{width:56px;min-width:56px}

  /* Låt tabellen beräkna kolumnbredder (fixed-layout gav överlappning). */
  #td-criteria-table{table-layout:auto}

  /* Sifferrutor: kompaktare på desktop. */
  #td-criteria-table .td-crit-pair input[type=number]{
    width:56px;
    min-width:56px;
    max-width:56px;
    padding:4px 4px;
  }

  /* Datum/kriterium får använda hela cellen utan fasta maxbredder. */
  #td-criteria-table td.td-crit-main input[type=date],
  #td-criteria-table td.td-crit-main input[type=text]{max-width:none}
}
/* Mina hundar: inga tabellkanter (inte ens "halva") + knappar bredvid varandra */
.td-dogs-table{border:0 !important}
.td-dogs-table th,.td-dogs-table td{border:0 !important;border-bottom:none !important;padding:6px 0}
.td-dogs-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.td-group-title{margin:14px 0 6px;font-weight:700}
.td-wide{overflow:auto}
.td-compare th,.td-compare td{min-width:140px}
/* Generellt: tabeller och långa ord får aldrig tvinga sidscroll i onödan */
.td-table th,.td-table td{overflow-wrap:anywhere;word-break:break-word}
.td-table td:last-child{overflow-wrap:normal}
/* Mobil: låt actions knappar staplas och låt tabeller scrolla endast om det verkligen behövs */
@media (max-width: 680px){
.td-table td:last-child{white-space:normal}
.td-table .button, .td-table a.button{display:flex;margin:4px 0;width:100%;text-align:center;align-items:center;justify-content:center;min-height:32px}
.td-wide{overflow-x:auto}
}
/* Ta bort klickbarhet på författarlänkar i theme-meta för våra td_entry */
body.single-td_entry .entry-meta a[rel="author"],
body.single-td_entry .entry-meta .author a,
body.single-td_entry .entry-meta a.author{
pointer-events:none;
text-decoration:none !important;
color:inherit !important;
}
/* Tema (t.ex. Astra) kan sätta blå färg på .entry-meta *.
För våra td_entry vill vi att meta-texten följer normal brödtextfärg. */
body.single-td_entry .entry-meta,
body.single-td_entry .entry-meta *{
color: inherit !important;
text-decoration: none !important;
}
/* 1011: Dölj entry-meta helt för td_entry (t.ex. Astra visar författare/datum). */
body.single-td_entry .entry-meta{display:none !important;}
/* Astra/vanliga teman: ibland ligger författarlänken utanför .entry-meta */
body.single-td_entry a[rel="author"],
body.single-td_entry .ast-single-author a,
body.single-td_entry .ast-author-name a,
body.single-td_entry .author-name a{
pointer-events:none;
text-decoration:none !important;
color:inherit !important;
}
/* Momentavstämning – tajtare layout på desktop
Mål: betyg/kommentar direkt till höger om momenttexten på större skärmar,
men bryt snyggt på mobil. */
.td-skillcard{display:flex;gap:10px;align-items:flex-start}
.td-skill-moment{flex:0 1 52%;min-width:0}
.td-skill-controls{flex:1 1 48%;display:flex;gap:10px;flex-wrap:nowrap;align-items:flex-end;min-width:0}
.td-skill-controls select,.td-skill-controls input[type=text]{width:100%}
.td-skill-level{flex:0 0 150px;min-width:150px}
.td-skill-comment{flex:1 1 auto;min-width:0}
/* Mellanläge: låt nivå/kommentar bryta om det blir trångt */
@media (max-width: 900px){
.td-skill-controls{flex-wrap:wrap}
.td-skill-level{flex:1 1 200px}
}
@media (max-width:700px){
.td-skillcard{display:block}
.td-skill-controls{margin-top:8px}
}
/* Post-itlappar – Viktigast just nu */
.td-postit{background:#fff7c2;border:1px solid #e7d889;border-radius:0;padding:14px;box-shadow:0 1px 0 rgba(0,0,0,0.03)}
.td-empty-actions{padding-top:12px}
.td-empty-actions .button{margin-top:4px}
.td-postit-head{display:flex;gap:8px;justify-content:space-between;align-items:baseline;margin-bottom:8px}
.td-postit-name{font-weight:800}
.td-postit-date{font-size:12px;color:#555;white-space:nowrap}
.td-postit-list{margin:0;padding-left:18px}
.td-postit-list li{margin:2px 0}
/* Kriterieplan: mobilvänliga fält (datum/kriterium/siffror) */
@media (max-width: 768px){
#td-criteria-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
#td-criteria-table th,#td-criteria-table td{white-space:nowrap}
#td-criteria-table input[type="date"]{width:160px;max-width:160px;min-width:160px;font-size:16px;padding:6px 8px;box-sizing:border-box}
#td-criteria-table input[type="text"]{min-width:240px;width:240px;font-size:16px;padding:6px 8px;box-sizing:border-box}
/* Klick + repetitioner ligger i samma cell. På mobil gör vi dem kompaktare och i två kolumner. */
#td-criteria-table .td-crit-pair{display:grid;grid-template-columns:1fr 1fr;gap:6px;align-items:stretch}
#td-criteria-table .td-crit-pair > *{min-width:0}
#td-criteria-table .td-crit-pair .td-crit-click{background:#fff}
#td-criteria-table .td-crit-pair .td-crit-rep{background:#f3f3f3}
#td-criteria-table .td-crit-pair input[type="number"]{min-width:72px;width:72px;font-size:16px;padding:4px 6px;box-sizing:border-box;text-align:center}
#td-criteria-table button.button{min-height:32px;padding:0 10px}
}
/* Kriterieplan: klick/repetitioner – desktop + mobil */
#td-criteria-table .td-crit-pair{display:flex;flex-direction:column;gap:6px;align-items:stretch}
#td-criteria-table .td-crit-pair > *{min-width:0}
#td-criteria-table .td-crit-pair .td-crit-click{background:#fff}
#td-criteria-table .td-crit-pair .td-crit-rep{background:#f3f3f3}
#td-criteria-table .td-crit-pair input[type="number"]{min-width:0;width:100%;font-size:16px;padding:4px 6px;box-sizing:border-box;text-align:center;color:#000}
/* 1048/1049: ta bort kantlinjer + centrera kolumnnummer */
#td-criteria-table{border:0;border-collapse:collapse}
#td-criteria-table th,#td-criteria-table td{border:0}
/* centrera rubriker/siffror */
#td-criteria-table thead th{text-align:center;vertical-align:top}
/* centrera celler som default */
#td-criteria-table tbody td{text-align:center;vertical-align:top}
/* kriterium-kolumnen (kolumn 2) ska vara vänsterställd i body */
#td-criteria-table tbody td:nth-child(2){text-align:left}
/* 1046: Desktop layout – stapla klick/repetitioner vertikalt */
#td-criteria-table .td-crit-pair { display:flex; flex-direction:column; gap:6px; align-items:stretch }
#td-criteria-table .td-crit-pair input[type=number]{ box-sizing:border-box; text-align:center }
/* 1050: Jämn vänsterkant på mobil (undvik varierande indrag) */
.td-wrap{padding-left:0 !important;padding-right:0 !important;margin-left:0 !important}
.td-card{padding-left:0 !important;padding-right:0 !important}
.td-card h1,.td-card h2,.td-card h3,.td-card p,.td-card label{margin-left:0 !important}
.td-card form,.td-card table{margin-left:0 !important}
.td-card input,.td-card select,.td-card textarea,.td-card button{margin-left:0 !important}
#td-criteria-table{margin-left:0 !important}
.td-card .td-field,.td-card .td-row{padding-left:0 !important;padding-right:0 !important}

/* 1119: Mobil – visa nivårubriker i Övningar även när tabellheadern är utanför vy */
.td-mobile-only{ display:none; }
@media (max-width: 782px){
  .td-mobile-only{ display:block; }
  .td-ex-level-label{
    font-weight: 700;
    font-size: 12px;
    color: var(--td-muted);
    margin: 0 0 var(--td-space-1) 0;
    text-transform: none;
  }
}

/* 1117/1116: Postit-kort – mer luft mot kanter på mobil */
@media (max-width: 782px){
  .td-postit{ padding: var(--td-space-4); }
}

.td-actions.td-actions--context {
    margin-top: 5px;
}

.td-actions--context .td-button {
    filter: brightness(1.5);
}


/* 1125: visa sorteringsikoner på alla sorterbara rubriker */

th.td-sortable::after {
    content: "⇅";
    font-size: 0.8em;
    margin-left: 0.3em;
    opacity: 0.5;
}
th.td-sortable.td-sorted-asc::after {
    content: "↑";
    opacity: 1;
}
th.td-sortable.td-sorted-desc::after {
    content: "↓";
    opacity: 1;
}

/* 2.0.48: Kriterieplan – mobilkort finlir
   - Datum och kriterium ska ligga på varsin rad
   - Klick/Repetitioner ska vara centrerade
*/
@media (max-width: 640px){
  /* Tillåt radbrytning i mobilkort */
  #td-criteria-table th,
  #td-criteria-table td{white-space:normal;}

  /* Datum/kriterium i samma cell – men staplade på mobil */
  #td-criteria-table td.td-crit-main input[type="date"],
  #td-criteria-table td.td-crit-main input[type="text"]{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  /* Visa rubrikerna (Klick/Repetitioner) på mobil och centrera */
  .td-crit-field__label{display:block;text-align:center;font-weight:600;margin-bottom:4px;}

  /* Inputs i paren ska vara full bredd och centrerade */
  #td-criteria-table .td-crit-pair{align-items:stretch;}
  #td-criteria-table .td-crit-pair input[type="number"]{width:100% !important;text-align:center;}
}

/* 1081: Mobil topp-rad (desktop påverkas inte) */
.td-topbar{display:none}
@media (max-width:768px){
  .td-topbar{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid rgba(0,0,0,.08);border-radius:12px;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(8px);position:relative;margin:0 0 12px 0}
  .td-topbar__slot{display:flex;align-items:center;justify-content:center;min-width:48px}
  .td-topbar__slot--left{justify-content:flex-start}
  .td-topbar__slot--right{justify-content:flex-end}
  .td-topbar__btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;border:1px solid rgba(0,0,0,.10);text-decoration:none;font-size:20px;line-height:1;color:inherit;background:rgba(255,255,255,.9)}
  .td-topbar__title{font-size:18px;font-weight:700;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}
}

/* 1081: "App-läge" på mobil på Träningsdagbok-sidor.
   - Döljer WP admin bar på mobil (endast när shortcode-rendering är aktiv).
   - Döljer tema-header/titlar endast på dashboardsidan.
*/
@media (max-width:768px){
  body.td-page #wpadminbar{display:none!important}
  html.td-page{margin-top:0!important}
  body.td-page{margin-top:0!important}

  body.td-has-dashboard header.site-header,
  body.td-has-dashboard .site-header,
  body.td-has-dashboard .entry-header,
  body.td-has-dashboard .page-title,
  body.td-has-dashboard .entry-title{display:none!important}
}
