/* id:theme-css-v2 | /assets/css/custom.css */
/* -------------------------------------------------
   Fjällbröd – Gemensam grafisk design (mobil först)
   Fokus: tydlig läsbarhet, bra kontrast, stora klickytor
   ------------------------------------------------- */

/* id:theme-vars */
:root{
  --fb-bg: #f9f7f2;           /* Ljus bakgrund */
  --fb-surface: #ffffff;       /* Kort/bakgrundsytor */
  --fb-primary: #245a2f;       /* Grön primär */
  --fb-primary-600:#1e4b28;
  --fb-accent: #e7b04b;        /* Gyllene accent */
  --fb-accent-600:#cc9a3f;
  --fb-text: #1b1b1b;          /* Huvudtext */
  --fb-muted: #6b6b6b;
  --fb-border: #e6e1d8;
  --fb-shadow: 0 8px 24px rgba(0,0,0,.06);

  --radius: 14px;
  --radius-sm: 10px;
  --radius-lg: 18px;

  --focus: 0 0 0 3px rgba(36,90,47,.25);
}

/* id:theme-base */
html,body{
  background: var(--fb-bg);
  color: var(--fb-text);
}
body{
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* id:theme-typo */
h1,h2,h3,h4{
  letter-spacing: .2px;
}
.lead{
  color: var(--fb-muted);
}

/* id:theme-navbar */
.navbar{
  background: var(--fb-surface)!important;
  box-shadow: var(--fb-shadow);
  border-bottom: 1px solid var(--fb-border);
}
.navbar-brand{
  font-weight: 700;
  letter-spacing:.3px;
}
.nav-link{
  font-weight: 600;
}
.nav-link.active{
  color: var(--fb-primary)!important;
}

/* id:theme-container-padding */
.container{
  padding-left: .75rem;
  padding-right: .75rem;
}

/* id:theme-cards */
.card{
  border: 1px solid var(--fb-border);
  border-radius: var(--radius);
  box-shadow: var(--fb-shadow);
  overflow: hidden;
  background: var(--fb-surface);
}
.card .card-img-top{
  border-bottom: 1px solid var(--fb-border);
}
.card-title{
  margin-bottom:.35rem;
  font-weight:700;
}
.card .badge{
  align-self:flex-start;
  border-radius: 999px;
  padding:.4rem .6rem;
}

/* id:theme-buttons */
.btn{
  border-radius: 999px;
  padding:.65rem 1.1rem;
  font-weight:700;
}
.btn-lg{
  padding:.85rem 1.35rem;
}
.btn-success, .btn-primary{
  background: var(--fb-primary);
  border-color: var(--fb-primary);
}
.btn-success:hover, .btn-primary:hover{
  background: var(--fb-primary-600);
  border-color: var(--fb-primary-600);
}
.btn-outline-danger{
  border-radius: 999px;
}

/* id:theme-forms */
.form-control, .form-select{
  border-radius: var(--radius-sm);
  border:1px solid var(--fb-border);
  background:#fff;
  padding:.7rem .9rem;
}
.form-control:focus, .form-select:focus{
  box-shadow: var(--focus);
  border-color: var(--fb-primary);
}
.form-label{
  font-weight:600;
  color: var(--fb-text);
}

/* id:theme-checks */
.form-check-input{
  width: 1.25rem;
  height: 1.25rem;
  border:1px solid var(--fb-border);
}
.form-check-input:checked{
  background-color: var(--fb-primary);
  border-color: var(--fb-primary);
}

/* id:theme-alerts */
.alert{
  border-radius: var(--radius);
  border:1px solid var(--fb-border);
}
.alert-info{
  background:#eef7f0;
  color:#12431f;
  border-color:#dcefe2;
}
.alert-warning{
  background:#fff6e6;
  color:#6b4a00;
  border-color:#fde8c4;
}
.alert-danger{
  background:#ffecec;
  color:#7a1e1e;
  border-color:#ffd1d1;
}
.alert-success{
  background:#ecf8ef;
  color:#134523;
  border-color:#d3eedb;
}

/* id:theme-table */
.table{
  background: var(--fb-surface);
  border-radius: var(--radius);
  overflow:hidden;
  box-shadow: var(--fb-shadow);
}
.table thead th{
  background:#faf7f0;
  border-bottom:1px solid var(--fb-border);
}
.table tfoot td{
  border-top:1px solid var(--fb-border);
}

/* id:theme-helpers */
.calendar-card{
  background: var(--fb-surface);
  border-radius: var(--radius);
  box-shadow: var(--fb-shadow);
  border:1px solid var(--fb-border);
}
.badge.bg-secondary{
  background:#e9ecef!important;
  color:#1b1b1b!important;
}
.badge.bg-danger{
  background:#df3b3b!important;
}
.text-muted{
  color: var(--fb-muted)!important;
}

/* id:theme-mobile */
@media (max-width: 576px){
  .card .card-body{
    padding: .9rem .9rem 1rem;
  }
  .navbar .btn.btn-link{
    padding-left:.25rem;
    padding-right:.25rem;
  }
}

/* id:theme-accessibility */
a:focus, button:focus, .form-control:focus, .form-select:focus{
  outline: none;
  box-shadow: var(--focus);
}
@media (prefers-reduced-motion: reduce){
  *{ animation:none!important; transition:none!important; }
}

/* id:theme-hero */
.fb-hero{
  background: linear-gradient(180deg, #fff, var(--fb-bg));
  border: 1px solid var(--fb-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--fb-shadow);
}
.fb-hero-logo{
  max-height: 180px;
  filter: drop-shadow(0 4px 16px rgba(0,0,0,.08));
}

/* id:theme-context-banner-v1 */
/* Gemensam banner överst som visar stuga + vald dag */
.context-banner{
  background:#f8fafc;
  border:1px solid #e5e7eb;
  border-radius:16px;
}
.context-big{
  font-weight:700;
  font-size:1.5rem;           /* större på mobil */
}
.vr-faint { opacity: .15; }
@media (min-width:768px){
  .context-big{ font-size:2rem; }
}

/* id:theme-product-images-v1 */
/* Extra luft runt produktbilder i korten */
.product-img-wrap{
  padding:0.75rem;
}
.product-img-wrap img{
  display:block;
  margin:0 auto;
  max-width:100%;
  height:auto;
}

/* id:theme-daytiles-v1 */
/* Dag-val som stora klickbara tiles (mobil först) */
.day-tile{
  display: grid;
  grid-template-areas:
    "weekday"
    "date"
    "month";
  place-items: center;
  text-align: center;
  background: #fff;
  border: 1.5px solid var(--fb-border);
  border-radius: 16px;
  padding: .9rem .5rem 1rem;
  box-shadow: var(--fb-shadow);
  cursor: pointer;
  user-select: none;
  transition: transform .08s ease, border-color .12s ease, background .12s ease, box-shadow .12s ease;
}
.day-tile:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
}
.day-tile:focus{
  outline: none;
  box-shadow: var(--focus);
}
.day-tile__weekday{
  grid-area: weekday;
  font-size: .9rem;
  font-weight: 600;
  color: var(--fb-muted);
}
.day-tile__date{
  grid-area: date;
  font-size: 2rem;
  line-height: 1.1;
  font-weight: 800;
  color: var(--fb-primary);
  margin-top: .15rem;
}
.day-tile__month{
  grid-area: month;
  font-size: .9rem;
  color: #444;
}
/* Aktiv/vald tile via bootstrap .btn-check + label[for] */
.btn-check:checked + .day-tile{
  border-color: var(--fb-primary);
  background: #f2f7f3;
  box-shadow: 0 0 0 2px rgba(36,90,47,.08), var(--fb-shadow);
  transform: translateY(-1px);
}
/* Små skärmar: justera datumstorlek */
@media (max-width: 360px){
  .day-tile__date{ font-size: 1.8rem; }
}

/* id:theme-daytiles-done */
/* När dagar är valda i butik markerar vi blocket som "klart" */
.day-tiles-done .day-tile{
  opacity: .85;
  border-color: #cfe3d4;
}
.day-tiles-done .btn-check:checked + .day-tile{
  border-color: var(--fb-primary);
  background: #eef7f0;
  opacity: 1;
}
