:root{
  --shak-accent:#ff9f43;
  --shak-accent-2:#e67e22;
  --shak-dark:#223042;
  --shak-text:#5c6673;
  --shak-soft:#f6f7fb;
  --shak-soft-2:#fffaf2;
  --shak-border:rgba(34,48,66,.10);
  --shak-shadow:0 18px 45px rgba(16,24,40,.10);
}

.shakshuk-container.shak-routine-wrap{
  direction:rtl;
  font-family:'Cairo',system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  max-width:1100px;
  margin:40px auto;
  padding:0 16px;
}

.shak-routine-wrap .shakshuk-card{
  background:#fff;
  border:1px solid var(--shak-border);
  border-radius:28px;
  box-shadow:var(--shak-shadow);
  overflow:hidden;
}

.shak-routine-wrap .shakshuk-header{
  padding:30px 26px 14px;
  text-align:center;
}
.shak-routine-wrap .shakshuk-header h1{
  margin:0 0 10px;
  font-size:42px;
  line-height:1.2;
  color:var(--shak-dark);
  font-weight:900;
}
.shak-routine-wrap .shakshuk-header h1 span{display:inline-block;margin-inline-start:8px;}
.shak-routine-wrap .shakshuk-header p{
  margin:0 auto;
  max-width:780px;
  color:var(--shak-text);
  font-size:17px;
}

.shak-routine-wrap .shakshuk-hero{
  margin:0 24px 24px;
  border-radius:24px;
  overflow:hidden;
  background:linear-gradient(135deg, rgba(255,159,67,.10), rgba(34,48,66,.03));
  box-shadow:0 10px 24px rgba(16,24,40,.10);
}
.shak-routine-wrap .shakshuk-hero img{
  width:100%;
  display:block;
  min-height:260px;
  max-height:420px;
  object-fit:cover;
}

.shak-routine-wrap .shakshuk-helper-box{
  margin:0 24px 24px;
  border:1px solid rgba(255,159,67,.22);
  border-radius:22px;
  background:linear-gradient(135deg, rgba(255,159,67,.10), rgba(34,48,66,.03));
  padding:18px 20px;
  display:flex;
  align-items:flex-start;
  gap:14px;
}
.shak-routine-wrap .shakshuk-helper-icon{
  width:56px;
  height:56px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:26px;
  background:#fff;
  border:1px solid rgba(255,159,67,.18);
  flex:0 0 auto;
}
.shak-routine-wrap .shakshuk-helper-box strong{
  display:block;
  margin-bottom:4px;
  color:var(--shak-dark);
  font-size:18px;
}
.shak-routine-wrap .shakshuk-helper-box p{
  margin:0;
  color:var(--shak-text);
  font-size:15px;
}

.shak-routine-wrap .shakshuk-form{padding:0 24px 26px;position:relative;}
.shak-routine-wrap .shak-routine-hp{position:absolute !important;left:-9999px !important;top:auto !important;width:1px !important;height:1px !important;overflow:hidden !important;opacity:0 !important;pointer-events:none !important;}
.shak-routine-wrap .shakshuk-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.shak-routine-wrap .shakshuk-input-group{display:flex;flex-direction:column;gap:8px;}
.shak-routine-wrap .shakshuk-input-group--full{grid-column:1 / -1;}
.shak-routine-wrap .shakshuk-input-group label{
  font-weight:800;
  color:var(--shak-dark);
  font-size:15px;
}
.shak-routine-wrap .shakshuk-input-group label small{
  color:#8a8a8a;
  font-weight:700;
}
.shak-routine-wrap .shakshuk-input-group input,
.shak-routine-wrap .shakshuk-input-group select{
  width:100%;
  min-height:54px;
  border:1px solid rgba(34,48,66,.14);
  border-radius:16px;
  padding:0 14px;
  font-size:16px;
  background:#fff;
  color:#2f3742;
}
.shak-routine-wrap .shakshuk-input-group input:focus,
.shak-routine-wrap .shakshuk-input-group select:focus{
  outline:none;
  border-color:rgba(255,159,67,.6);
  box-shadow:0 0 0 4px rgba(255,159,67,.12);
}

.shak-routine-wrap .shakshuk-btn{
  margin-top:18px;
  width:100%;
  min-height:56px;
  border:0;
  border-radius:18px;
  cursor:pointer;
  background:linear-gradient(135deg, var(--shak-accent), var(--shak-accent-2));
  color:#fff;
  font-size:18px;
  font-weight:900;
  text-align:center;
  box-shadow:0 12px 24px rgba(230,126,34,.18);
  transition:.2s ease;
}
.shak-routine-wrap .shakshuk-btn:hover{transform:translateY(-1px);}

.shak-routine-wrap .shakshuk-error{
  margin:0 24px 24px;
  padding:14px 16px;
  border-radius:16px;
  color:#8a1c1c;
  background:#fff4f4;
  border:1px solid #f3c1c1;
  font-weight:800;
}

.shak-routine-result-card{
  padding:0 24px 24px;
}
.shak-routine-result-header{
  margin:6px 0 16px;
  padding:22px;
  border-radius:22px;
  background:var(--shak-soft);
  text-align:center;
}
.shak-routine-result-header h2{margin:0 0 8px;font-size:30px;color:var(--shak-dark);font-weight:900;}
.shak-routine-result-header p{margin:0;color:var(--shak-text);font-size:16px;}

.shak-routine-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 18px;
}
.shak-routine-meta span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(34,48,66,.10);
  color:var(--shak-dark);
  text-decoration:none;
  font-weight:800;
  font-size:14px;
}

.shak-routine-focus-box,
.shak-routine-tips-box{
  margin-bottom:18px;
  padding:20px;
  border-radius:22px;
  background:linear-gradient(180deg, #fff, #fbfcfe);
  border:1px solid var(--shak-border);
}
.shak-routine-focus-box h3,
.shak-routine-tips-box h3,
.shak-routine-timeline h3{
  margin:0 0 10px;
  font-size:22px;
  color:var(--shak-dark);
  font-weight:900;
}
.shak-routine-focus-box p{margin:0;color:var(--shak-text);line-height:1.9;}

.shak-routine-insights{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-bottom:18px;
}
.shak-routine-insight-card{
  border:1px solid var(--shak-border);
  border-radius:20px;
  padding:18px;
  background:#fff;
  box-shadow:0 10px 20px rgba(16,24,40,.04);
}
.shak-routine-insight-card h3{margin:0 0 8px;font-size:18px;color:var(--shak-dark);font-weight:900;}
.shak-routine-insight-card p{margin:0;color:var(--shak-text);font-size:15px;line-height:1.85;}

.shak-routine-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 18px;
}
.shak-routine-action-btn{
  min-height:46px;
  border:0;
  border-radius:14px;
  padding:0 18px;
  background:var(--shak-accent);
  color:#fff;
  font-size:15px;
  font-weight:900;
  cursor:pointer;
}
.shak-routine-action-btn--secondary{
  background:#fff;
  color:var(--shak-dark);
  border:1px solid rgba(34,48,66,.12);
}

.shak-routine-timeline{
  margin-bottom:18px;
  padding:20px;
  border-radius:22px;
  background:#fff;
  border:1px solid var(--shak-border);
}
.shak-routine-timeline-list{display:grid;gap:14px;}
.shak-routine-time-row{
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:16px;
  border-radius:18px;
  background:var(--shak-soft);
  border:1px solid rgba(34,48,66,.08);
}
.shak-routine-time-icon{
  width:50px;
  height:50px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  background:#fff;
  border:1px solid rgba(255,159,67,.18);
  flex:0 0 auto;
}
.shak-routine-time-content{flex:1;}
.shak-routine-time-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:6px;
}
.shak-routine-time-head strong{font-size:18px;color:var(--shak-dark);font-weight:900;}
.shak-routine-time-head span{font-size:14px;color:#6a7380;font-weight:800;white-space:nowrap;}
.shak-routine-time-content p{margin:0;color:var(--shak-text);font-size:14px;line-height:1.8;}

.shak-routine-time-row--nap{background:#f8fbff;}
.shak-routine-time-row--sleep{background:#fff9f3;}
.shak-routine-time-row--meal{background:#fffdf9;}
.shak-routine-time-row--bath,
.shak-routine-time-row--story{background:#fcfbff;}

.shak-routine-tips-box ul{
  margin:0;
  padding-right:18px;
  color:var(--shak-text);
  line-height:2;
  font-size:15px;
  font-weight:700;
}

.shak-routine-wrap .shakshuk-disclaimer{
  margin:0 24px 28px;
  text-align:center;
  color:#6f6f6f;
  font-size:15px;
  font-weight:700;
}

.shak-routine-loader{
  position:fixed;
  inset:0;
  background:rgba(34,48,66,.35);
  backdrop-filter:blur(4px);
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
}
.shak-routine-loader[hidden]{display:none !important;}
.shak-routine-loader__box{
  width:min(520px, 100%);
  background:#fff;
  border-radius:24px;
  padding:18px;
  box-shadow:0 18px 50px rgba(16,24,40,.22);
  text-align:center;
}
.shak-routine-loader__hero{
  border-radius:18px;
  overflow:hidden;
  margin-bottom:14px;
}
.shak-routine-loader__hero img{width:100%;display:block;max-height:220px;object-fit:cover;}
.shak-routine-loader__box strong{display:block;font-size:24px;color:var(--shak-dark);margin-bottom:8px;font-weight:900;}
.shak-routine-loader__box p{margin:0 0 14px;color:var(--shak-text);font-size:15px;}
.shak-routine-loader__progress{height:10px;border-radius:999px;background:#f0f2f7;overflow:hidden;}
.shak-routine-loader__progress span{display:block;height:100%;width:38%;background:linear-gradient(135deg,var(--shak-accent),var(--shak-accent-2));animation:shakRoutineLoading 1.2s ease-in-out infinite alternate;}

@keyframes shakRoutineLoading{
  from{transform:translateX(-15%);}
  to{transform:translateX(120%);}
}

@media print{
  body *{visibility:hidden;}
  #shak-routine-result, #shak-routine-result *{visibility:visible;}
  #shak-routine-result{position:absolute;top:0;left:0;width:100%;}
  .shak-routine-actions{display:none !important;}
}

@media (max-width: 900px){
  .shak-routine-insights{grid-template-columns:1fr;}
}

@media (max-width: 768px){
  .shak-routine-wrap .shakshuk-form-grid{grid-template-columns:1fr;}
  .shak-routine-time-head{flex-direction:column;align-items:flex-start;}
}

@media (max-width: 640px){
  .shakshuk-container.shak-routine-wrap{padding:0 10px;}
  .shak-routine-wrap .shakshuk-card{border-radius:20px;}
  .shak-routine-wrap .shakshuk-header{padding:22px 16px 12px;}
  .shak-routine-wrap .shakshuk-header h1{font-size:30px;}
  .shak-routine-wrap .shakshuk-header p{font-size:15px;}
  .shak-routine-wrap .shakshuk-hero,
  .shak-routine-wrap .shakshuk-helper-box,
  .shak-routine-wrap .shakshuk-form,
  .shak-routine-result-card,
  .shak-routine-wrap .shakshuk-disclaimer{margin-left:14px;margin-right:14px;}
  .shak-routine-wrap .shakshuk-helper-box{padding:16px;}
  .shak-routine-wrap .shakshuk-hero img{min-height:200px;max-height:300px;}
  .shak-routine-time-row{padding:14px;}
  .shak-routine-time-icon{width:44px;height:44px;font-size:22px;}
  .shak-routine-time-head strong{font-size:17px;}
}
