/* Glowpedia Learn: the hub, the skin type quiz, routines (with Amazon buttons), Advice and Teeth. Loaded after site.css (and blog.css on articles).
   Logical properties (inline-start/end) so the same rules work right to left in Arabic. */

/* quiz call to action (Learn hub, home) */
.quizcta{position:relative;display:grid;grid-template-columns:minmax(0,170px) minmax(0,1fr);gap:22px;align-items:center;padding:22px;text-decoration:none;color:var(--ink);overflow:hidden;border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,var(--holo) border-box}
.quizcta .btn{align-self:flex-start}
.quizcta-t{font:800 clamp(1.3rem,2.6vw,1.8rem)/1.15 var(--f-display);letter-spacing:-.02em}
.quizcta-art{position:relative;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0 18%,transparent 19%),conic-gradient(from 200deg,#FFB3D3,#C9B2FF,#8FE3FF,#7FE8D4,#FFE08A,#FFB3D3);box-shadow:inset 0 0 0 10px rgb(255 255 255 / .55),0 20px 40px -24px rgb(122 60 255 / .6)}
.quizcta-art i{position:absolute;border-radius:50%;background:rgb(255 255 255 / .75)}
.quizcta-art i:nth-child(1){width:16%;height:16%;inset-inline-start:58%;top:22%}
.quizcta-art i:nth-child(2){width:10%;height:10%;inset-inline-start:26%;top:62%}
.quizcta-art i:nth-child(3){width:7%;height:7%;inset-inline-start:66%;top:66%}
.learngrid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px;align-items:start}
.minilist{padding:16px 18px;display:flex;flex-direction:column;gap:8px}
.minilist a{color:var(--ink);font-weight:600;text-decoration:none;line-height:1.35}
.minilist a:hover{color:var(--violet-i);text-decoration:underline}
.minilist a.more{color:var(--violet-i)}
.guidecta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:18px 20px;text-decoration:none;color:var(--ink)}
.guidecta b{font:700 1.1rem/1.2 var(--f-display)}

/* skin type cards */
.typecards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:12px}
.typecard{position:relative;display:flex;flex-direction:column;gap:8px;padding:20px 18px 18px;text-decoration:none;color:var(--ink);overflow:hidden;min-width:0}
.typecard::before{content:"";position:absolute;inset:0 0 auto;height:5px;background:var(--holo)}
.typecard.t-oily::before{background:linear-gradient(90deg,#4FD3FF,#00B4F0)}
.typecard.t-dry::before{background:linear-gradient(90deg,#FF6FAE,#FF2E88)}
.typecard.t-combination::before{background:linear-gradient(90deg,#B08BFF,#7A3CFF)}
.typecard.t-normal::before{background:linear-gradient(90deg,#4FE0C4,#00C9A7)}
.typecard.t-sensitive::before{background:linear-gradient(90deg,#FFB070,#FF7A1A)}
.typecard .pill{align-self:flex-start;padding:6px 10px;font-size:.72rem}
.typecard b{font:700 1.15rem/1.25 var(--f-display)}
.typecard .fn{font-size:.92rem;color:var(--muted);line-height:1.45}
.typecard .small{font-size:.84rem;line-height:1.5}

/* the quiz */
.quizwrap{display:flex;flex-direction:column;gap:18px;padding-block:8px 64px;max-width:820px}
.quiz{padding:clamp(18px,3vw,30px);display:flex;flex-direction:column;gap:22px}
.qprog{height:8px;border-radius:99px;background:var(--tint);overflow:hidden;display:none}
.qprog i{display:block;height:100%;width:0;background:var(--holo);background-size:200% 100%;border-radius:99px;transition:width .35s ease}
.quiz.stepping .qprog{display:block}
.qstep{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:14px}
.qstep legend{padding:0;display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.qnum{font:800 .72rem/1.3 var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--violet-i)}
.qq{font:700 clamp(1.15rem,2.4vw,1.45rem)/1.3 var(--f-display);letter-spacing:-.01em}
.qopts{display:grid;gap:10px}
.qopt{position:relative;display:flex;align-items:center;gap:12px;padding:14px 16px;border:1.5px solid var(--line);border-radius:16px;background:#fff;cursor:pointer;font-weight:600;line-height:1.35;transition:border-color .15s,background .15s,transform .15s}
.qopt:hover{border-color:#CDBDFF;background:var(--tint)}
.qopt input{appearance:none;-webkit-appearance:none;flex:none;width:22px;height:22px;margin:0;border:2px solid #CFCBE4;border-radius:50%;background:#fff;display:grid;place-items:center;transition:border-color .15s,background .15s}
.qopt input[type=checkbox]{border-radius:7px}
.qopt input::after{content:"";width:10px;height:10px;border-radius:50%;background:#fff;transform:scale(0);transition:transform .15s}
.qopt input[type=checkbox]::after{width:11px;height:6px;border-radius:0;background:none;border-inline-start:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:rotate(-45deg) scale(0);margin-top:-3px}
.qopt input:checked{border-color:var(--violet);background:var(--violet)}
.qopt input:checked::after{transform:scale(1)}
.qopt input[type=checkbox]:checked::after{transform:rotate(-45deg) scale(1)}
.qopt:has(input:checked){border-color:var(--violet);background:var(--violet-s)}
.qopt:has(input:disabled){opacity:.5;cursor:not-allowed}
.qopt input:focus-visible{outline:3px solid var(--violet);outline-offset:3px}
.qnav{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.qback{margin-inline-end:auto;font:700 .9rem/1 var(--f-body);background:none;border:0;color:var(--muted);cursor:pointer;padding:12px 4px}
.qback:hover{color:var(--ink)}
.qnav .btn{border:0;cursor:pointer;font-family:var(--f-body)}
.qerr{color:var(--bad);font-weight:700}
.quiz.stepping .qstep{display:none}
.quiz.stepping .qstep.on{display:flex;animation:qin .3s ease}
@keyframes qin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.unrev{align-self:flex-start}

/* routine page */
.rhead-in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);gap:clamp(20px,4vw,48px);align-items:start}
.rhead h1{font-size:clamp(1.8rem,4.4vw,3rem)}
.rhead .note a{font-weight:700}
.signs summary{cursor:pointer;font-weight:700;color:var(--violet-i)}
.signs ul{margin:8px 0 0;padding-inline-start:1.2em;display:flex;flex-direction:column;gap:4px}
.buybox{padding:20px;display:flex;flex-direction:column;gap:12px;position:sticky;top:84px;border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#FFC24A,#FF7A1A 40%,#FF2E88) border-box}
.buybox h2{font-size:1.3rem}
.buyparts{display:flex;flex-wrap:wrap;gap:8px}
.buyparts .btn{padding:10px 13px;font-size:.84rem}
.rtabs{position:sticky;top:61px;z-index:20;background:rgb(255 255 255 / .9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-block:1px solid var(--line)}
.rtabs .wrap{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding-block:8px}
.rtabs .wrap::-webkit-scrollbar{display:none}
.rtabs a{flex:none;font:700 .86rem/1 var(--f-body);color:var(--muted);text-decoration:none;padding:9px 13px;border-radius:99px}
.rtabs a:hover{background:var(--tint);color:var(--ink)}
.rpart{scroll-margin-top:120px}
.rpart.r-am{background:linear-gradient(180deg,#FFF8EC,#fff 60%)}
.rpart.r-pm{background:linear-gradient(180deg,#F1EEFF,#fff 60%)}
.ico{display:inline-block;width:14px;height:14px;border-radius:50%;vertical-align:-2px}
.ico-sun{background:radial-gradient(circle,#FFC21A 45%,transparent 47%),conic-gradient(#FFC21A 0 10%,transparent 0 15%,#FFC21A 0 25%,transparent 0 30%,#FFC21A 0 40%,transparent 0 45%,#FFC21A 0 55%,transparent 0 60%,#FFC21A 0 70%,transparent 0 75%,#FFC21A 0 85%,transparent 0 90%,#FFC21A 0)}
.ico-moon{background:radial-gradient(circle at 70% 35%,transparent 42%,#7A3CFF 44%)}
.ico-spark{background:conic-gradient(from 45deg,#00C9A7,#00B4F0,#7A3CFF,#FF2E88,#00C9A7);border-radius:3px;transform:rotate(45deg) scale(.8)}
.eyebrow .ico{margin-inline-end:2px}
.rpart .eyebrow::before{display:none}
.rsteps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;counter-reset:none}
.rstep{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,230px);gap:16px 18px;padding:18px;align-items:start}
.rstep.rconcern{border-color:#FFC1DB;background:linear-gradient(135deg,#FFF6FA,#fff 50%)}
.rnum{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font:800 1rem/1 var(--f-display);color:#fff;background:var(--ink)}
.r-am .rnum{background:linear-gradient(135deg,#FFB21A,#FF7A1A)}
.r-pm .rnum{background:linear-gradient(135deg,#9C6BFF,#5A1FE0)}
.r-weekly .rnum{background:linear-gradient(135deg,#00C9A7,#00B4F0)}
.rconcern .rnum{background:linear-gradient(135deg,#FF6FAE,#FF2E88)}
.rtext h3{font-size:1.15rem}
.rtext p{max-width:68ch}
.rhow{background:var(--tint);border-radius:12px;padding:10px 12px;font-size:.95rem}
.rprod{display:flex;flex-direction:column;gap:6px;min-width:0}
.rpimg{display:grid;place-items:center;aspect-ratio:4/3;border-radius:14px;background:linear-gradient(160deg,#FBF9FF,var(--tint));overflow:hidden;border:1px solid var(--line)}
.rpimg img{width:100%;height:100%;object-fit:contain;padding:8px}
.rpname{font:700 .95rem/1.3 var(--f-body);color:var(--ink);text-decoration:none;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.rpname:hover{text-decoration:underline}
.rprod .btn{width:100%;margin-top:4px}
.rtbl{padding:0;overflow-x:auto}
.rtbl table{width:100%;border-collapse:collapse;font-size:.9rem;line-height:1.45}
.rtbl th,.rtbl td{padding:11px 14px;text-align:start;vertical-align:top}
.rtbl th{background:var(--tint);font:800 .72rem/1.3 var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.rtbl td{border-top:1px solid var(--line)}
.rtbl td:nth-child(2){white-space:nowrap;font-weight:700;color:var(--violet-i)}
.careful,.tips{margin:0;padding-inline-start:1.2em;display:flex;flex-direction:column;gap:8px}
.careful li::marker{color:var(--warn)}
.tips li::marker{color:var(--violet)}
.adjust{padding:16px 18px;display:flex;flex-wrap:wrap;gap:14px 20px;align-items:flex-end}
.adjust fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.adjust .sel{display:flex;align-items:center;gap:8px;font:700 .82rem/1 var(--f-body);color:var(--muted)}
.adjust select{font:700 .88rem/1 var(--f-body);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:var(--tint)}
.adjust .btn{border:0;cursor:pointer}

/* Advice and Teeth articles */
.teethhead .aurora i:nth-child(1){background:#8FE3FF}
.teethhead .aurora i:nth-child(2){background:#7FE8D4}
.shopbox{padding:18px 20px;display:flex;flex-direction:column;gap:10px;max-width:70ch;border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#FFC24A,#FF7A1A 50%,#FF2E88) border-box}
.shoplinks{display:flex;flex-wrap:wrap;gap:8px}
.shoplinks .btn{white-space:normal;text-align:center;line-height:1.25}
.bl-main > .doctor{max-width:70ch}
.faq{max-width:70ch}
.faq details{padding:0;box-shadow:none}
.faq summary{cursor:pointer;list-style:none;padding:14px 16px;font-weight:700;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:800 1.2rem/1 var(--f-display);color:var(--violet-i)}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 16px 14px;color:var(--muted)}
.sources ul{margin:0;padding-inline-start:1.2em;font-size:.92rem;display:flex;flex-direction:column;gap:6px}
.sources a{overflow-wrap:anywhere}
.quizside{display:flex;flex-direction:column;gap:6px;padding:16px;text-decoration:none;color:var(--ink);border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,var(--holo) border-box;box-shadow:none}
.quizside b{font:700 1rem/1.3 var(--f-display)}
.quizside span{font-size:.86rem;color:var(--muted)}

@media (max-width:980px){
  .rhead-in,.learngrid{grid-template-columns:minmax(0,1fr)}
  .buybox{position:static}
  .rtabs{top:104px}
}
@media (max-width:760px){
  .quizcta{grid-template-columns:minmax(0,1fr)}
  .quizcta-art{width:92px}
  .rstep{grid-template-columns:auto minmax(0,1fr);padding:16px}
  .rprod{grid-column:1 / -1;display:grid;grid-template-columns:96px minmax(0,1fr);gap:4px 12px;align-items:start}
  .rpimg{grid-row:span 4;aspect-ratio:1}
  .rprod .btn{grid-column:1 / -1}
  .rprod.none{display:flex}
}
@media (prefers-reduced-motion:reduce){.quiz.stepping .qstep.on{animation:none}}
