.canilleras-page { overflow: clip; }
.canilleras-page section { padding-block: var(--space-9); }
.canilleras-page .container { width: min(100%, calc(75rem + (var(--container-padding) * 2))); }
.canilleras-hero { position: relative; padding-block: var(--space-8) !important; background-image: linear-gradient(125deg, rgb(255 255 255 / 8%) 1px, transparent 1px); background-size: 78px 78px; }
.canilleras-hero__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-6); align-items: center; min-height: 32.5rem; }
.canilleras-hero__content { min-width: 0; max-width: 33.125rem; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.canilleras-hero__content > * { margin: 0; }
.canilleras-breadcrumbs { display: flex; width: 100%; min-width: 0; gap: var(--space-2); color: var(--color-ivory); font-size: var(--font-size-sm); }
.canilleras-hero__eyebrow { color: var(--color-lime); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); letter-spacing: var(--tracking-label); line-height: var(--line-height-xs); }
.canilleras-hero h1 { color: var(--color-white); font-size: clamp(3rem, 5.3vw, 4rem); }
.canilleras-hero__lead { max-width: 31.25rem; color: var(--color-ivory); font-size: var(--font-size-lg); line-height: var(--line-height-lg); }
.canilleras-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); }
.canilleras-hero__size-link { min-height: 3rem; display: inline-flex; align-items: center; color: var(--color-white); font-weight: var(--font-weight-semibold); }
.canilleras-hero__note { width: 100%; max-width: 26.25rem; display: flex; gap: var(--space-3); padding-top: var(--space-4); border-top: 2px solid var(--color-lime); color: var(--color-ivory); }
.canilleras-hero__note svg { width: 1.5rem; min-width: 1.5rem; height: 1.5rem; fill: none; stroke: var(--color-lime); stroke-width: 1.75; }
.canilleras-hero__note p { margin: 0; font-size: var(--font-size-sm); line-height: var(--line-height-sm); }
.canilleras-hero__media, .canilleras-closing__media { width: 100%; min-width: 0; margin: 0; overflow: hidden; border-radius: var(--radius-panel); }
.canilleras-hero__media { height: 27.5rem; }
.canilleras-hero__media img, .canilleras-closing__media img { width: 100%; height: 100%; object-fit: cover; }
.canilleras-types__header { width: min(100%, 35rem); min-width: 0; }
.canilleras-types__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.canilleras-type-card { min-width: 0; display: flex; flex-direction: column; border: var(--border-default); border-radius: var(--radius-card); overflow: hidden; background: var(--color-white); transition: border-color var(--transition-fast), box-shadow var(--transition-fast); }
.canilleras-type-card:hover { border-color: var(--color-charcoal); box-shadow: var(--shadow-elevated); }
.canilleras-type-card > img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.canilleras-type-card__body { min-width: 0; display: flex; flex: 1; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: var(--space-5); }
.canilleras-type-card__body > * { margin: 0; }
.canilleras-type-card__label { color: var(--color-pitch); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); letter-spacing: var(--tracking-label); }
.canilleras-type-card__body h3 { font-size: var(--font-size-xl); }
.canilleras-type-card__body a { min-height: 2.75rem; display: inline-flex; align-items: center; margin-top: auto; font-weight: var(--font-weight-bold); }
.canilleras-catalog__header { width: min(100%, 38.75rem); min-width: 0; }
.canilleras-storefront { display: grid; grid-template-columns: minmax(14rem, 3fr) minmax(0, 9fr); gap: var(--space-5); align-items: start; }
.canilleras-filters { min-width: 0; display: grid; grid-template-columns: 1fr; gap: var(--space-3); padding: var(--space-5); border: var(--border-default); border-radius: var(--radius-card); background: var(--color-white); }
.canilleras-filters__title { display: flex; justify-content: space-between; align-items: center; gap: var(--space-3); }
.canilleras-filters__title h3 { margin: 0; font-size: var(--font-size-xl); }
.canilleras-filters__title button { min-width: 0; min-height: 2.75rem; padding: var(--space-2); background: transparent; color: var(--color-pitch); text-decoration: underline; }
.canilleras-filters__title button:hover { background: transparent; color: var(--color-charcoal); transform: none; }
.canilleras-filter-field { min-width: 0; }
.canilleras-filter-field label { margin-bottom: var(--space-1); }
.canilleras-available { display: flex; align-items: center; gap: var(--space-2); min-height: 2.75rem; margin: 0; }
.canilleras-results-area { min-width: 0; display: flex; flex-direction: column; gap: var(--space-5); }
.canilleras-catalog-toolbar { display: flex; justify-content: space-between; align-items: end; gap: var(--space-4); padding-bottom: var(--space-3); border-bottom: var(--border-default); }
.canilleras-catalog-toolbar > * { min-width: 0; }
.canilleras-catalog-toolbar p { margin: 0; font-weight: var(--font-weight-semibold); }
.canilleras-catalog-toolbar label { margin-bottom: var(--space-1); }
.canilleras-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); }
.canilleras-product-card { position: relative; min-width: 0; display: flex; flex-direction: column; border: var(--border-default); border-radius: var(--radius-card); overflow: hidden; background: var(--color-white); transition: border-color var(--transition-fast), box-shadow var(--transition-fast); }
.canilleras-product-card:hover { border-color: var(--color-charcoal); box-shadow: var(--shadow-elevated); }
.canilleras-product-card__favorite { position: absolute; z-index: 1; top: var(--space-3); right: var(--space-3); width: 2.75rem; min-width: 2.75rem; height: 2.75rem; min-height: 2.75rem; padding: 0; border: var(--border-default); border-radius: 50%; background: var(--color-white); font-size: 1.5rem; }
.canilleras-product-card__image { width: 100%; min-width: 0; height: 13rem; padding: var(--space-4); background: var(--color-ivory); }
.canilleras-product-card__image img { width: 100%; height: 100%; object-fit: contain; }
.canilleras-product-card__body { min-width: 0; display: flex; flex: 1; flex-direction: column; align-items: flex-start; gap: var(--space-2); padding: var(--space-4); }
.canilleras-product-card__body > * { margin: 0; }
.canilleras-product-card h3 { font-size: var(--font-size-xl); }
.canilleras-product-card__technical { width: 100%; color: var(--color-muted); font-size: var(--font-size-xs); }
.canilleras-product-card__actions { width: 100%; min-width: 0; display: grid; grid-template-columns: 1fr; gap: var(--space-2); margin-top: auto; padding-top: var(--space-2); }
.canilleras-product-card__actions button { width: 100%; }
.canilleras-empty { padding: var(--space-6); border: var(--border-default); border-radius: var(--radius-card); background: var(--color-white); }
.canilleras-empty h3, .canilleras-empty p { margin-bottom: var(--space-2); }
.canilleras-empty p:last-child { margin-bottom: 0; }
.canilleras-attributes__header { width: min(100%, 37.5rem); min-width: 0; }
.canilleras-attributes__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); }
.canilleras-attribute-card { min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-3); padding: var(--space-5); background: var(--color-ivory); color: var(--color-charcoal); }
.canilleras-attribute-card > span { color: var(--color-pitch); font-family: var(--font-heading); font-size: 2.5rem; font-weight: var(--font-weight-bold); line-height: .9; }
.canilleras-attribute-card h3 { color: var(--color-charcoal); font-size: var(--font-size-xl); }
.canilleras-attribute-card p { margin-bottom: 0; font-size: var(--font-size-sm); }
.canilleras-attribute-card--dark { background: #1d3d51; color: var(--color-white); }
.canilleras-attribute-card--dark > span { color: var(--color-lime); }
.canilleras-attribute-card--dark h3 { color: var(--color-white); }
.canilleras-attributes__media { width: 100%; margin: var(--space-5) 0 0; overflow: hidden; border-radius: var(--radius-panel); }
.canilleras-attributes__media img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.canilleras-size-guide__header { width: min(100%, 40rem); min-width: 0; }
.canilleras-size-guide__steps { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.canilleras-step { min-width: 0; display: flex; flex-direction: column; gap: var(--space-4); }
.canilleras-step > img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--radius-card); }
.canilleras-step__body { min-width: 0; }
.canilleras-step__body > span { display: block; margin-bottom: var(--space-2); color: var(--color-pitch); font-family: var(--font-heading); font-size: 2.25rem; font-weight: var(--font-weight-bold); line-height: 1; }
.canilleras-step__body h3 { font-size: var(--font-size-xl); }
.canilleras-step__body p { margin-bottom: 0; }
.canilleras-size-guide__link { min-height: 2.75rem; display: inline-flex; align-items: center; margin-top: var(--space-5); font-weight: var(--font-weight-bold); }
.canilleras-closing { padding-block: var(--space-8) !important; }
.canilleras-closing__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-6); align-items: stretch; }
.canilleras-closing__content { min-width: 0; max-width: 31.875rem; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.canilleras-closing__content > * { margin: 0; }
.canilleras-closing__content p:not(.eyebrow) { color: var(--color-ivory); }
.canilleras-checklist { width: 100%; display: flex; flex-direction: column; gap: var(--space-3); padding: 0 0 0 var(--space-4); margin: 0; list-style: none; border-left: 2px solid var(--color-lime); }
.canilleras-checklist li { min-width: 0; display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); gap: var(--space-2); color: var(--color-ivory); }
.canilleras-checklist strong { color: var(--color-lime); }
.canilleras-checklist li::marker { content: ''; }
.canilleras-closing__media { min-height: 24rem; }
.canilleras-product-dialog { width: min(60rem, calc(100% - 2.5rem)); max-height: min(90vh, 50rem); padding: 0; border: 0; border-radius: var(--radius-panel); box-shadow: var(--shadow-elevated); }
.canilleras-product-dialog::backdrop { background: rgb(11 43 36 / 72%); }
.canilleras-product-dialog__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.canilleras-product-dialog__image { min-width: 0; min-height: 30rem; padding: var(--space-6); background: var(--color-ivory); }
.canilleras-product-dialog__image img { width: 100%; height: 100%; object-fit: contain; }
.canilleras-product-dialog__content { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: var(--space-6); }
.canilleras-product-dialog__content > * { margin: 0; }
.canilleras-product-dialog__close { align-self: flex-end; min-width: 2.75rem; min-height: 2.75rem; padding: var(--space-2); border: var(--border-default); background: var(--color-white); }
.canilleras-product-dialog__content dl { width: 100%; margin: 0; border-top: var(--border-default); }
.canilleras-product-attribute { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-3); padding: var(--space-2) 0; border-bottom: var(--border-default); }
.canilleras-product-attribute dt { font-weight: var(--font-weight-bold); }
.canilleras-product-attribute dd { margin: 0; text-align: right; }
.canilleras-dialog-field { width: 100%; min-width: 0; }
.canilleras-dialog-status { min-height: 1.5rem; color: var(--color-muted); font-size: var(--font-size-sm); }
@media (max-width: 64.9375rem) { .canilleras-storefront { grid-template-columns: 1fr; } .canilleras-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); } .canilleras-filter-field--wide, .canilleras-filters__title { grid-column: 1 / -1; } .canilleras-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .canilleras-attributes__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 57.4375rem) { .canilleras-types__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .canilleras-size-guide__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } .canilleras-step:nth-child(3) { grid-column: 1 / -1; width: calc((100% - var(--space-5)) / 2); } }
@media (max-width: 51.25rem) { .canilleras-hero__grid, .canilleras-closing__grid { grid-template-columns: 1fr; } .canilleras-hero__content, .canilleras-closing__content { max-width: 100%; } .canilleras-hero__media { height: auto; aspect-ratio: 4 / 5; } .canilleras-closing__media { min-height: 0; aspect-ratio: 4 / 5; } }
@media (max-width: 43.6875rem) { .canilleras-page section { padding-block: var(--space-8); } .canilleras-filters { grid-template-columns: 1fr; } .canilleras-filter-field--wide, .canilleras-filters__title { grid-column: auto; } .canilleras-catalog-toolbar { align-items: stretch; flex-direction: column; } .canilleras-product-grid { grid-template-columns: 1fr; } .canilleras-product-card__image { height: 18rem; } }
@media (max-width: 38.6875rem) { .canilleras-hero { padding-block: var(--space-6) !important; } .canilleras-hero__grid { gap: var(--space-5); } .canilleras-hero h1 { font-size: 2.5rem; } .canilleras-types__grid, .canilleras-attributes__grid, .canilleras-size-guide__steps { grid-template-columns: 1fr; } .canilleras-step:nth-child(3) { grid-column: auto; width: auto; } .canilleras-attribute-card { padding: var(--space-4); } .canilleras-product-dialog { width: calc(100% - 1.5rem); } .canilleras-product-dialog__layout { grid-template-columns: 1fr; } .canilleras-product-dialog__image { min-height: 18rem; } .canilleras-product-dialog__content { padding: var(--space-4); } }
@media (prefers-reduced-motion: reduce) { .canilleras-page *, .canilleras-page *::before, .canilleras-page *::after { transition: none !important; } }