/* Layout ispirato alla demo Landrick e-book; limitato alla pagina /categorie. */
.at-hub{--at-ink:#14283f;--at-muted:#526c83;--at-blue:#2368bd;--at-line:#dae6f0;color:var(--at-ink);font-family:Inter,"Segoe UI",Arial,sans-serif;line-height:1.55;overflow:hidden}
.at-hub *{box-sizing:border-box}
.at-hub h1,.at-hub h2,.at-hub p{margin:0;letter-spacing:normal;text-transform:none}
.at-hub h1,.at-hub h2,.at-hub strong{color:var(--at-ink)}
.at-hub a:focus-visible,.at-hub input:focus-visible{outline:3px solid #f5ae45;outline-offset:3px}
.at-container{width:min(100% - 36px,1160px);margin-inline:auto}
.at-eyebrow{display:inline-block;color:var(--at-blue);font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.at-hero{padding:26px 0 72px;background:radial-gradient(circle at 78% 24%,#deecfc 0,#f4f8fd 42%,#f8fbfe 78%)}
.at-breadcrumb{display:flex;gap:10px;align-items:center;margin-bottom:32px;color:#70869b;font-size:13px}
.at-breadcrumb a{color:var(--at-blue);font-weight:650;text-decoration:none}
.at-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(310px,.85fr);gap:55px;align-items:center}
.at-hero h1{max-width:690px;margin:12px 0 18px;font-size:clamp(39px,4.6vw,60px);font-weight:780;line-height:1.07;letter-spacing:-.045em}
.at-hero-copy>p{max-width:610px;color:var(--at-muted);font-size:18px;line-height:1.65}
.at-search-box{max-width:650px;margin-top:29px;padding:22px;border:1px solid #d8e5f3;border-radius:18px;background:#fff;box-shadow:0 22px 55px rgba(26,58,92,.12)}
.at-search-box label{display:block;margin-bottom:11px;color:#263e56;font-size:15px;font-weight:750}
.at-input-row{position:relative;display:flex;align-items:center;gap:10px}
.at-input-row>span{position:absolute;top:13px;left:15px;color:#5e7690;font-size:27px;line-height:1}
.at-input-row input{min-width:0;flex:1;height:56px;padding:0 12px 0 44px;border:1.5px solid #bdcede;border-radius:10px;background:#fff;color:var(--at-ink);font:inherit;font-size:15px;box-shadow:none}
.at-input-row input::placeholder{color:#8499ad}
.at-input-row input:focus{border-color:var(--at-blue)}
.at-input-row>a,.at-next-inner>a{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:56px;padding:0 20px;border-radius:10px;background:linear-gradient(135deg,#2379c9,#3154c0);box-shadow:0 8px 20px rgba(35,100,190,.19);color:#fff;font-size:14px;font-weight:800;text-decoration:none;white-space:nowrap}
.at-input-row>a:hover,.at-next-inner>a:hover{color:#fff;text-decoration:none;filter:brightness(1.05)}
.at-search-status{min-height:19px;margin-top:10px!important;color:#71869a;font-size:12px}
.at-hero-links{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;margin-top:19px;font-size:13px}
.at-hero-links>a{color:var(--at-blue);font-weight:800;text-decoration:none}
.at-hero-links>a:hover{text-decoration:underline}
.at-hero-links>span{color:var(--at-muted)}
.at-hero-visual{position:relative;height:430px}
.at-document{position:absolute;width:78%;height:375px;padding:30px;border:1px solid #dbe7f2;border-radius:17px;background:#fff;box-shadow:0 24px 50px rgba(28,64,103,.15)}
.at-document-back{top:12px;right:4px;transform:rotate(7deg);background:#eaf4ff}
.at-document-back span{display:block;width:62%;height:11px;margin:15px 0;border-radius:20px;background:#c9def3}
.at-document-front{top:40px;left:4px;transform:rotate(-4deg)}
.at-document-kicker{display:block;color:var(--at-blue);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.at-document-front strong{display:block;margin:12px 0 20px;font-size:29px;line-height:1.12}
.at-document-rule{height:6px;margin-bottom:18px;border-radius:5px;background:#b81936}
.at-document-row{display:flex;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid #e9eff5;font-size:13px;font-weight:650}
.at-document-row b{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:#edf5fd;color:var(--at-blue);font-size:12px}
.at-document-foot{margin-top:20px;color:#788da0;font-size:11px}
.at-visual-tag{position:absolute;right:-4px;bottom:0;padding:13px 16px;border:1px solid #dce8f3;border-radius:12px;background:#fff;box-shadow:0 12px 30px rgba(28,64,103,.13);font-size:13px;font-weight:800}
.at-visual-tag span{margin-left:10px;color:var(--at-blue)}
.at-catalog{padding:66px 0 76px;background:#fff}
.at-section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:26px}
.at-section-heading h2,.at-next h2{margin:8px 0 11px;font-size:clamp(28px,3vw,39px);font-weight:780;line-height:1.16;letter-spacing:-.03em}
.at-section-heading p,.at-next p{color:var(--at-muted);font-size:16px}
.at-section-heading>a{padding-bottom:7px;color:var(--at-blue);font-size:14px;font-weight:800;white-space:nowrap;text-decoration:none}
.at-section-heading>a:hover{text-decoration:underline}
.at-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.at-card{display:flex;flex-direction:column;min-height:183px;padding:22px 22px 18px;border:1px solid var(--at-line);border-radius:15px;background:#fff;box-shadow:0 10px 28px rgba(31,67,103,.05);text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.at-card:hover{transform:translateY(-3px);border-color:#8dbbe8;box-shadow:0 18px 34px rgba(31,67,103,.11);text-decoration:none}
.at-card[hidden],.at-empty[hidden]{display:none!important}
.at-card-label{margin-bottom:11px;color:var(--at-blue);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.at-card strong{display:block;font-size:16px;font-weight:780;line-height:1.35}
.at-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:20px;color:#59728b;font-size:12px;font-weight:700}
.at-card-foot span{color:var(--at-blue);font-size:19px;line-height:1}
.at-empty{padding:26px;border:1px dashed #b6cadc;border-radius:12px;color:var(--at-muted);text-align:center}
.at-next{padding:56px 0;background:#f4f8fd;border-top:1px solid #e3edf6}
.at-next-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}
.at-next h2{margin-bottom:9px}
@media(max-width:900px){.at-hero-grid{grid-template-columns:1fr;gap:22px}.at-hero-visual{height:350px;max-width:430px;margin:auto;width:100%}.at-document{height:320px}.at-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.at-hero{padding:22px 0 48px}.at-breadcrumb{margin-bottom:23px}.at-hero h1{font-size:39px}.at-hero-copy>p{font-size:16px}.at-search-box{padding:17px}.at-input-row{flex-wrap:wrap}.at-input-row input{flex-basis:100%;width:100%}.at-input-row>a{width:100%}.at-hero-visual{height:290px;max-width:350px}.at-document{height:265px;padding:20px}.at-document-front strong{font-size:22px;margin:8px 0 13px}.at-document-row{padding:6px 0;font-size:11px}.at-document-foot{margin-top:12px}.at-visual-tag{right:0;bottom:0}.at-catalog{padding:48px 0 55px}.at-section-heading{display:block}.at-section-heading>a{display:inline-block;margin-top:15px}.at-grid{grid-template-columns:1fr;gap:11px}.at-card{min-height:145px;padding:17px}.at-next-inner{align-items:stretch;flex-direction:column}.at-next-inner>a{align-self:flex-start}}
@media(prefers-reduced-motion:reduce){.at-card{transition:none}}

/* Pagine /categorie/{macro} e /categorie/tutte. */
.at-detail-hero{padding:26px 0 68px;background:radial-gradient(circle at 79% 21%,#deecfc 0,#f4f8fd 43%,#f8fbfe 78%)}
.at-detail .at-breadcrumb{flex-wrap:wrap;line-height:1.5}
.at-detail-hero-grid{display:grid;grid-template-columns:minmax(0,1.14fr) minmax(300px,.86fr);gap:52px;align-items:center}
.at-detail h1{max-width:720px;margin:12px 0 18px;font-size:clamp(36px,4.3vw,56px);font-weight:780;letter-spacing:-.044em;line-height:1.09;overflow-wrap:break-word}
.at-detail-copy>p{max-width:640px;color:var(--at-muted);font-size:18px;line-height:1.65}
.at-detail-points{display:flex;flex-wrap:wrap;gap:9px 16px;margin-top:21px;color:#526b82;font-size:13px;font-weight:650}
.at-detail-points span:before{content:"✓";display:inline-grid;place-items:center;width:18px;height:18px;margin-right:6px;border-radius:50%;background:#e2f4ee;color:#128461;font-size:11px}
.at-detail-search{margin-top:28px}
.at-detail-visual{position:relative;min-height:365px}
.at-detail-sheet{position:absolute;top:8px;left:14px;width:calc(100% - 40px);min-height:350px;padding:29px;border:1px solid #dce7f2;border-radius:18px;background:#fff;box-shadow:0 23px 50px rgba(28,64,103,.15);transform:rotate(3deg)}
.at-detail-sheet:before{content:"";position:absolute;z-index:-1;inset:12px -13px -12px 13px;border:1px solid #dce7f2;border-radius:18px;background:#eaf4ff;transform:rotate(4deg)}
.at-detail-sheet>strong{display:block;margin:12px 0 20px;color:var(--at-ink);font-size:28px;line-height:1.15}
.at-detail-sheet-row{display:grid;grid-template-columns:43px minmax(0,1fr);gap:12px;align-items:center;min-height:57px;padding:8px 0;border-bottom:1px solid #e8eff5;font-size:12px}
.at-detail-sheet-row b{display:grid;place-items:center;min-height:28px;border-radius:7px;background:#edf5fd;color:var(--at-blue);font-weight:800}
.at-detail-sheet-row span{overflow:hidden;color:var(--at-ink);font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.at-detail-catalog{padding-top:62px}
.at-code-card{min-height:177px}
.at-code-line{display:flex;align-items:flex-start;gap:13px}
.at-code-line b{flex:none;display:grid;place-items:center;min-width:39px;min-height:35px;padding:0 7px;border-radius:8px;background:#edf5fd;color:var(--at-blue);font-size:14px;font-weight:800}
.at-code-line strong{overflow-wrap:anywhere;font-size:16px;font-weight:780;line-height:1.38}
@media(max-width:900px){.at-detail-hero-grid{grid-template-columns:1fr;gap:34px}.at-detail-visual{min-height:330px;max-width:470px;width:100%;margin:auto}.at-detail-sheet{min-height:310px}}
@media(max-width:620px){.at-detail-hero{padding:22px 0 48px}.at-detail h1{font-size:36px}.at-detail-copy>p{font-size:16px}.at-detail-visual{min-height:275px;max-width:350px}.at-detail-sheet{min-height:255px;padding:20px}.at-detail-sheet>strong{margin:8px 0 12px;font-size:22px}.at-detail-sheet-row{min-height:43px;padding:5px 0;font-size:11px}.at-detail-sheet .at-document-foot{margin-top:12px}.at-code-card{min-height:150px}}
