
/* =========================================
   DOVELIO - NOTEBOOK HERO
========================================= */

.notebook-hero {
    width: 100%;
    max-width: 560px;
    justify-self: center;
    position: relative;
}

/* =========================================
   ESTRUTURA DO CADERNO
========================================= */

.notebook-card {
    position: relative;
    width: 100%;
    filter: drop-shadow(
        0 24px 48px rgba(30, 61, 53, 0.16)
    );
}

/* Segunda folha ligeiramente inclinada */
.notebook-card::before {
    content: "";
    position: absolute;
    inset: 10px 10px -8px 10px;

    background: #EFE5D5;
    border: 1px solid rgba(164, 149, 124, 0.20);
    border-radius: 14px;

    transform: rotate(-1.2deg);
    z-index: 0;

    box-shadow:
        0 14px 30px rgba(30, 61, 53, 0.08);
}

/* =========================================
   FOLHA PRINCIPAL
========================================= */

.notebook-paper {
    --notebook-line: 32px;

    position: relative;
    z-index: 1;

    width: 100%;
    padding: 30px 40px 26px 22px;

    background: #F8F3E8;

    border: 1px solid rgba(164,149,124,.32);
    border-radius: 14px;

    overflow: hidden;
    transform: none;

    box-shadow:
        inset 0 1px rgba(255,255,255,.82),
        0 14px 34px rgba(30,61,53,.08);
}

/* Textura subtil do papel */
.notebook-paper::before {
    content: "";
    position: absolute;
    inset: 0;

    z-index: 0;
    pointer-events: none;

    opacity: .16;

    background-image: radial-gradient(
        rgba(80,60,35,.07) .6px,
        transparent .6px
    );

    background-size: 8px 8px;
}

/* Margem vertical à direita */
.notebook-paper::after {
    content: "";
    position: absolute;

    top: 0;
    bottom: 0;
    right: 24px;

    width: 2px;

    background: rgba(198,95,95,.26);

    pointer-events: none;
    z-index: 2;
}

/* =========================================
   IDENTIFICAÇÃO
========================================= */

.notebook-tag {
    position: relative;
    z-index: 1;

    display: inline-block;

    padding: 7px 11px;
    margin-bottom: 18px;

    border-radius: 999px;

    background: rgba(30,61,53,.08);
    border: 1px solid rgba(30,61,53,.10);

    color: #48685C;

    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

/* =========================================
   CABEÇALHO - SEM LINHAS
========================================= */

.notebook-header {
    position: relative;
    z-index: 1;

    margin-bottom: 24px;
}

.notebook-kicker {
    margin: 0 0 6px;

    color: #8B775C;

    font-size: 12px;
    font-weight: 700;
    font-style: italic;
}

.notebook-header h3 {
    margin: 0 0 12px;
    max-width: 440px;

    color: #1E3D35;

    font-size: 28px;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -.045em;
}

.notebook-subtitle {
    margin: 0;
    max-width: 440px;

    color: #5F6F67;

    font-size: 13px;
    line-height: 1.65;
}

/* =========================================
   ÁREA DE APONTAMENTOS
========================================= */

.notebook-lines {
    position: relative;
    z-index: 1;

    width: 100%;
    margin: 0;
    padding: 0;

    background: transparent;
}

/*
   Cada apontamento tem a sua própria grelha.
   Isto evita desalinhamentos quando o texto
   ocupa mais linhas em ecrãs pequenos.
*/

.note-row {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    column-gap: 12px;

    align-items: start;

    min-height: 96px;
    padding: 0 10px 32px 0;

    position: relative;

    background-image: repeating-linear-gradient(
        to bottom,
        transparent 0,
        transparent 31px,
        rgba(120,155,190,.30) 31px,
        rgba(120,155,190,.30) 32px
    );

    background-size: 100% 32px;
}

/* =========================================
   NUMERAÇÃO
========================================= */

.note-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 28px;
    height: 28px;

    margin-top: 2px;

    border-radius: 50%;

    background: #E6DDD0;
    border: 1px solid rgba(139,119,92,.16);

    color: #7A6245;

    font-size: 11px;
    font-weight: 800;

    box-shadow:
        inset 0 1px rgba(255,255,255,.70);
}

/* =========================================
   TEXTO DOS APONTAMENTOS
========================================= */

.note-content {
    min-width: 0;
}

/* Título ocupa uma linha de 32px */
.note-content strong {
    display: block;

    margin: 0;
    padding: 0;

    color: #1F4138;

    font-size: 14px;
    font-weight: 800;
    line-height: 32px;
    letter-spacing: -.02em;
}

/* Descrição acompanha a grelha */
.note-content p {
    display: block;

    margin: 0;
    padding: 0;

    color: #617167;

    font-size: 12px;
    line-height: 32px;
}

/*
   O padding inferior de 32px cria
   uma linha vazia após o conteúdo.
   A altura cresce automaticamente
   quando o texto ocupa mais linhas.
*/

/* =========================================
   NOTA INFERIOR
========================================= */

.notebook-footer-note {
    position: relative;
    z-index: 1;

    margin-top: 16px;

    color: #7D6C55;

    font-size: 12px;
    font-style: italic;
    line-height: 1.6;
}

/* =========================================
   LEGENDA EXTERIOR
========================================= */

.notebook-hero .preview-label {
    margin-top: 20px;

    color: var(--sage, #6C8A7A);

    text-align: center;
    font-size: 11px;
    line-height: 1.5;
}

/* =========================================
   RESPONSIVO - TABLET
========================================= */

@media (max-width: 820px) {

    .notebook-hero {
        max-width: 560px;
    }

    .notebook-paper {
        padding: 28px 36px 24px 22px;
    }

    .notebook-header h3 {
        font-size: 27px;
    }
}

/* =========================================
   RESPONSIVO - MOBILE
========================================= */

@media (max-width: 590px) {

    .notebook-hero {
        max-width: 100%;
    }

    .notebook-card {
        filter: drop-shadow(
            0 16px 30px rgba(30,61,53,.12)
        );
    }

    .notebook-card::before {
        inset: 8px 8px -6px 8px;
        transform: rotate(-1deg);
        border-radius: 12px;
    }

    .notebook-paper {
        padding: 24px 32px 22px 16px;
        border-radius: 12px;
    }

    .notebook-paper::after {
        right: 18px;
    }

    .notebook-tag {
        font-size: 9px;
        padding: 6px 10px;
        margin-bottom: 15px;
    }

    .notebook-header {
        margin-bottom: 20px;
    }

    .notebook-kicker {
        font-size: 11px;
    }

    .notebook-header h3 {
        font-size: 23px;
        line-height: 1.18;
    }

    .notebook-subtitle {
        font-size: 12px;
        line-height: 1.65;
    }

    .notebook-lines {
        margin: 0;
        padding: 0;
    }

    .note-row {
        grid-template-columns: 27px minmax(0, 1fr);
        column-gap: 8px;

        min-height: 96px;
        padding: 0 3px 32px 0;
    }

    .note-number {
        width: 25px;
        height: 25px;
        font-size: 10px;
    }

    .note-content strong {
        font-size: 12px;
        line-height: 32px;
    }

    .note-content p {
        font-size: 11px;
        line-height: 32px;
    }

    .notebook-footer-note {
        margin-top: 12px;
        font-size: 11px;
    }

    .notebook-hero .preview-label {
        font-size: 10px;
    }
}
